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 2016/07/09 09:38:57 UTC

[01/18] jena git commit: java.util.logging - look for file "logging.properties" else default.

Repository: jena
Updated Branches:
  refs/heads/master dea868fe4 -> 10284133f


java.util.logging - look for file "logging.properties" else default.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/f8154a9a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/f8154a9a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/f8154a9a

Branch: refs/heads/master
Commit: f8154a9a0880d67058aa3126a60dc1caf01f87bc
Parents: dea868f
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 1 21:48:23 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 1 21:48:23 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/atlas/logging/LogCtl.java  | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f8154a9a/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java b/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
index b886fd6..732d37b 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
@@ -19,6 +19,9 @@
 package org.apache.jena.atlas.logging;
 
 import java.io.* ;
+import java.nio.file.Files ;
+import java.nio.file.Path ;
+import java.nio.file.Paths ;
 import java.util.Properties ;
 
 import org.apache.jena.atlas.AtlasException ;
@@ -192,8 +195,9 @@ public class LogCtl {
     // ---- java.util.logging - because that's always present.
     static String defaultProperties = StrUtils.strjoinNL
         ("handlers=org.apache.jena.atlas.logging.java.ConsoleHandlerStdout"
-         ,"org.apache.atlas.jena.logging.java.ConsoleHandlerStdout.level=INFO"
-         ,"java.util.logging.ConsoleHandler.formatter=org.apache.atlas.logging.java.TextFormatter"
+        ,"org.apache.atlas.jena.logging.java.ConsoleHandlerStdout.level=INFO"
+        ,"org.apache.jena.atlas.logging.java.ConsoleHandlerStdout.formatter=org.apache.jena.atlas.logging.java.TextFormatter"
+        //,"java.util.logging.ConsoleHandler.formatter=org.apache.jena.atlas.logging.java.TextFormatter"
         ) ;
 
     /**
@@ -251,8 +255,14 @@ public class LogCtl {
         System.setProperty("log4j.configuration", "set") ;
     }
 
+    private static String JUL_LOGGING = "logging.properties" ;
+    
     public static void setJavaLogging() {
-        setJavaLogging("logging.properties") ;
+        Path p = Paths.get(JUL_LOGGING) ;
+        if ( Files.exists(p) )
+            setJavaLogging("logging.properties") ;
+        else
+            setJavaLoggingDft();
     }
 
     public static void setJavaLogging(String file) {


[12/18] jena git commit: Tidy containsGraph

Posted by an...@apache.org.
Tidy containsGraph

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/420e95f5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/420e95f5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/420e95f5

Branch: refs/heads/master
Commit: 420e95f5e2b1de22796cff00860bbfd935640a58
Parents: e7e13f8
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:35:23 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:35:23 2016 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/420e95f5/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
index fcd8f44..ce1786e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
@@ -129,7 +129,7 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads
     @Override
     // Empty graphs don't "exist" 
     public boolean containsGraph(Node graphNode) { 
-        if ( Quad.isDefaultGraphExplicit(graphNode) || Quad.isUnionGraph(graphNode)  )
+        if ( Quad.isDefaultGraph(graphNode) || Quad.isUnionGraph(graphNode)  )
             return true ;
         // Have to look explicitly, which is a bit of a nuisance.
         // But does not normally happen for GRAPH <g> because that's rewritten to quads.


[11/18] jena git commit: Merge branch 'master' into union-graph

Posted by an...@apache.org.
Merge branch 'master' into union-graph


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e7e13f8c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e7e13f8c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e7e13f8c

Branch: refs/heads/master
Commit: e7e13f8cd085f7d98e87c94df5a54b2bfd130775
Parents: 9ddfcca dea868f
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 18:13:21 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 18:13:21 2016 +0100

----------------------------------------------------------------------
 .../optimize/TransformFilterEquality.java       |   5 +-
 .../algebra/optimize/TS_Optimization.java       |   1 +
 .../optimize/TestTransformFilterEquality.java   | 232 +++++++++++++++++++
 .../algebra/optimize/TestTransformFilters.java  | 182 +--------------
 .../jena/tdb/base/file/BlockAccessBase.java     |   4 +-
 5 files changed, 239 insertions(+), 185 deletions(-)
----------------------------------------------------------------------



[05/18] jena git commit: Remove incorrect comment.

Posted by an...@apache.org.
Remove incorrect comment.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/193b1441
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/193b1441
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/193b1441

Branch: refs/heads/master
Commit: 193b1441500803d83cc37cd95f53f53e3534ff09
Parents: 1b5d0fc
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:47:24 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:47:24 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/algebra/TestTransformQuads.java     | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/193b1441/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformQuads.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformQuads.java
index 24d99e3..019b800 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformQuads.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformQuads.java
@@ -115,7 +115,6 @@ public class TestTransformQuads extends BaseTest
                                          "  (quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o)))"
                                          ) ; }
     
-    // Regression in toQuadForm() - currently disable as the test fails with an ARQInternalErrorException
     @Test public void quads33() { test ( "{ GRAPH ?g { { SELECT ?x WHERE { ?x ?p ?g } } } }",
                                           "(project (?x)",
                                           "  (quadpattern (quad ?g ?x ?/p ?/g)))") ; }


[10/18] jena git commit: JENA-1158: union default graph tests and clearup.

Posted by an...@apache.org.
JENA-1158: union default graph tests and clearup.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9ddfccac
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9ddfccac
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9ddfccac

Branch: refs/heads/master
Commit: 9ddfccac29b4d7dbc17c920035045846b38523cc
Parents: 145b713
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 18:05:38 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 18:05:38 2016 +0100

----------------------------------------------------------------------
 .../jena/sparql/core/DatasetGraphMap.java       |   8 +-
 .../jena/sparql/core/DatasetGraphMapLink.java   |   8 +-
 .../jena/sparql/engine/main/OpExecutor.java     |   4 -
 .../engine/main/iterator/QueryIterGraph.java    |   2 +-
 .../uniongraph/AbstractTestUnionTransform.java  |  95 --------
 .../algebra/uniongraph/Dev_TS_UnionGraph.java   |  35 ---
 .../algebra/uniongraph/TestUnionGraph.java      | 100 ---------
 .../uniongraph/TestUnionTransformQuads.java     |  34 ---
 .../uniongraph/TestUnionTransformTriples.java   |  33 ---
 .../org/apache/jena/sparql/core/TS_Core.java    |   2 +
 .../jena/sparql/core/TestSpecialGraphs.java     | 218 +++++++++++++++++++
 11 files changed, 235 insertions(+), 304 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
index 4679776..dc06ca7 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
@@ -32,6 +32,7 @@ import org.apache.jena.graph.Triple ;
 import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.sparql.ARQException ;
 import org.apache.jena.sparql.core.DatasetGraphFactory.GraphMaker ;
+import org.apache.jena.sparql.graph.GraphUnionRead ;
 
 /** Implementation of a {@code DatasetGraph} as an extensible set of graphs.
  *  Subclasses need to manage any implicit graph creation.
@@ -136,6 +137,11 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads
 
     @Override
     public Graph getGraph(Node graphNode) {
+        if ( Quad.isUnionGraph(graphNode) ) 
+            return new GraphUnionRead(this) ;
+        if ( Quad.isDefaultGraph(graphNode))
+            return getDefaultGraph() ;
+        // Not a special case.
         Graph g = graphs.get(graphNode);
         if ( g == null ) {
             g = getGraphCreate();
@@ -147,7 +153,7 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads
 
     /** Called from getGraph when a nonexistent graph is asked for.
      * Return null for "nothing created as a graph".
-     * Sub classes reimplement this or pr  
+     * Sub classes can reimplement this.  
      */
     protected Graph getGraphCreate() { 
         Graph g = graphMaker.create() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMapLink.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMapLink.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMapLink.java
index 4835aed..41f5169 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMapLink.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMapLink.java
@@ -26,6 +26,7 @@ import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.sparql.core.DatasetGraphFactory.GraphMaker ;
+import org.apache.jena.sparql.graph.GraphUnionRead ;
 
 /** Implementation of a DatasetGraph as an extensible set of graphs.
  *  <p>
@@ -138,11 +139,16 @@ public class DatasetGraphMapLink extends DatasetGraphCollection
 
     @Override
     public Graph getGraph(Node graphNode) {
+        if ( Quad.isUnionGraph(graphNode) ) 
+            return new GraphUnionRead(this) ;
+        if ( Quad.isDefaultGraph(graphNode))
+            return getDefaultGraph() ;
+        // Not a special case.
         Graph g = graphs.get(graphNode);
         if ( g == null ) {
             g = getGraphCreate();
             if ( g != null )
-                addGraph(graphNode, g);
+                graphs.put(graphNode, g);
         }
         return g;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
index d301a38..f97c5c1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
@@ -24,7 +24,6 @@ import java.util.List ;
 import java.util.Set ;
 
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.query.ARQ ;
 import org.apache.jena.query.QueryExecException ;
@@ -152,9 +151,6 @@ public class OpExecutor
             return execute(subOp, input, cxt2) ;
         }
 
-        if ( Quad.isUnionGraph(gn) )
-            Log.warn(this, "Not implemented yet: union default graph in general OpExecutor") ;
-
         // Bad news -- if ( Lib.equals(gn, Quad.tripleInQuad) ) {}
         return null ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java
index bd957f8..0d36902 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java
@@ -82,7 +82,7 @@ public class QueryIterGraph extends QueryIterRepeatApply
 
     protected static Iterator<Node> makeSources(DatasetGraph data, Binding b, Node graphVar) {
         Node n2 = resolve(b, graphVar) ;
-        if ( n2 != null && ! n2.isURI() )
+        if ( n2 != null && n2.isLiteral() ) 
             // Blank node or literal possible after resolving
             return Iter.nullIterator() ;
         

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/AbstractTestUnionTransform.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/AbstractTestUnionTransform.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/AbstractTestUnionTransform.java
deleted file mode 100644
index 1fc50bf..0000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/AbstractTestUnionTransform.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.uniongraph;
-
-import java.util.List ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.sparql.algebra.Algebra ;
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.junit.Test ;
-
-public abstract class AbstractTestUnionTransform extends BaseTest
-{
-    // Tests of patterns over the implicit union of all named graphs.
-    // Two sets - for triples and for quads
-    
-    // TODO need multiple triple pattern BGPs. 
-    
-    @Test public void union_1()
-    {
-        List<Binding> results = exec("(bgp (?s ?p ?o))") ;
-        assertEquals(2, results.size()) ;
-    }
-    
-    @Test public void union_2()
-    {
-        List<Binding> results = exec("(bgp (<s2> ?p ?o))") ;
-        assertEquals(1, results.size()) ;
-    }
-    
-    @Test public void union_3()
-    {
-        List<Binding> results = exec("(graph <g1> (bgp (<s1> ?p ?o)))") ;
-        assertEquals(1, results.size()) ;
-    }
-
-    @Test public void union_4()
-    {
-        List<Binding> results = exec("(graph <g1> (bgp (<s2> ?p ?o)))") ;
-        assertEquals(0, results.size()) ;
-    }
-
-    @Test public void union_5()
-    {
-        List<Binding> results = exec("(graph <g2> (bgp (<s2> ?p ?o)))") ;
-        assertEquals(1, results.size()) ;
-    }
-
-    @Test public void union_6()
-    {
-        List<Binding> results = exec("(graph <"+Quad.defaultGraphIRI+"> (bgp (<s2> ?p ?o)))") ;
-        assertEquals(0, results.size()) ;
-    }
-
-    @Test public void union_7()
-    {
-        List<Binding> results = exec("(graph <"+Quad.defaultGraphIRI+"> (bgp (<x2> ?p ?o)))") ;
-        assertEquals(3, results.size()) ;
-    }
- 
-//    @Test public void union_7()
-//    {
-//        List<Binding> results = exec("(graph <"+Quad.defaultGraphNodeGenerated+"> (bgp (<s2> ?p ?o)))") ;
-//        assertEquals(1, results.size()) ;
-//    }
-    
-    private List<Binding> exec(String pattern)
-    {
-        Op op = op(pattern) ;
-        QueryIterator qIter = Algebra.exec(op, TestUnionGraph.dsg1) ;
-        return  Iter.toList(qIter) ;
-    }
-    
-    protected abstract Op op(String pattern) ;
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/Dev_TS_UnionGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/Dev_TS_UnionGraph.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/Dev_TS_UnionGraph.java
deleted file mode 100644
index 6bffe16..0000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/Dev_TS_UnionGraph.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.uniongraph;
-
-import org.junit.runner.RunWith ;
-import org.junit.runners.Suite ;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses( {
-    TestUnionGraph.class
-    , TestUnionTransformTriples.class
-    , TestUnionTransformQuads.class
-})
-
-// Not active (hence does not get named TS_* because the POM names them for surefire tests) 
-
-public class Dev_TS_UnionGraph
-{ }
-

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
deleted file mode 100644
index b54f5df..0000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.uniongraph;
-
-import java.util.List ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.sparql.algebra.Algebra ;
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.sparql.sse.builders.BuilderGraph ;
-import org.junit.Test ;
-
-public class TestUnionGraph extends BaseTest
-{
-    static String x1 = StrUtils.strjoinNL("(dataset",
-                                         "  (graph (<s> <p> <o>) (<x> <p> <o>) (<x2> <p> <o1>) (<x2> <p> <o3>) (<x2> <p> <o4>))",
-                                         "  (graph <g1> (triple <s1> <p1> <o1>))",
-                                         "  (graph <g2> (triple <s2> <p2> <o2>))",
-                                         "  (graph <g3> (triple <s2> <p2> <o2>))", // Duplicate triple
-                                         ")") ;
-    static DatasetGraph dsg1 = BuilderGraph.buildDataset(SSE.parse(x1)) ;
-
-    static String x2 = StrUtils.strjoinNL("(dataset",
-                                         "  (graph (<s> <p1> 10) (<s> <p1> 11) (<s> <p2> 20) )",
-                                         "  (graph <g1> (<s1> <p1> <z>) (<z> <p2> 1) )",
-                                         "  (graph <g2> (<s1> <p1> <z>) (<z> <p2> 2) )",
-                                         "  (graph <g3> (<s>  <p1> 10))",
-                                         ")") ;
-    
-    static DatasetGraph dsg2 = BuilderGraph.buildDataset(SSE.parse(x2)) ;
-
-    @Test
-    public void union_graph_triples_1() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s2> ?p ?o)))", false, dsg1) ;
-        assertEquals(1, results.size()) ;
-    }
-
-    @Test
-    public void union_graph_triples_2() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<x2> ?p ?o)))", false, dsg1) ;
-        assertEquals(0, results.size()) ;
-    }
-
-    @Test
-    public void union_graph_quads_1() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s2> ?p ?o)))", true, dsg1) ;
-        assertEquals(1, results.size()) ;
-    }
-
-    @Test
-    public void union_graph_quads_2() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<x2> ?p ?o)))", true, dsg1) ;
-        assertEquals(0, results.size()) ;
-    }
-
-    // Patterns
-    @Test
-    public void union_graph_triples_10() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
-        assertEquals(2, results.size()) ;
-    }
-
-    @Test
-    public void union_graph_quads_10() {
-        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
-        assertEquals(2, results.size()) ;
-    }
-
-    static private List<Binding> exec(String pattern, boolean applyQuad, DatasetGraph dsg) {
-        Op op = SSE.parseOp(pattern) ;
-        if ( applyQuad )
-            op = Algebra.toQuadForm(op) ;
-        Op op2 = Algebra.unionDefaultGraph(op) ;
-        QueryIterator qIter = Algebra.exec(op, TestUnionGraph.dsg1) ;
-        return Iter.toList(qIter) ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
deleted file mode 100644
index 8477421..0000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.uniongraph;
-
-import org.apache.jena.sparql.algebra.Algebra ;
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.sse.SSE ;
-
-public class TestUnionTransformQuads extends AbstractTestUnionTransform  
-{
-    @Override
-    protected Op op(String pattern) {
-        Op op = SSE.parseOp(pattern) ;
-        op = Algebra.toQuadForm(op) ;
-        Op op2 = Algebra.unionDefaultGraph(op) ;
-        return op2 ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
deleted file mode 100644
index 5506480..0000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.uniongraph;
-
-import org.apache.jena.sparql.algebra.Algebra ;
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.sse.SSE ;
-
-public class TestUnionTransformTriples extends AbstractTestUnionTransform  
-{
-    @Override
-    protected Op op(String pattern) {
-        Op op = SSE.parseOp(pattern) ;
-        Op op2 = Algebra.unionDefaultGraph(op) ;
-        return op2 ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
index e31fe46..e17aed9 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
@@ -40,6 +40,8 @@ import org.junit.runners.Suite ;
     , TestDatasetGraphBaseFind_Mem.class
     , TestDatasetGraphBaseFindPattern_General.class
     , TestDatasetGraphBaseFindPattern_Mem.class
+    
+    , TestSpecialGraphs.class
 })
 
 public class TS_Core

http://git-wip-us.apache.org/repos/asf/jena/blob/9ddfccac/jena-arq/src/test/java/org/apache/jena/sparql/core/TestSpecialGraphs.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestSpecialGraphs.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestSpecialGraphs.java
new file mode 100644
index 0000000..613994f
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestSpecialGraphs.java
@@ -0,0 +1,218 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.core;
+
+import static org.apache.jena.sparql.core.TestSpecialGraphs.Mode.QUADS ;
+import static org.apache.jena.sparql.core.TestSpecialGraphs.Mode.TRIPLES ;
+import static org.junit.Assert.assertEquals ;
+
+import java.util.Arrays ;
+import java.util.Collection ;
+import java.util.List ;
+
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.lib.Creator ;
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.sparql.algebra.Algebra ;
+import org.apache.jena.sparql.algebra.Op ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.sse.SSE ;
+import org.apache.jena.sparql.sse.builders.BuilderGraph ;
+import org.junit.Test ;
+import org.junit.runner.RunWith ;
+import org.junit.runners.Parameterized ;
+import org.junit.runners.Parameterized.Parameters ;
+
+/** Test special graphs */
+@RunWith(Parameterized.class)
+public class TestSpecialGraphs {
+    @Parameters(name = "{index}: {0}")
+    public static Collection<Object[]> data() {
+        Creator<DatasetGraph> datasetGeneralMaker = ()-> DatasetGraphFactory.createGeneral() ; 
+        Creator<DatasetGraph> datasetTxnMemMaker  = ()-> DatasetGraphFactory.createTxnMem() ;
+        Creator<DatasetGraph> datasetMemMaker     = ()-> DatasetGraphFactory.create() ;
+        return Arrays.asList(new Object[][] {
+            { "General",  datasetGeneralMaker },
+            { "Plain",    datasetMemMaker} ,
+            { "TxnMem",   datasetTxnMemMaker}
+            });
+    }
+    
+    static enum Mode { TRIPLES, QUADS } 
+    
+    static String x1 = StrUtils.strjoinNL("(dataset",
+                                          "  (graph (<s> <p> <x>) (<x> <p> <o>) (<x2> <p> <o1>) (<x2> <p> <o3>) (<x2> <p> <o4>))",
+                                          "  (graph <g1> (<s1> <p1> <s1>) (<s1> <p1> <s2>))",
+                                          "  (graph <g2> (triple <s2> <p2> <o2>) (triple <s2> <p3> <o3>))",
+                                          "  (graph <g3> (triple <s2> <p2> <o2>))", // Duplicate triple
+                                          ")") ;
+    private DatasetGraph dsg ;
+    
+    public TestSpecialGraphs(String label, Creator<DatasetGraph> maker) {
+        this.dsg = BuilderGraph.buildDataset(maker.create(), SSE.parse(x1)) ;
+    }
+
+    @Test
+    public void union_dft_1t() {
+        union_dft_1(TRIPLES) ;
+    }
+    
+    @Test
+    public void union_dft_1q() {
+        union_dft_1(QUADS) ;
+    }
+    
+    private void union_dft_1(Mode mode) {
+        Op op = op("(bgp (?s ?p ?o))", mode) ;
+        List<Binding> results = exec(op) ;
+        assertEquals(5, results.size()) ;
+        Op op2 = Algebra.unionDefaultGraph(op) ;
+        List<Binding> results2 = exec(op2) ;
+        assertEquals(4, results2.size()) ;
+    }
+    
+    @Test
+    public void graph_union_1t() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph.getURI() + "> (bgp (<s2> ?p ?o)))", TRIPLES) ;
+        assertEquals(2, results.size()) ;
+    }
+
+    @Test
+    public void graph_union_1q() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph.getURI() + "> (bgp (<s2> ?p ?o)))", QUADS) ;
+        assertEquals(2, results.size()) ;
+    }
+
+    @Test
+    public void graph_union_2t() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph.getURI() + "> (bgp (<s1> ?p ?o) (?o ?q ?z)  ))", TRIPLES) ;
+        assertEquals(4, results.size()) ;
+    }
+
+    @Test
+    public void graph_union_2q() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph.getURI() + "> (bgp (<s1> ?p ?o) (?o ?q ?z)  ))", QUADS) ;
+        assertEquals(4, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_1t() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (<s2> ?p ?o)))", TRIPLES) ;
+        assertEquals(0, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_1q() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (<s2> ?p ?o)))", QUADS) ;
+        assertEquals(0, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_2t() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (<s> ?p ?o)))", TRIPLES) ;
+        assertEquals(1, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_2q() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (<s> ?p ?o)))", QUADS) ;
+        assertEquals(1, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_3t() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (?x ?p ?z) (?z ?q ?y) ))", TRIPLES) ;
+        assertEquals(1, results.size()) ;
+    }
+
+    @Test
+    public void graph_dft_3q() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphIRI.getURI() + "> (bgp (?x ?p ?z) (?z ?q ?y) ))", QUADS) ;
+        assertEquals(1, results.size()) ;
+    }
+
+    @Test
+    public void graph_dftg_1t() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphNodeGenerated.getURI() + "> (bgp (<s2> ?p ?o)))", TRIPLES) ;
+        assertEquals(0, results.size()) ;
+    }
+    
+    @Test
+    public void graph_dftg_2t() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphNodeGenerated.getURI() + "> (bgp (<x2> ?p ?o)))", TRIPLES) ;
+        assertEquals(3, results.size()) ;
+    }
+    
+    @Test
+    public void graph_dftg_1q() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphNodeGenerated.getURI() + "> (bgp (<s2> ?p ?o)))", QUADS) ;
+        assertEquals(0, results.size()) ;
+    }
+
+    @Test
+    public void graph_dftg_2q() {
+        List<Binding> results = exec("(graph <" + Quad.defaultGraphNodeGenerated.getURI() + "> (bgp (<x2> ?p ?o)))", QUADS) ;
+        assertEquals(3, results.size()) ;
+    }
+
+    @Test
+    public void direct_3t() {
+        List<Binding> results = exec("(graph <g1> (bgp (<s1> ?p ?o)))", TRIPLES) ;
+        assertEquals(2, results.size()) ;
+    }
+
+    @Test
+    public void direct_3q() {
+        List<Binding> results = exec("(graph <g1> (bgp (<s1> ?p ?o)))", QUADS) ;
+        assertEquals(2, results.size()) ;
+    }
+
+    @Test
+    public void direct_4() {
+        List<Binding> results = exec("(graph <g1> (bgp (<s2> ?p ?o)))", TRIPLES) ;
+        assertEquals(0, results.size()) ;
+    }
+
+    @Test
+    public void direct_5() {
+        List<Binding> results = exec("(graph <g2> (bgp (<s2> ?p ?o)))", TRIPLES) ;
+        assertEquals(2, results.size()) ;
+    }
+
+    private List<Binding> exec(String string, Mode mode) {
+        Op op = op(string, mode) ;
+        return exec(op) ;
+    }
+    
+    private List<Binding> exec(Op op) {
+        QueryIterator qIter = Algebra.exec(op, dsg) ;
+        return Iter.toList(qIter) ;
+    }
+
+    protected Op op(String pattern, Mode mode) {
+        Op op = SSE.parseOp(pattern) ;
+        if ( mode == Mode.QUADS )
+            op = Algebra.toQuadForm(op) ;
+        return op ;
+    }
+}


