/** * Equality override - used so that TriplePattern variants (same to within variable renaming) test as equals */ @Override public boolean equals(Object o) { // return o instanceof TriplePattern && // subject.equals(((TriplePattern)o).subject) && // predicate.equals(((TriplePattern)o).predicate) && // object.equals(((TriplePattern)o).object); return o instanceof TriplePattern && nodeEqual(subject, ((TriplePattern)o).subject) && nodeEqual(predicate, ((TriplePattern)o).predicate) && nodeEqual(object, ((TriplePattern)o).object); }