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) ;
+ }
+ }
+
+
}