You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/09/06 17:52:35 UTC

[05/10] jena git commit: Add various utility operations to find variables in structures.

Add various utility operations to find variables in structures.

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

Branch: refs/heads/master
Commit: 964e10f1205223c966da10779f37024a8e092120
Parents: 657593b
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Sep 5 21:43:15 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Sep 5 21:43:15 2015 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/util/VarUtils.java   | 86 ++++++++++++--------
 1 file changed, 51 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/964e10f1/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 18b55c8..e2e73e6 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
@@ -18,56 +18,72 @@
 
 package org.apache.jena.sparql.util;
 
-import java.util.Collection ;
-import java.util.HashSet ;
-import java.util.Set ;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.sparql.core.TriplePath ;
-import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.* ;
 
-public class VarUtils
-{
-    public static Set<Var> getVars(Triple triple)
-    {
-        Set<Var> x = new HashSet<>() ;
-        addVarsFromTriple(x, triple) ;
-        return x ;
+public class VarUtils {
+    public static Set<Var> getVars(Triple triple) {
+        Set<Var> x = new HashSet<>();
+        addVarsFromTriple(x, triple);
+        return x;
     }
-    
-    public static void addVarsFromTriple(Collection<Var> acc, Triple t)
-    {
-        addVar(acc, t.getSubject()) ;
-        addVar(acc, t.getPredicate()) ;
-        addVar(acc, t.getObject()) ;
+
+    public static void addVarsFromTriple(Collection<Var> acc, Triple triple) {
+        addVar(acc, triple.getSubject());
+        addVar(acc, triple.getPredicate());
+        addVar(acc, triple.getObject());
+    }
+
+    public static void addVarsFromQuad(Collection<Var> acc, Quad quad) {
+        addVar(acc, quad.getGraph());
+        addVar(acc, quad.getSubject());
+        addVar(acc, quad.getPredicate());
+        addVar(acc, quad.getObject());
     }
 
-    public static void addVarsFromTriplePath(Collection<Var> acc, TriplePath tpath)
-    {
-        addVar(acc, tpath.getSubject()) ;
-        addVar(acc, tpath.getObject()) ;
+    public static void addVarsFromTriplePath(Collection<Var> acc, TriplePath tpath) {
+        addVar(acc, tpath.getSubject());
+        addVar(acc, tpath.getObject());
     }
 
-    public static void addVar(Collection<Var> acc, Node n)
-    {
+    public static void addVar(Collection<Var> acc, Node n) {
         if ( n == null )
-            return ;
+            return;
 
         if ( n.isVariable() )
-            acc.add(Var.alloc(n)) ;
+            acc.add(Var.alloc(n));
     }
 
-    public static void addVars(Collection<Var> acc, BasicPattern pattern)
-    {
-        addVars(acc, pattern.getList()) ;
+    // Name to avoid erasure clash
+    public static void addVarNodes(Collection<Var> acc, Collection<Node> nodes) {
+        for ( Node n : nodes )
+            addVar(acc, n) ;
     }
 
-    public static void addVars(Collection<Var> acc, Collection<Triple> triples)
-    {
+    public static void addVarsTriples(Collection<Var> acc, Collection<Triple> triples) {
         for ( Triple triple : triples )
-            addVarsFromTriple(acc, triple) ;
+            addVarsFromTriple(acc, triple);
+    }
+
+    public static void addVars(Collection<Var> acc, BasicPattern pattern) {
+        addVarsTriples(acc, pattern.getList());
     }
 
+    public static void addVars(Collection<Var> acc, Node graphNode, BasicPattern triples) {
+        addVar(acc, graphNode) ;
+        addVars(acc, triples) ; 
+    }
+    
+    public static void addVars(Collection<Var> acc, QuadPattern quadPattern) {
+        for ( Quad quad : quadPattern.getList() ) {
+            addVarsFromQuad(acc, quad) ;
+        }
+    }
+
+
 }