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)