public  HashMap<String,HashMap<String,PropertyMapping>> classify ( HashMap<String,HashMap<String,PropertyMapping>> propertyMapping){
		for (Entry<String,HashMap<String,PropertyMapping>> e: propertyMapping.entrySet()){
			for (Entry<String,PropertyMapping> e2:e.getValue().entrySet()){
				String cat = classMap.get(e2.getKey());
				String newValue; 
				String oldValue; 
				
				
				if (!this.notSmallEditCategories.contains(e2.getKey())){
					newValue = (String) e2.getValue().getNewValue();
					oldValue = (String) e2.getValue().getOldValue();
					float sim = Measures.editDistance(newValue,oldValue);
					
					if (sim<SMALL_THRESH){
						cat = CategoryConstants.EDIT;
						e2.getValue().setRelevance(cat);
					
						continue;
					}
				}
				
				switch (cat){
				case CategoryConstants.SEMANTIC:
					if (e2.getValue().getNewValue()!= null && e2.getValue().getOldValue()!=null)
					if (e2.getValue().getNewValue().toString().startsWith(
							e2.getValue().getOldValue().toString())){
						cat= CategoryConstants.SEMANTIC_SPEC;
					}
					break;
				}
				e2.getValue().setRelevance(cat);
			}
		}
		return propertyMapping;
	}