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 2017/06/04 08:02:15 UTC

[1/6] jena git commit: JENA-1355: Fix to VarFinder for OpPropFunc

Repository: jena
Updated Branches:
  refs/heads/master cc8810d9b -> e79199a7a


JENA-1355: Fix to VarFinder for OpPropFunc


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

Branch: refs/heads/master
Commit: 688006bf0318c206fc16eba2a8a97239e17060ce
Parents: 3b3ba37
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jun 1 21:41:36 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jun 1 21:47:10 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/engine/main/VarFinder.java  | 9 +++++++--
 .../src/main/java/org/apache/jena/sparql/util/VarUtils.java | 8 +++++++-
 .../java/org/apache/jena/sparql/algebra/TestVarFinder.java  | 5 +++++
 3 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/688006bf/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 b781ba2..8db255e 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
@@ -355,8 +355,13 @@ public class VarFinder
 
         @Override
         public void visit(OpPropFunc opPropFunc) {
-            VarUtils.addVarNodes(defines, opPropFunc.getSubjectArgs().getArgList()) ;
-            VarUtils.addVarNodes(defines, opPropFunc.getObjectArgs().getArgList()) ;
+            VarUtils.addVars(defines, opPropFunc.getSubjectArgs()) ;
+            VarUtils.addVars(defines, opPropFunc.getObjectArgs()) ;
+            
+            mergeVars(opPropFunc.getSubOp());
+            
+            // If definite (from the property function), remove from optDefines. 
+            optDefines.removeAll(this.defines);
         }
 
         // Ops that add nothing to variable scoping.

http://git-wip-us.apache.org/repos/asf/jena/blob/688006bf/jena-arq/src/main/java/org/apache/jena/sparql/util/VarUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/VarUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/VarUtils.java
index 166293d..3247ba7 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/VarUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/VarUtils.java
@@ -25,6 +25,7 @@ import java.util.Set;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
 import org.apache.jena.sparql.core.* ;
