@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Distinct) ) return false; P_Distinct other = (P_Distinct)path2; return getSubPath().equalTo(other.getSubPath(), isoMap); }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrMore1) ) return false ; P_ZeroOrMore1 other = (P_ZeroOrMore1)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_OneOrMore1) ) return false ; P_OneOrMore1 other = (P_OneOrMore1)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrMoreN) ) return false ; P_ZeroOrMoreN other = (P_ZeroOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Inverse) ) return false; P_Inverse other = (P_Inverse)path2; return getSubPath().equalTo(other.getSubPath(), isoMap); }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_OneOrMoreN) ) return false ; P_OneOrMoreN other = (P_OneOrMoreN)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_ZeroOrOne) ) return false ; P_ZeroOrOne other = (P_ZeroOrOne)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Mod) ) return false; P_Mod other = (P_Mod)path2; return other.min == min && other.max == max && getSubPath().equalTo(other.getSubPath(), isoMap); }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Shortest) ) return false ; P_Shortest other = (P_Shortest)path2 ; return getSubPath().equalTo(other.getSubPath(), isoMap) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_FixedLength) ) return false; P_FixedLength other = (P_FixedLength)path2; return other.count == count && getSubPath().equalTo(other.getSubPath(), isoMap); }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( !(path2 instanceof P_Multi) ) return false; P_Multi other = (P_Multi)path2; return getSubPath().equalTo(other.getSubPath(), isoMap); }
public static boolean triplePathIso(TriplePath tp1, TriplePath tp2, NodeIsomorphismMap isoMap) { if ( tp1.isTriple() ^ tp2.isTriple() ) return false ; if ( tp1.isTriple() ) return Iso.tripleIso(tp1.asTriple(), tp2.asTriple(), isoMap) ; else return Iso.nodeIso(tp1.getSubject(), tp2.getSubject(), isoMap) && Iso.nodeIso(tp1.getObject(), tp2.getObject(), isoMap) && tp1.getPath().equalTo(tp2.getPath(), isoMap) ; }