You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/09/06 17:52:33 UTC
[03/10] jena git commit: Fix .equals
Fix .equals
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/92106286
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/92106286
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/92106286
Branch: refs/heads/master
Commit: 921062862d974fb228f3f5460c0f4ced10ab9e9f
Parents: 6ed9cdd
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Sep 5 21:42:13 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Sep 5 21:42:13 2015 +0100
----------------------------------------------------------------------
.../jena/sparql/algebra/op/OpPropFunc.java | 21 ++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/92106286/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpPropFunc.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpPropFunc.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpPropFunc.java
index a124930..e79df00 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpPropFunc.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpPropFunc.java
@@ -18,12 +18,15 @@
package org.apache.jena.sparql.algebra.op;
+import java.util.List ;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Transform ;
import org.apache.jena.sparql.pfunction.PropFuncArg ;
import org.apache.jena.sparql.sse.Tags ;
+import org.apache.jena.sparql.util.Iso ;
import org.apache.jena.sparql.util.NodeIsomorphismMap ;
/** Property functions (or any OpBGP replacement)
@@ -83,11 +86,25 @@ public class OpPropFunc extends Op1
{
if ( ! ( other instanceof OpPropFunc ) ) return false ;
OpPropFunc procFunc = (OpPropFunc)other ;
-
-
+ if ( ! isomorphic(getSubjectArgs(), procFunc.getSubjectArgs(), labelMap) )
+ return false ;
+ if ( ! isomorphic(getObjectArgs(), procFunc.getObjectArgs(), labelMap) )
+ return false ;
return getSubOp().equalTo(procFunc.getSubOp(), labelMap) ;
}
+ private static boolean isomorphic(PropFuncArg pfa1, PropFuncArg pfa2, NodeIsomorphismMap labelMap) {
+ if ( pfa1 == null && pfa2 == null )
+ return true ;
+ if ( pfa1 == null ) return false ;
+ if ( pfa2 == null ) return false ;
+
+ List<Node> list1 = pfa1.getArgList() ;
+ List<Node> list2 = pfa2.getArgList() ;
+
+ return Iso.isomorphicNodes(list1, list2, labelMap) ;
+ }
+
@Override
public String getName()
{