+import org.apache.jena.sparql.pfunction.PropFuncArg;
 
 public class VarUtils {
     public static Set<Var> getVars(Triple triple) {
@@ -87,5 +88,10 @@ public class VarUtils {
         }
     }
 
-
+    public static void addVars(Collection<Var> acc, PropFuncArg arg) {
+        if ( arg.isNode() )
+            addVar(acc, arg.getArg());
+        else
+            addVarNodes(acc, arg.getArgList());
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/688006bf/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestVarFinder.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestVarFinder.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestVarFinder.java
index b3eb539..c476180 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestVarFinder.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestVarFinder.java
@@ -54,6 +54,11 @@ public class TestVarFinder extends BaseTest
     @Test public void varfind_04_4() { varfindFilterOnly("(leftjoin (bgp (?x <q> <v>)) (filter (?Z) (bgp (?s <p> <o>))))", "Z") ; }
     @Test public void varfind_04_5() { varfindFilterOnly("(leftjoin (bgp (?x <q> <v>)) (bgp (?s <p> <o>)) ?Z)", "Z") ; }
 
+    @Test public void varfind_05_1() { varfindFixed("(propfunc :pf ?x (?y ?z) (table unit))", "x", "y", "z"); }
+    @Test public void varfind_05_2() { varfindFixed("(propfunc :pf ?x (?y ?z) (bgp (?x ?p ?o)))", "x", "y", "z", "p", "o"); }
+    @Test public void varfind_05_3() { varfindFixed("(propfunc :pf ?x (?y ?z) (leftjoin (table unit) (bgp (?x ?p ?o)) ))", "x", "y", "z"); }
+    @Test public void varfind_05_4() { varfindOpt(  "(propfunc :pf ?x (?y ?z) (leftjoin (table unit) (bgp (?x ?p ?o)) ))", "p", "o"); }
+    
     private static void varfindFixed(String string, String... vars) {
         varfind(string, vars, null, null, null) ;
     }


[4/6] jena git commit: Remove a blank line.

Posted by an...@apache.org.
Remove a blank line.

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

Branch: refs/heads/master
Commit: 93c29ab5afa628411ddfb18e3faae6ffb3fe7f84
Parents: 52068f1
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jun 3 23:04:00 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jun 3 23:04:00 2017 +0100

----------------------------------------------------------------------
 jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/93c29ab5/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
index 24f5d47..fdb3e21 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
@@ -168,7 +168,6 @@ public class TestRDFParser {
         assertEquals(3, graph.size());
     }
 
-
     private static class TestingFactoryRDF extends FactoryRDFStd {
         int counter = 0;
         @Override


[6/6] jena git commit: JENA-1357: Merge commit 'refs/pull/259/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1357: Merge commit 'refs/pull/259/head' of github.com:apache/jena

This closes #259.


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

Branch: refs/heads/master
Commit: e79199a7ae2dd045ca038265ff5f1b9dbabdf2cd
Parents: ae82c15 93c29ab
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 08:48:22 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 08:48:22 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/RDFParser.java    | 12 +++++++-----
 .../org/apache/jena/riot/RDFParserBuilder.java  | 20 ++++++++++++++++++--
 .../org/apache/jena/riot/TestRDFParser.java     | 11 +++++++++++
 .../jena/fuseki/migrate/GraphLoadUtils.java     |  8 ++------
 .../jena/fuseki/migrate/GraphLoadUtils.java     |  5 +----
 5 files changed, 39 insertions(+), 17 deletions(-)
----------------------------------------------------------------------



[5/6] jena git commit: JENA-1355: Merge commit 'refs/pull/258/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1355: Merge commit 'refs/pull/258/head' of github.com:apache/jena

This closes #258.


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

Branch: refs/heads/master
Commit: ae82c1582039314e1290a46ba431feaf7fe666ea
Parents: cc8810d 688006b
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 08:38:13 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 08:38:13 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/engine/main/VarFinder.java  | 9 +++++++--
 .../src/main/java/org/apache/jena/sparql/util/VarUtils.java | 8 +++++++-
 .../java/org/apache/jena/sparql/algebra/TestVarFinder.java  | 5 +++++
 3 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------



[2/6] jena git commit: Add StreamManager support.

Posted by an...@apache.org.
Add StreamManager support.

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

Branch: refs/heads/master
Commit: fb95291ad471ae1e7fb4c1f3eb77fbe832b57e51
Parents: cc8810d
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jun 3 22:50:19 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jun 3 22:50:19 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/RDFParser.java    | 12 +++++++-----
 .../org/apache/jena/riot/RDFParserBuilder.java  | 20 ++++++++++++++++++--
 .../org/apache/jena/riot/TestRDFParser.java     | 12 ++++++++++++
 3 files changed, 37 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/fb95291a/jena-arq/src/main/java/org/apache/jena/riot/RDFParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFParser.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFParser.java
index f1c07d3..977789b 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFParser.java
@@ -75,6 +75,8 @@ public class RDFParser {
     private final String       content;
     private final InputStream  inputStream;
     private final Reader       javaReader;
+    private final StreamManager streamManager;
+
     private final HttpClient   httpClient;
     private final Lang         hintLang;
     private final Lang         forceLang;
@@ -159,8 +161,9 @@ public class RDFParser {
         return RDFParserBuilder.create().source(input);
     }
     
-    /* package */ RDFParser(String uri, Path path, String content, InputStream inputStream, Reader javaReader, HttpClient httpClient, Lang hintLang,
-                            Lang forceLang, String baseUri, boolean strict, Optional<Boolean> checking, boolean resolveURIs, boolean canonicalLiterals, IRIResolver resolver, FactoryRDF factory,
+    /* package */ RDFParser(String uri, Path path, String content, InputStream inputStream, Reader javaReader, StreamManager streamManager, 
+                            HttpClient httpClient, Lang hintLang, Lang forceLang, String baseUri, boolean strict, 
+                            Optional<Boolean> checking, boolean resolveURIs, boolean canonicalLiterals, IRIResolver resolver, FactoryRDF factory,
                             ErrorHandler errorHandler, Context context) {
         int x = countNonNull(uri, path, content, inputStream, javaReader);
         if ( x >= 2 )
@@ -176,6 +179,7 @@ public class RDFParser {
         this.content = content;
         this.inputStream = inputStream;
         this.javaReader = javaReader;
+        this.streamManager = streamManager;
         this.httpClient = httpClient;
         this.hintLang = hintLang;
         this.forceLang = forceLang;
@@ -324,9 +328,7 @@ public class RDFParser {
             urlStr = StreamManager.get(context).mapURI(urlStr);
             in = HttpOp.execHttpGet(urlStr, null, httpClient, null);
         } else { 
-            // StreamManager and Locators, based on urlStr.
-            StreamManager sMgr = StreamManager.get(context);
-            in = sMgr.open(urlStr);
+            in = streamManager.open(urlStr);
         }
         if ( in == null )
             throw new RiotNotFoundException("Not found: "+urlStr);

http://git-wip-us.apache.org/repos/asf/jena/blob/fb95291a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java
index 4824387..ed1ca7b 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java
@@ -33,6 +33,7 @@ import org.apache.jena.graph.BlankNodeId;
 import org.apache.jena.graph.Graph;
 import org.apache.jena.riot.lang.LabelToNode;
 import org.apache.jena.riot.system.*;
+import org.apache.jena.riot.system.stream.StreamManager;
 import org.apache.jena.riot.web.HttpNames;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.util.Context;
@@ -69,6 +70,7 @@ public class RDFParserBuilder {
     // The not reusable sources.
     private InputStream inputStream;
     private Reader javaReader = null;
+    private StreamManager streamManager = null;
 
     // HTTP
     private Map<String, String> httpHeaders = new HashMap<>(); 
@@ -198,6 +200,16 @@ public class RDFParserBuilder {
         this.javaReader = reader;
         return this;
     }
+    
+    /**
+     * Set the StreamManager to use when opening a URI (including files by name, but not by {@code Path}). 
+     * @param streamManager
+     * @return this
+     */
+    public RDFParserBuilder streamManager(StreamManager streamManager) {
+        this.streamManager = streamManager;
+        return this;
+    }
 
     private void clearSource() {
         this.uri = null;
@@ -458,9 +470,13 @@ public class RDFParserBuilder {
         if ( path == null && baseUri == null && uri != null )
             baseUri = uri;
         
+        StreamManager sMgr = streamManager;
+        if ( sMgr == null )
+            sMgr = StreamManager.get(context);
+        
         // Can't build the profile here as it is Lang/conneg dependent.
-        return new RDFParser(uri, path, content, inputStream, javaReader, client,
-                             hintLang, forceLang,
+        return new RDFParser(uri, path, content, inputStream, javaReader, sMgr, 
+                             client, hintLang, forceLang,
                              baseUri, strict, checking, resolveURIs, canonicalLiterals,
                              resolver, factory$, errorHandler$, context);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/fb95291a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
index 52f74c6..24f5d47 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
@@ -33,6 +33,8 @@ import org.apache.jena.graph.Node;
 import org.apache.jena.riot.lang.LabelToNode;
 import org.apache.jena.riot.system.ErrorHandlerFactory;
 import org.apache.jena.riot.system.FactoryRDFStd;
+import org.apache.jena.riot.system.stream.LocatorFile;
+import org.apache.jena.riot.system.stream.StreamManager;
 import org.apache.jena.sparql.graph.GraphFactory;
 import org.junit.Test;
 
@@ -157,6 +159,16 @@ public class TestRDFParser {
         assertEquals(3, graph.size());
     }
 
+    @Test
+    public void source_streamManager() {
+        StreamManager sMgr = new StreamManager();
+        sMgr.addLocator(new LocatorFile(DIR)) ;
+        Graph graph = GraphFactory.createGraphMem();
+        RDFParser.create().streamManager(sMgr).source("file:data.rdf").forceLang(Lang.TTL).parse(graph);
+        assertEquals(3, graph.size());
+    }
+
+
     private static class TestingFactoryRDF extends FactoryRDFStd {
         int counter = 0;
         @Override


[3/6] jena git commit: Use RDFParser+streamManager().

Posted by an...@apache.org.
Use RDFParser+streamManager().

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

Branch: refs/heads/master
Commit: 52068f1fb7bcf9f5369b2f88ac1b165a01eae931
Parents: fb95291
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jun 3 22:54:58 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jun 3 22:54:58 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java  | 8 ++------
 .../java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java  | 5 +----
 2 files changed, 3 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/52068f1f/jena-fuseki1/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
index 3ccc9c1..3f226b0 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
@@ -19,13 +19,12 @@
 
 package org.apache.jena.fuseki.migrate;
 
-import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.graph.Factory ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RDFParser;
 import org.apache.jena.riot.system.StreamRDF ;
 import org.apache.jena.riot.system.StreamRDFLib ;
 
@@ -65,11 +64,8 @@ public class GraphLoadUtils
     // ** Worker.
     private static void readUtil(Graph graph, String uri, int limit)
     {
-        // We need to do this ourselves, not via riot, to use the webStreamManager
         StreamRDF sink = StreamRDFLib.graph(graph) ;
         sink = new SinkRDFLimited(sink, limit) ;
-
-        TypedInputStream input = Fuseki.webStreamManager.open(uri) ;
-        RDFDataMgr.parse(sink, input, uri) ;
+        RDFParser.source(uri).streamManager(Fuseki.webStreamManager).parse(sink);
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/52068f1f/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
index 020065f..4e4c837 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
@@ -19,7 +19,6 @@
 
 package org.apache.jena.fuseki.migrate;
 
-import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.graph.Factory ;
 import org.apache.jena.graph.Graph ;
@@ -65,10 +64,8 @@ public class GraphLoadUtils
     // ** Worker.
     private static void readUtil(Graph graph, String uri, int limit)
     {
-        // We need to do this ourselves, not via riot, to use the webStreamManager
         StreamRDF sink = StreamRDFLib.graph(graph) ;
         sink = new StreamRDFLimited(sink, limit) ;
-        TypedInputStream input = Fuseki.webStreamManager.open(uri) ;
-        RDFParser.source(input).base(uri).parse(sink);
+        RDFParser.source(uri).streamManager(Fuseki.webStreamManager).parse(sink);
     }
 }