[02/18] jena git commit: Ensure initialized

Posted by an...@apache.org.
Ensure initialized

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/37239df2
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/37239df2
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/37239df2

Branch: refs/heads/master
Commit: 37239df2e2a367f8cf00d03dbba2083ebc3f9f97
Parents: f8154a9
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Jul 6 23:20:23 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Jul 6 23:20:23 2016 +0100

----------------------------------------------------------------------
 jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/37239df2/jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java
index 333ffde..c341e9f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/ExprUtils.java
@@ -42,13 +42,14 @@ import org.apache.jena.sparql.serializer.SerializationContext ;
 import org.apache.jena.sparql.sse.SSE ;
 import org.apache.jena.sparql.sse.SSEParseException ;
 import org.apache.jena.sparql.sse.builders.ExprBuildException ;
+import org.apache.jena.system.JenaSystem ;
 
 
 /** Misc support for Expr */
 
 public class ExprUtils
 {
- 
+    static { JenaSystem.init(); }
     public static Expr nodeToExpr(Node n)
     {
         if ( n.isVariable() )


[09/18] jena git commit: Add comments.

Posted by an...@apache.org.
Add comments.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/145b7139
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/145b7139
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/145b7139

Branch: refs/heads/master
Commit: 145b7139ac1024fb6007c130ca12494bedad297d
Parents: 65e1228
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:50:26 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:50:26 2016 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/jena/sparql/core/GraphView.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/145b7139/jena-arq/src/main/java/org/apache/jena/sparql/core/GraphView.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/GraphView.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/GraphView.java
index b3b2602..1e9d150 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/GraphView.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/GraphView.java
@@ -30,12 +30,17 @@ import org.apache.jena.shared.JenaException ;
 import org.apache.jena.shared.PrefixMapping ;
 import org.apache.jena.shared.impl.PrefixMappingImpl ;
 import org.apache.jena.sparql.SystemARQ ;
+import org.apache.jena.sparql.graph.GraphUnionRead ;
 import org.apache.jena.util.iterator.ExtendedIterator ;
 import org.apache.jena.util.iterator.WrappedIterator ;
 
 /** Implement a Graph as a view of the DatasetGraph.
  * 
  *  It maps graph operations to quad operations. 
+ *  
+ *  {@link GraphUnionRead} provides a union graph that does not assume quads, but loops on graphs.
+ *  
+ *  @see GraphUnionRead
  */ 
 
 public class GraphView extends GraphBase implements Sync
@@ -158,7 +163,4 @@ public class GraphView extends GraphBase implements Sync
     public void sync() {
         SystemARQ.sync(dsg);
     }
-    
-    // Need to call GraphBase.close() or sent the protected closed flag.
-    //@Override public void close() { super.close() ; }
 }


[06/18] jena git commit: Reformat.

Posted by an...@apache.org.
Reformat.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/ba00301f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/ba00301f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/ba00301f

Branch: refs/heads/master
Commit: ba00301f644d15783dd7fa39a6751c58e9603502
Parents: 193b144
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:48:07 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:48:07 2016 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/graph/GraphOps.java  | 43 ++++++++------------
 1 file changed, 16 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/ba00301f/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
index 6d52bdc..3911236 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
@@ -29,60 +29,49 @@ import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.Quad ;
 
 // Combine with Jena GraphUtils.
-public class GraphOps
-{
-    
-    public static boolean containsGraph(DatasetGraph dsg, Node gn)
-    {
-        // [[DynDS]]
-        if ( Quad.isDefaultGraph(gn))
+public class GraphOps {
+    public static boolean containsGraph(DatasetGraph dsg, Node gn) {
+        if ( Quad.isDefaultGraph(gn) )
             return true ;
-        if ( Quad.isUnionGraph(gn))
+        if ( Quad.isUnionGraph(gn) )
             return true ;
         return dsg.containsGraph(gn) ;
     }
-    
-    public static Graph getGraph(DatasetGraph dsg, Node gn)
-    {
-        // [[DynDS]]
+
+    public static Graph getGraph(DatasetGraph dsg, Node gn) {
         if ( gn == null )
             return dsg.getDefaultGraph() ;
         if ( Quad.isDefaultGraph(gn) )
             // Explicit or generated.
             return dsg.getDefaultGraph() ;
-        if ( Quad.isUnionGraph(gn))
+        if ( Quad.isUnionGraph(gn) )
             return unionGraph(dsg) ;
         return dsg.getGraph(gn) ;
     }
-    
-    public static Graph unionGraph(DatasetGraph dsg)
-    {
+
+    public static Graph unionGraph(DatasetGraph dsg) {
+        // Snapshot it now.
         List<Node> x = Iter.toList(dsg.listGraphNodes()) ;
         return new GraphUnionRead(dsg, x) ;
     }
 
-    public static void addAll(Graph g, Iterator<Triple> iter)
-    {
-        while(iter.hasNext())
+    public static void addAll(Graph g, Iterator<Triple> iter) {
+        while (iter.hasNext())
             g.add(iter.next()) ;
         Iter.close(iter) ;
     }
 
-    public static void addAll(Graph g, Iterable<Triple> iter)
-    {
+    public static void addAll(Graph g, Iterable<Triple> iter) {
         addAll(g, iter.iterator()) ;
     }
 
-    public static void deleteAll(Graph g, Iterator<Triple> iter)
-    {
-        while(iter.hasNext())
+    public static void deleteAll(Graph g, Iterator<Triple> iter) {
+        while (iter.hasNext())
             g.delete(iter.next()) ;
         Iter.close(iter) ;
     }
 
-    public static void deleteAll(Graph g, Iterable<Triple> iter)
-    {
+    public static void deleteAll(Graph g, Iterable<Triple> iter) {
         deleteAll(g, iter.iterator()) ;
     }
-
 }


[07/18] jena git commit: JENA-1158: Provide the case of the union being all named graphs.

Posted by an...@apache.org.
JENA-1158: Provide the case of the union being all named graphs.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cfa17c12
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cfa17c12
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cfa17c12

Branch: refs/heads/master
Commit: cfa17c12e0af352ee6e3a2ba5a614defc167e25f
Parents: ba00301
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:49:21 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:49:21 2016 +0100

----------------------------------------------------------------------
 .../jena/sparql/graph/GraphUnionRead.java       | 98 +++++++++++++-------
 1 file changed, 66 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/cfa17c12/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
index 13bfb24..3c4fb39 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
@@ -16,9 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.jena.sparql.graph;
+package org.apache.jena.sparql.graph ;
 
 import java.util.Collection ;
+import java.util.function.Consumer ;
 
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.iterator.IteratorConcat ;
@@ -26,54 +27,87 @@ import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
 import org.apache.jena.graph.impl.GraphBase ;
+import org.apache.jena.shared.AddDeniedException ;
+import org.apache.jena.shared.DeleteDeniedException ;
 import org.apache.jena.shared.PrefixMapping ;
 import org.apache.jena.shared.impl.PrefixMappingImpl ;
 import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphMap ;
+import org.apache.jena.sparql.core.GraphView ;
+import org.apache.jena.sparql.core.Quad ;
 import org.apache.jena.util.iterator.ExtendedIterator ;
 import org.apache.jena.util.iterator.WrappedIterator ;
 
-/** Immutable graph that is the view of a union of graphs in a dataset. */ 
-public class GraphUnionRead extends GraphBase
-{
-    // This exists for the property path evaulator to have a graph to call.
-    private final DatasetGraph dataset ;
+/** Immutable graph that is the view of a union of graphs in a dataset.
+ *  This union can be a fixed set of graph or all named graph.
+ *  This union iterates over graphs.
+ * <p>
+ *  {@link GraphView} provides a view over a dataset and does support union graph but
+ *  assumes quad access is efficient and does not end up looping.
+ *  
+ * @see GraphView
+ * @see DatasetGraphMap
+ */
+public class GraphUnionRead extends GraphBase {
+    private final DatasetGraph     dataset ;
     private final Collection<Node> graphs ;
 
-    public GraphUnionRead(DatasetGraph dsg, Collection<Node> graphs)
-    {
-        this.dataset = dsg ;
-        this.graphs = graphs ; 
+    /** Read-only graph view of all named graphs in the dataset.
+     * If graphs are added after this view if created, then this is reflected in
+     * the {@code find} call.
+     */
+    public GraphUnionRead(DatasetGraph dsg) {
+        this(dsg, null) ;
     }
     
+    /** Read-only graph view of a set of graphs from the dataset */ 
+    public GraphUnionRead(DatasetGraph dsg, Collection<Node> graphs) {
+        this.dataset = dsg ;
+        this.graphs = graphs ;
+    }
+
     @Override
-    protected PrefixMapping createPrefixMapping()
-    {
+    protected PrefixMapping createPrefixMapping() {
         PrefixMapping pmap = new PrefixMappingImpl() ;
-        for ( Node gn : graphs )
-        {
-            if ( ! gn.isURI() ) 
-                continue ;
-            Graph g = dataset.getGraph(gn) ;
-            if ( g != null ) {
-                PrefixMapping pmapNamedGraph = g.getPrefixMapping() ;
-                pmap.setNsPrefixes(pmapNamedGraph) ;
-            }
-        }
+        forEachGraph((g) -> {
+            PrefixMapping pmapNamedGraph = g.getPrefixMapping() ;
+            pmap.setNsPrefixes(pmapNamedGraph) ;
+        }) ;
         return pmap ;
     }
 
     @Override
-    protected ExtendedIterator<Triple> graphBaseFind(Triple m)
-    {
+    protected ExtendedIterator<Triple> graphBaseFind(Triple m) {
         IteratorConcat<Triple> iter = new IteratorConcat<>() ;
-        for ( Node gn : graphs )
-        {
-            if ( ! GraphOps.containsGraph(dataset, gn) )
-                continue ;
-            
-            ExtendedIterator<Triple> eIter = GraphOps.getGraph(dataset, gn).find(m) ;
-            iter.add(eIter) ;
-        }
+        forEachGraph((g) -> iter.add(g.find(m))) ;
         return WrappedIterator.create(Iter.distinct(iter)) ;
     }
+    
+    /** Execute action for each graph that exists */
+    private void forEachGraph(Consumer<Graph> action) {
+        if ( graphs == null ) {
+            // Fast-path the dynamic union of all named graphs.
+            dataset.listGraphNodes().forEachRemaining((gn) -> action.accept(dataset.getGraph(gn)));
+            return ; 
+        }
+        
+        graphs.stream()
+          // Need to check to avoid auto-creation.
+          .filter(gn -> dataset.containsGraph(gn))
+          // For the explicit name of the default graph.
+          .map(gn -> Quad.isDefaultGraph(gn) ? dataset.getDefaultGraph() : dataset.getGraph(gn))
+          .forEach(action);
+    }
+    
+    // Override to give more specific message.
+    
+    @Override
+    public void performAdd(Triple t) {
+        throw new AddDeniedException("GraphUnionRead::performAdd - read-only graph") ;
+    }
+
+    @Override
+    public void performDelete(Triple t) {
+        throw new DeleteDeniedException("GraphUnionRead::performDelete - Read-only graph") ;
+    }
 }


[08/18] jena git commit: Fix formatting (minor).

Posted by an...@apache.org.
Fix formatting (minor).

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/65e1228b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/65e1228b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/65e1228b

Branch: refs/heads/master
Commit: 65e1228bb3847e109f55454874178120f308b3c9
Parents: cfa17c1
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:50:08 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:50:08 2016 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/jena/sparql/core/DatasetGraphMap.java   | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/65e1228b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
index 9717fe7..4679776 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
@@ -106,7 +106,6 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads
     protected Iterator<Quad> findInDftGraph(Node s, Node p, Node o) {
         Iterator<Triple> iter = getDefaultGraph().find(s, p, o) ;
         return triples2quadsDftGraph(iter)  ;
-        
     }
 
     @Override
@@ -121,8 +120,7 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads
         IteratorConcat<Quad> iter = new IteratorConcat<>() ;
 
         // Named graphs
-        for ( ; gnames.hasNext() ; )  
-        {
+        for ( ; gnames.hasNext() ; ) {
             Node gn = gnames.next();
             Iterator<Quad> qIter = findInSpecificNamedGraph(gn, s, p, o) ;
             if ( qIter != null )


[18/18] jena git commit: JENA=1158: Merge commit 'refs/pull/152/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA=1158: Merge commit 'refs/pull/152/head' of github.com:apache/jena

This closes #152.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/10284133
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/10284133
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/10284133

Branch: refs/heads/master
Commit: 10284133fffce274c567f00059172a4f55ead4ca
Parents: 3ce8722 1accb0e
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jul 9 10:33:22 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jul 9 10:33:22 2016 +0100

----------------------------------------------------------------------
 .../jena/sparql/algebra/op/OpQuadPattern.java   |   5 +-
 .../jena/sparql/core/DatasetGraphMap.java       |  12 +-
 .../jena/sparql/core/DatasetGraphMapLink.java   |   8 +-
 .../sparql/core/DatasetGraphTriplesQuads.java   |  22 +-
 .../jena/sparql/core/DynamicDatasets.java       |  17 +-
 .../org/apache/jena/sparql/core/GraphView.java  |   8 +-
 .../java/org/apache/jena/sparql/core/Quad.java  |   2 +-
 .../jena/sparql/engine/main/OpExecutor.java     |   4 -
 .../engine/main/iterator/QueryIterGraph.java    |   2 +-
 .../org/apache/jena/sparql/graph/GraphOps.java  |  66 +++---
 .../jena/sparql/graph/GraphUnionRead.java       |  98 ++++++---
 .../jena/sparql/algebra/TestTransformQuads.java |   1 -
 .../uniongraph/AbstractTestUnionTransform.java  |  95 --------
 .../algebra/uniongraph/Dev_TS_UnionGraph.java   |  35 ---
 .../algebra/uniongraph/TestUnionGraph.java      | 106 ---------
 .../uniongraph/TestUnionTransformQuads.java     |  35 ---
 .../uniongraph/TestUnionTransformTriples.java   |  34 ---
 .../org/apache/jena/sparql/core/TS_Core.java    |   2 +
 .../jena/sparql/core/TestSpecialGraphs.java     | 218 +++++++++++++++++++
 .../apache/jena/tdb/store/DatasetGraphTDB.java  |   2 +-
 20 files changed, 360 insertions(+), 412 deletions(-)
----------------------------------------------------------------------



[14/18] jena git commit: Correct comment.

Posted by an...@apache.org.
Correct comment.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/2a5880bc
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/2a5880bc
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/2a5880bc

Branch: refs/heads/master
Commit: 2a5880bc1acbccc499820a231bdf48691961b64a
Parents: 6f08261
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:36:56 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:36:56 2016 +0100

----------------------------------------------------------------------
 jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2a5880bc/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
index aef8307..143299c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
@@ -92,7 +92,7 @@ public class Quad
         return defaultGraphNodeGenerated.equals(node) ;
     }
     
-    /** Default, concrete graph (either generated or explicitly named) -- not triple-in-quad*/
+    /** Default, explicitly named concrete graph */
     public static boolean isDefaultGraphExplicit(Node node)
     {
         return defaultGraphIRI.equals(node) ; 


[13/18] jena git commit: unionGraph to be dynamic union. Add fixed set variant. Add comments.

Posted by an...@apache.org.
unionGraph to be dynamic union. Add fixed set variant. Add comments.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6f08261a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6f08261a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6f08261a

Branch: refs/heads/master
Commit: 6f08261a4129cefea0516c1649607a7f2f7e6329
Parents: 420e95f
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:36:36 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:36:36 2016 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/graph/GraphOps.java  | 31 +++++++++++++++-----
 1 file changed, 23 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/6f08261a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
index 3911236..3d2bec9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphOps.java
@@ -19,7 +19,7 @@
 package org.apache.jena.sparql.graph;
 
 import java.util.Iterator ;
-import java.util.List ;
+import java.util.Set ;
 
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.graph.Graph ;
@@ -28,16 +28,25 @@ import org.apache.jena.graph.Triple ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.Quad ;
 
-// Combine with Jena GraphUtils.
+/** Some operations on graphs */ 
 public class GraphOps {
+    // Combine with Jena GraphUtils?
+    
+    /** Check whether a dataset contains a named graph of the given name.
+     * Graph with special names (union and default) return true.
+     */
     public static boolean containsGraph(DatasetGraph dsg, Node gn) {
-        if ( Quad.isDefaultGraph(gn) )
-            return true ;
-        if ( Quad.isUnionGraph(gn) )
+        if ( Quad.isDefaultGraph(gn) || Quad.isUnionGraph(gn)  )
             return true ;
         return dsg.containsGraph(gn) ;
     }
 
+    /** Get a graph from the dataset - the graph name may be special
+     * - the union graph (which is immutable) or a special name for
+     * the default graph. 
+     * <p>
+     * A graph name of "null" is interpreted as the default graph.
+     */
     public static Graph getGraph(DatasetGraph dsg, Node gn) {
         if ( gn == null )
             return dsg.getDefaultGraph() ;
@@ -49,10 +58,16 @@ public class GraphOps {
         return dsg.getGraph(gn) ;
     }
 
+    /** Create an immutable union graph comprised of a set of named graphs. */
+    public static Graph unionGraph(DatasetGraph dsg, Set<Node> graphNames) {
+        return new GraphUnionRead(dsg, graphNames) ;
+    }
+
+    /** Create an immutable union graph of all the named graphs in the dataset.
+     * Future changes to the set of graphs in the dataset will be seen.
+     */   
     public static Graph unionGraph(DatasetGraph dsg) {
-        // Snapshot it now.
-        List<Node> x = Iter.toList(dsg.listGraphNodes()) ;
-        return new GraphUnionRead(dsg, x) ;
+        return new GraphUnionRead(dsg) ;
     }
 
     public static void addAll(Graph g, Iterator<Triple> iter) {


[04/18] jena git commit: Reformat

Posted by an...@apache.org.
Reformat

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1b5d0fc7
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1b5d0fc7
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1b5d0fc7

Branch: refs/heads/master
Commit: 1b5d0fc7700e77d0bc62add733cf52dea208f68f
Parents: 4754dd5
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 7 21:46:32 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 7 21:46:32 2016 +0100

----------------------------------------------------------------------
 .../algebra/uniongraph/TestUnionGraph.java      | 44 +++++++++-----------
 .../uniongraph/TestUnionTransformQuads.java     |  3 +-
 .../uniongraph/TestUnionTransformTriples.java   |  3 +-
 3 files changed, 21 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1b5d0fc7/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
index 7c71e74..b54f5df 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionGraph.java
@@ -52,48 +52,44 @@ public class TestUnionGraph extends BaseTest
     
     static DatasetGraph dsg2 = BuilderGraph.buildDataset(SSE.parse(x2)) ;
 
-    
-    @Test public void union_graph_triples_1()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<s2> ?p ?o)))", false, dsg1) ;
+    @Test
+    public void union_graph_triples_1() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s2> ?p ?o)))", false, dsg1) ;
         assertEquals(1, results.size()) ;
     }
 
-    @Test public void union_graph_triples_2()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<x2> ?p ?o)))", false, dsg1) ;
+    @Test
+    public void union_graph_triples_2() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<x2> ?p ?o)))", false, dsg1) ;
         assertEquals(0, results.size()) ;
     }
 
-    @Test public void union_graph_quads_1()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<s2> ?p ?o)))", true, dsg1) ;
+    @Test
+    public void union_graph_quads_1() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s2> ?p ?o)))", true, dsg1) ;
         assertEquals(1, results.size()) ;
     }
 
