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/10/06 14:07:11 UTC
[1/3] jena git commit: Use the default graph of a wrapped dataset for
the prefix map.
Repository: jena
Updated Branches:
refs/heads/master 9df66f56a -> bb567d720
Use the default graph of a wrapped dataset for the prefix map.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/880c4100
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/880c4100
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/880c4100
Branch: refs/heads/master
Commit: 880c4100e83f9aaf33b3f5cbbe79aa863b5b989c
Parents: 97ec600
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 6 12:46:19 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 6 12:46:19 2015 +0100
----------------------------------------------------------------------
.../main/java/org/apache/jena/sparql/core/GraphView.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/880c4100/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 dc5e537..ec34d2d 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
@@ -89,9 +89,16 @@ public class GraphView extends GraphBase implements Sync
protected static final boolean isDefaultGraph(Node gn) { return gn == null || Quad.isDefaultGraph(gn) ; }
protected static final boolean isUnionGraph(Node gn) { return Quad.isUnionGraph(gn) ; }
+ // TODO Unsatisfactory - need PrefixMap support by DSGs
+ // and sort out PrefixMap/PrefixMapping.
+
@Override
protected PrefixMapping createPrefixMapping() {
- // TODO Unsatisfactory - need PrefixMap support by DSGs then PrefixMap -> PrefixMapping
+ // Unwrap if possible, else put in an in-memroy placeholder.
+ if ( dsg instanceof DatasetGraphWrapper ) {
+ DatasetGraph dsg2 = ((DatasetGraphWrapper)dsg).getBase() ;
+ return dsg2.getDefaultGraph().getPrefixMapping() ;
+ }
return new PrefixMappingImpl() ;
}
[3/3] jena git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/jena
Posted by an...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bb567d72
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bb567d72
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bb567d72
Branch: refs/heads/master
Commit: bb567d720a78834e02a6e4e5c7be4b8da710b7e9
Parents: 3b37942 9df66f5
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 6 13:07:01 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 6 13:07:01 2015 +0100
----------------------------------------------------------------------
jena-core/src/main/java/org/apache/jena/system/JenaSystem.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[2/3] jena git commit: JENA-1044: Avoid creating an exception on the
normal execution path.
Posted by an...@apache.org.
JENA-1044: Avoid creating an exception on the normal execution path.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3b37942c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3b37942c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3b37942c
Branch: refs/heads/master
Commit: 3b37942c71411347d5fb4d7891d2eacbeabad972
Parents: 880c410
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 6 13:06:06 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 6 13:06:06 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/sparql/expr/E_Bound.java | 14 +++-
.../org/apache/jena/sparql/expr/TS_Expr.java | 1 +
.../jena/sparql/expr/TestExpressions.java | 2 +
.../jena/sparql/expr/TestExpressions2.java | 1 -
.../jena/sparql/expr/TestExpressions3.java | 74 ++++++++++++++++++++
5 files changed, 89 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3b37942c/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
index ba9ba15..caa7516 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
@@ -35,11 +35,21 @@ public class E_Bound extends ExprFunction1
@Override
public NodeValue evalSpecial(Binding binding, FunctionEnv env)
{
+ if ( expr.isConstant() )
+ // The case of the variable already being substituted for a constant.
+ return NodeValue.FALSE ;
+
+ if ( expr.isVariable() )
+ // The case of the expr being a single variable.
+ return NodeValue.booleanReturn(binding.contains(expr.asVar())) ;
+
+ // General expression. This case can't be written in SPARQL
+ // but we keep the code general in case some optimziation rewrite
+ // or algebra expression uses the generalized feature.
try {
expr.eval(binding, env) ;
return NodeValue.TRUE ;
- } catch (VariableNotBoundException ex)
- {
+ } catch (VariableNotBoundException ex) {
return NodeValue.FALSE ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/3b37942c/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
index 5cbf2b7..f2f3abd 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
@@ -31,6 +31,7 @@ import org.junit.runners.Suite.SuiteClasses ;
TestNodeValue.class
, TestExpressions.class
, TestExpressions2.class
+ , TestExpressions3.class
, TestNodeFunctions.class
, TestExpressions2.class
, TestFunctions.class
http://git-wip-us.apache.org/repos/asf/jena/blob/3b37942c/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
index 631aac9..46c58d3 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
@@ -47,6 +47,8 @@ import org.junit.Test ;
/** Break expression testing suite into parts
* @see TestExpressions
+* @see TestExpressions2
+* @see TestExpressions3
* @see TestExprLib
* @see TestNodeValue
*/
http://git-wip-us.apache.org/repos/asf/jena/blob/3b37942c/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions2.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions2.java
index 5fd084c..3dfc53d 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions2.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions2.java
@@ -35,7 +35,6 @@ import org.junit.Test ;
*/
public class TestExpressions2 extends BaseTest
{
-
@Test public void gregorian_eq_01() { eval("'1999'^^xsd:gYear = '1999'^^xsd:gYear", true) ; }
@Test public void gregorian_eq_02() { eval("'1999'^^xsd:gYear != '1999'^^xsd:gYear", false) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/3b37942c/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
new file mode 100644
index 0000000..61fa32e
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
@@ -0,0 +1,74 @@
+/*
+ * 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.expr;
+
+import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import org.apache.jena.sparql.function.FunctionEnvBase ;
+import org.apache.jena.sparql.sse.Item ;
+import org.apache.jena.sparql.sse.SSE ;
+import org.apache.jena.sparql.sse.builders.BuilderBinding ;
+import org.apache.jena.sparql.util.ExprUtils ;
+import org.junit.Test ;
+
+/** Expression evaluation involving bindings.
+* @see TestExpressions
+* @see TestExpressions2
+* @see TestExpressions3
+* @see TestExprLib
+* @see TestNodeValue
+*/
+public class TestExpressions3 extends BaseTest
+{
+ @Test public void bound_01() { eval("BOUND(?x)", "(?x 1)", true) ; }
+ @Test public void bound_02() { eval("BOUND(?x)", "(?y 1)", false) ; }
+ @Test public void bound_03() { evalExpr("(bound 1)", "(?y 1)", false) ; }
+ @Test public void bound_04() { evalExpr("(bound 1)", "()", false) ; }
+ @Test public void bound_05() { evalExpr("(bound ?x)", "(?y 1)", false) ; }
+ @Test public void bound_06() { evalExpr("(bound ?x)", "(?x 1)", true) ; }
+ @Test public void bound_07() { evalExpr("(bound (+ ?x 1))", "(?y 1)", false) ; }
+ @Test public void bound_08() { evalExpr("(bound (+ ?y 1))", "(?y 1)", true) ; }
+
+ // From SPARQL syntax
+ private static void eval(String string, String bindingStr, boolean expected) {
+ Binding binding = binding(bindingStr) ;
+ Expr expr = ExprUtils.parse(string) ;
+ NodeValue nv = expr.eval(binding, FunctionEnvBase.createTest()) ;
+ boolean b = XSDFuncOp.booleanEffectiveValue(nv) ;
+ assertEquals(string, expected, b) ;
+ }
+
+ // From algebra/SSE
+ private static void evalExpr(String exprString, String bindingStr, boolean expected) {
+ Binding binding = binding(bindingStr) ;
+ Expr expr = SSE.parseExpr(exprString) ;
+ NodeValue nv = expr.eval(binding, FunctionEnvBase.createTest()) ;
+ boolean b = XSDFuncOp.booleanEffectiveValue(nv) ;
+ assertEquals(exprString, expected, b) ;
+ }
+
+ private static Binding binding(String bindingStr) {
+ if ( bindingStr == null || bindingStr.matches("\\s*\\(\\s*\\)\\s*") )
+ return null ;
+ Item item = SSE.parse("(binding "+bindingStr+")") ;
+ Binding binding = BuilderBinding.build(item) ;
+ return binding ;
+ }
+}