@Override
public int compare(ReadGraph g, Resource o1, Resource o2, boolean local) throws DatabaseException {
- if (local)
- return new TypeComparator().compare(g, o1, o2);
- else
- return compare(g, o1, o2);
+ if (o1.equals(o2)) {
+ return EXACT_MATCH;
+ }
+ return compare(g, o1, o2);
}
@Override
public int compare(ReadGraph g, Resource o1, Resource o2) throws DatabaseException{
if (!compareType(g,o1, o2)) {
- return (Integer.MAX_VALUE);
+ return NO_MATCH;
}
return propsDiffCount(g,o1, o2);
}
return false;
}
}
+ if (rs1.size() == 1) {
+ // Check for enumeration type. Without this enumeration instances could be mixed together.
+ if (g.hasStatement(rs1.get(0), l0.Enumeration, rs1.get(0))) {
+ if (!r1.equals(r2)) {
+ rs1.clear();
+ rs2.clear();
+ return false;
+ }
+ }
+ }
rs1.clear();
rs2.clear();