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 2011/09/27 15:57:06 UTC

svn commit: r1176388 - /incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java

Author: andy
Date: Tue Sep 27 13:57:06 2011
New Revision: 1176388

URL: http://svn.apache.org/viewvc?rev=1176388&view=rev
Log:
Fix for propery functions not in default graph.

Modified:
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java?rev=1176388&r1=1176387&r2=1176388&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java Tue Sep 27 13:57:06 2011
@@ -25,6 +25,7 @@ import com.hp.hpl.jena.sparql.algebra.op
 import com.hp.hpl.jena.sparql.algebra.op.OpDatasetNames ;
 import com.hp.hpl.jena.sparql.algebra.op.OpGraph ;
 import com.hp.hpl.jena.sparql.algebra.op.OpPath ;
+import com.hp.hpl.jena.sparql.algebra.op.OpPropFunc ;
 import com.hp.hpl.jena.sparql.algebra.op.OpQuadPattern ;
 import com.hp.hpl.jena.sparql.algebra.op.OpTable ;
 import com.hp.hpl.jena.sparql.core.Quad ;
@@ -75,7 +76,7 @@ public class AlgebraQuad extends Transfo
             Node n = stack.pop() ;
         }
     }
-
+
     private static class TransformQuadGraph extends TransformCopy
     {
         private Stack<Node> tracker ;
@@ -86,6 +87,7 @@ public class AlgebraQuad extends Transfo
         @Override
         public Op transform(OpGraph opGraph, Op op)
         {
+            // Could just leave the (graph ) in place always - just rewrite BGPs. 
             boolean noPattern = false ;
             
             if ( OpBGP.isBGP(op) )
@@ -113,6 +115,15 @@ public class AlgebraQuad extends Transfo
             // have been converted to quads.
             return op ;
         }
+        
+        @Override
+        public Op transform(OpPropFunc opPropFunc, Op subOp)
+        {
+            if ( opPropFunc.getSubOp() != subOp )
+                opPropFunc = new OpPropFunc(opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), opPropFunc.getObjectArgs(), subOp) ;
+            // Put the (graph) back round it so the property function works on the named graph.
+            return new OpGraph(getNode() , opPropFunc) ;
+        }
         
         @Override
         public Op transform(OpPath opPath)