-    @Test public void union_graph_quads_2()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<x2> ?p ?o)))", true, dsg1) ;
+    @Test
+    public void union_graph_quads_2() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<x2> ?p ?o)))", true, dsg1) ;
         assertEquals(0, results.size()) ;
     }
 
     // Patterns
-    @Test public void union_graph_triples_10()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
+    @Test
+    public void union_graph_triples_10() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
         assertEquals(2, results.size()) ;
     }
 
-    @Test public void union_graph_quads_10()
-    {
-        List<Binding> results = exec("(graph <"+Quad.unionGraph+"> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
+    @Test
+    public void union_graph_quads_10() {
+        List<Binding> results = exec("(graph <" + Quad.unionGraph + "> (bgp (<s1> ?p ?z) (?z ?q ?o) ))", false, dsg2) ;
         assertEquals(2, results.size()) ;
     }
 
-    
-    
-    static private List<Binding> exec(String pattern, boolean applyQuad, DatasetGraph dsg)
-    {
+    static private List<Binding> exec(String pattern, boolean applyQuad, DatasetGraph dsg) {
         Op op = SSE.parseOp(pattern) ;
         if ( applyQuad )
             op = Algebra.toQuadForm(op) ;
@@ -101,6 +97,4 @@ public class TestUnionGraph extends BaseTest
         QueryIterator qIter = Algebra.exec(op, TestUnionGraph.dsg1) ;
         return Iter.toList(qIter) ;
     }
-    
-    
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/1b5d0fc7/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
index 5ebb510..8477421 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformQuads.java
@@ -25,8 +25,7 @@ import org.apache.jena.sparql.sse.SSE ;
 public class TestUnionTransformQuads extends AbstractTestUnionTransform  
 {
     @Override
-    protected Op op(String pattern)
-    {
+    protected Op op(String pattern) {
         Op op = SSE.parseOp(pattern) ;
         op = Algebra.toQuadForm(op) ;
         Op op2 = Algebra.unionDefaultGraph(op) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/1b5d0fc7/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
index a7dd362..5506480 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/uniongraph/TestUnionTransformTriples.java
@@ -25,8 +25,7 @@ import org.apache.jena.sparql.sse.SSE ;
 public class TestUnionTransformTriples extends AbstractTestUnionTransform  
 {
     @Override
-    protected Op op(String pattern)
-    {
+    protected Op op(String pattern) {
         Op op = SSE.parseOp(pattern) ;
         Op op2 = Algebra.unionDefaultGraph(op) ;
         return op2 ;


[03/18] jena git commit: Some comments.

Posted by an...@apache.org.
Some comments.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3ce87220
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3ce87220
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3ce87220

Branch: refs/heads/master
Commit: 3ce872207ce3341f84843a2756ef3d38eda55ba8
Parents: 37239df
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Jul 6 23:21:11 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Jul 6 23:21:11 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/engine/main/VarFinder.java  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/3ce87220/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
index be6c8e0..969d5e0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
@@ -105,10 +105,15 @@ public class VarFinder
             return v;
         }
 
+        // Fixed by pattern
         Set<Var> defines            = null ;
+        // Fixed in optional
         Set<Var> optDefines         = null ;
+        // Used in a filter
         Set<Var> filterMentions     = null ;
-        Set<Var> filterMentionsOnly = null ;    // Mentioned in filter before defined. 
+        // Used in a filter, before defined
+        Set<Var> filterMentionsOnly = null ;
+        // Used in assign or extend expression
         Set<Var> assignMentions     = null ;
 
         VarUsageVisitor() {
@@ -317,7 +322,7 @@ public class VarFinder
         
         private void processAssignVarExprList(VarExprList varExprList) {
             varExprList.forEachVarExpr((v,e)-> {
-                defines.add(v) ;
+                defines.add(v) ; // Expression may eval to error -> unset? 
                 if ( e != null )
                     e.varsMentioned(assignMentions);
             }) ;


[17/18] jena git commit: Any default grapj for getGraph. Tidy up.

Posted by an...@apache.org.
Any default grapj for getGraph. Tidy up.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1accb0eb
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1accb0eb
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1accb0eb

Branch: refs/heads/master
Commit: 1accb0eb9db8d0a91b7b46fd79b74239851a9bf9
Parents: cac4b77
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:38:03 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:38:03 2016 +0100

----------------------------------------------------------------------
 .../apache/jena/sparql/core/DynamicDatasets.java   | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1accb0eb/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
index 602cfa8..de537aa 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
@@ -99,34 +99,31 @@ public class DynamicDatasets
     
     public static class DynamicDatasetGraph extends DatasetGraphReadOnly
     {
-        public DynamicDatasetGraph(DatasetGraph dsg)
-        {
+        public DynamicDatasetGraph(DatasetGraph dsg) {
             super(dsg) ;
         }
 
         private Graph unionGraph = null ;
-        
+
         @Override
-        public boolean containsGraph(Node graphNode)
-        {
+        public boolean containsGraph(Node graphNode) {
             if ( Quad.isUnionGraph(graphNode) ) return true ;
             if ( Quad.isDefaultGraphExplicit(graphNode)) return true ;
             return super.containsGraph(graphNode) ;
         }
-        
+
         // See also the GraphOps
         @Override
         public Graph getGraph(Node graphNode)
         {
-            if ( Quad.isUnionGraph(graphNode) )
-            {
+            if ( Quad.isUnionGraph(graphNode) ) {
                 if ( unionGraph == null )
                     unionGraph = GraphOps.unionGraph(super.getWrapped()) ;
                 return unionGraph ;
             }
-            if ( Quad.isDefaultGraphExplicit(graphNode))
+            if ( Quad.isDefaultGraph(graphNode))
                 return getDefaultGraph() ;
-            
+
             return super.getGraph(graphNode) ;
         }
     }


[16/18] jena git commit: Remove "isExplicitDefaultGraph".

Posted by an...@apache.org.
Remove "isExplicitDefaultGraph".

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cac4b772
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cac4b772
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cac4b772

Branch: refs/heads/master
Commit: cac4b772f3da9080feec1a45471bc43dbdb4331d
Parents: c6aa4a9
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:37:25 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:37:25 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java   | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/cac4b772/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java
index fa3003c..ee9c157 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java
@@ -80,11 +80,8 @@ public class OpQuadPattern extends Op0
     
     /** Is this quad pattern referring to the default graph by quad transformation or explict naming? */ 
     public boolean isDefaultGraph()         { return Quad.isDefaultGraph(graphNode) ; }
-    
-    /** Is this quad pattern explicitly naming the default graph? */ 
-    public boolean isExplicitDefaultGraph() { return Quad.isDefaultGraphExplicit(graphNode) ; }
+
     /** Is this quad pattern explicitly naming the union graph? */
-    
     public boolean isUnionGraph()           { return Quad.isUnionGraph(graphNode) ; }
     
     @Override


[15/18] jena git commit: Reformat.

Posted by an...@apache.org.
Reformat.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c6aa4a90
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c6aa4a90
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c6aa4a90

Branch: refs/heads/master
Commit: c6aa4a906e64c18fc2158e3b9d195e5cac466ccd
Parents: 2a5880b
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 8 21:37:09 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 8 21:37:09 2016 +0100

----------------------------------------------------------------------
 .../sparql/core/DatasetGraphTriplesQuads.java   | 22 +++++++-------------
 1 file changed, 8 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/c6aa4a90/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphTriplesQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphTriplesQuads.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphTriplesQuads.java
index 019e17a..cfe836f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphTriplesQuads.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphTriplesQuads.java
@@ -27,32 +27,26 @@ import org.apache.jena.graph.Node ;
 public abstract class DatasetGraphTriplesQuads extends DatasetGraphBaseFind
 {
     @Override
-    final
-    public void add(Quad quad)
-    {
-        add(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
+    final public void add(Quad quad) {
+        add(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
     }
 
     @Override
-    final
-    public void delete(Quad quad)
-    {
-        delete(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
+    final public void delete(Quad quad) {
+        delete(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
     }
 
     @Override
-    public void add(Node g, Node s, Node p, Node o)
-    {
-        if ( Quad.isDefaultGraphGenerated(g) || Quad.isDefaultGraphExplicit(g) )
+    public void add(Node g, Node s, Node p, Node o) {
+        if ( Quad.isDefaultGraph(g) )
             addToDftGraph(s, p, o) ;
         else
             addToNamedGraph(g, s, p, o) ;
     }
 
     @Override
-    public void delete(Node g, Node s, Node p, Node o)
-    {
-        if ( Quad.isDefaultGraphGenerated(g) || Quad.isDefaultGraphExplicit(g) )
+    public void delete(Node g, Node s, Node p, Node o) {
+        if ( Quad.isDefaultGraph(g) )
             deleteFromDftGraph(s, p, o) ;
         else
             deleteFromNamedGraph(g, s, p, o) ;