return propsDiffCount(g,o1, o2);
}
+ /**
+ * Compares resources based on L0.InstaceOf relations.
+ * If there are no L0.InstanceOf relations, uses ResourceComparator for comparison.
+ *
+ * @param g
+ * @param r1
+ * @param r2
+ * @return
+ * @throws DatabaseException
+ */
protected boolean compareType(ReadGraph g,Resource r1, Resource r2) throws DatabaseException {
Layer0 l0 = Layer0.getInstance(g);
rs1.addAll(g.getObjects(r1, l0.InstanceOf));
return false;
}
Comparator<Resource> rcomp = getComparator().getResourceComparator();
+ if (rs1.size() == 0) {
+ return rcomp.compare(r1, r2) == 0;
+ }
+
getComparator().sortResource(rs1, rs2);
for (int i = 0; i < rs1.size(); i++) {
return true;
}
+
protected int propsDiffCount(ReadGraph g, Resource r1, Resource r2) throws DatabaseException {
Layer0 l0 = Layer0.getInstance(g);
ArrayList<Statement> ss1 = new ArrayList<Statement>();
boolean b2 = g.hasValue(s2.getObject());
if (b1 == b2) {
if (b1) {
-// Object v1 = g.getValue(s1.getObject());
-// Object v2 = g.getValue(s2.getObject());
-// boolean eq = GraphComparator.compareValue(v1, v2);
boolean eq = GraphComparator.compareValue(g, l0 , s1.getObject(), s2.getObject());
-
if (!eq) {
count++;
}
- //System.out.println("Prop count values " + v1 + " " + v2);
} else {
count += propsDiffCount(g,s1.getObject(), s2.getObject());
}