You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2017/05/25 21:59:46 UTC
[5/7] jena git commit: fix JENA-1342 -- added support for Minus
fix JENA-1342 -- added support for Minus
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/4e8574fc
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/4e8574fc
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/4e8574fc
Branch: refs/heads/master
Commit: 4e8574fcaefe558f30c412c53da3556eebaf13fb
Parents: 4cbf28e
Author: Claude Warren <cl...@apache.org>
Authored: Thu May 25 22:42:00 2017 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Thu May 25 22:42:00 2017 +0100
----------------------------------------------------------------------
.../arq/querybuilder/AbstractQueryBuilder.java | 5 ++
.../jena/arq/querybuilder/AskBuilder.java | 11 +--
.../jena/arq/querybuilder/ConstructBuilder.java | 11 +--
.../jena/arq/querybuilder/SelectBuilder.java | 12 ++--
.../arq/querybuilder/clauses/WhereClause.java | 13 +++-
.../arq/querybuilder/handlers/WhereHandler.java | 9 +++
.../jena/arq/AbstractRegexpBasedTest.java | 1 +
.../querybuilder/clauses/WhereClauseTest.java | 16 +++++
.../querybuilder/handlers/WhereHandlerTest.java | 73 +++++++++++---------
9 files changed, 102 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
index ea7d83b..447d5ff 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilder.java
@@ -29,6 +29,7 @@ import org.apache.jena.arq.querybuilder.clauses.ValuesClause;
import org.apache.jena.arq.querybuilder.handlers.HandlerBlock;
import org.apache.jena.arq.querybuilder.handlers.PrologHandler;
import org.apache.jena.arq.querybuilder.handlers.ValuesHandler;
+import org.apache.jena.arq.querybuilder.handlers.WhereHandler;
import org.apache.jena.graph.FrontsNode ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -308,6 +309,10 @@ public abstract class AbstractQueryBuilder<T extends AbstractQueryBuilder<T>>
public ValuesHandler getValuesHandler() {
return getHandlerBlock().getValueHandler();
}
+
+ public final WhereHandler getWhereHandler() {
+ return getHandlerBlock().getWhereHandler();
+ }
/**
* Set a variable replacement. During build all instances of var in the
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AskBuilder.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AskBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AskBuilder.java
index 4835e66..c53bf04 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AskBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/AskBuilder.java
@@ -63,11 +63,6 @@ public class AskBuilder extends AbstractQueryBuilder<AskBuilder>
}
@Override
- public WhereHandler getWhereHandler() {
- return handlerBlock.getWhereHandler();
- }
-
- @Override
public AskBuilder clone() {
AskBuilder qb = new AskBuilder();
qb.handlerBlock.addAll(handlerBlock);
@@ -284,4 +279,10 @@ public class AskBuilder extends AbstractQueryBuilder<AskBuilder>
public Node list(Object... objs) {
return getWhereHandler().list(objs);
}
+
+ @Override
+ public AskBuilder addMinus( AbstractQueryBuilder<?> t ) {
+ getWhereHandler().addMinus( t );
+ return this;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/ConstructBuilder.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/ConstructBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/ConstructBuilder.java
index 434c5a9..804ff85 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/ConstructBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/ConstructBuilder.java
@@ -56,11 +56,6 @@ public class ConstructBuilder extends AbstractQueryBuilder<ConstructBuilder> imp
}
@Override
- public WhereHandler getWhereHandler() {
- return handlerBlock.getWhereHandler();
- }
-
- @Override
public ConstructHandler getConstructHandler() {
return handlerBlock.getConstructHandler();
}
@@ -301,4 +296,10 @@ public class ConstructBuilder extends AbstractQueryBuilder<ConstructBuilder> imp
public Node list(Object... objs) {
return getWhereHandler().list(objs);
}
+
+ @Override
+ public ConstructBuilder addMinus( AbstractQueryBuilder<?> t ) {
+ getWhereHandler().addMinus( t );
+ return this;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/SelectBuilder.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/SelectBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/SelectBuilder.java
index 3864cc9..6cd08a2 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/SelectBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/SelectBuilder.java
@@ -68,11 +68,6 @@ public class SelectBuilder extends AbstractQueryBuilder<SelectBuilder> implement
}
@Override
- public WhereHandler getWhereHandler() {
- return handlerBlock.getWhereHandler();
- }
-
- @Override
public SelectBuilder clone() {
SelectBuilder qb = new SelectBuilder();
qb.handlerBlock.addAll(handlerBlock);
@@ -385,5 +380,10 @@ public class SelectBuilder extends AbstractQueryBuilder<SelectBuilder> implement
public Node list(Object... objs) {
return getWhereHandler().list(objs);
}
-
+
+ @Override
+ public SelectBuilder addMinus( AbstractQueryBuilder<?> t ) {
+ getWhereHandler().addMinus( t );
+ return this;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/clauses/WhereClause.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/clauses/WhereClause.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/clauses/WhereClause.java
index 978255b..e67baa0 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/clauses/WhereClause.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/clauses/WhereClause.java
@@ -123,7 +123,7 @@ public interface WhereClause<T extends AbstractQueryBuilder<T>> {
* Adds an optional group pattern to the where clause.
*
* @param t
- * The select builder to add as a group pattern
+ * The select builder to add as an optional pattern
* @return The Builder for chaining.
*/
public T addOptional(SelectBuilder t);
@@ -216,5 +216,16 @@ public interface WhereClause<T extends AbstractQueryBuilder<T>> {
* @return the first blank node in the list.
*/
public Node list( Object ... objs );
+
+ /**
+ * Add a minus clause to the query.
+ *
+ * https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#rMinusGraphPattern
+ *
+ * @param t
+ * The select builder to add as a minus pattern
+ * @return this builder for chaining
+ */
+ public T addMinus( AbstractQueryBuilder<?> t );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/WhereHandler.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/WhereHandler.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/WhereHandler.java
index 0198006..9b52687 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/WhereHandler.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/WhereHandler.java
@@ -419,4 +419,13 @@ public class WhereHandler implements Handler {
return retval;
}
+
+ public void addMinus( AbstractQueryBuilder<?> t )
+ {
+ PrologHandler ph = new PrologHandler(query);
+ ph.addPrefixes( t.getPrologHandler().getPrefixes() );
+ ElementGroup clause = getClause();
+ ElementMinus minus = new ElementMinus(t.getWhereHandler().getClause());
+ clause.addElement(minus);
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/AbstractRegexpBasedTest.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/AbstractRegexpBasedTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/AbstractRegexpBasedTest.java
index ce7cf11..47e907b 100644
--- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/AbstractRegexpBasedTest.java
+++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/AbstractRegexpBasedTest.java
@@ -51,6 +51,7 @@ public abstract class AbstractRegexpBasedTest {
protected static final String BIND = "BIND";
protected static final String SEMI = OPT_SPACE+"\\;";
protected static final String VALUES = "VALUES" + SPACE;
+ protected static final String MINUS = "MINUS" + SPACE;
protected static String quote(String s) {
return String.format("%s%s%s", QUOTE, s, QUOTE);
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/clauses/WhereClauseTest.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/clauses/WhereClauseTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/clauses/WhereClauseTest.java
index ba43404..6264222 100644
--- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/clauses/WhereClauseTest.java
+++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/clauses/WhereClauseTest.java
@@ -389,4 +389,20 @@ public class WhereClauseTest<T extends WhereClause<?>> extends
assertContainsRegex(
"_:b0"+SPACE+ uri("foo") + SPACE + uri("bar"), builder.buildString());
}
+
+ @ContractTest
+ public void testAddMinus() {
+ SelectBuilder sb = new SelectBuilder();
+ sb.addPrefix("pfx", "uri").addVar("?x")
+ .addWhere("<one>", "<two>", "three");
+ WhereClause<?> whereClause = getProducer().newInstance();
+ AbstractQueryBuilder<?> builder = whereClause.addMinus( sb );
+
+ String str = builder.buildString();
+
+ assertContainsRegex(MINUS + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + quote("three") + CLOSE_CURLY,
+ str);
+
+ }
+
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4e8574fc/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/WhereHandlerTest.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/WhereHandlerTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/WhereHandlerTest.java
index aebacee..c7df825 100644
--- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/WhereHandlerTest.java
+++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/handlers/WhereHandlerTest.java
@@ -83,8 +83,8 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void addWhereTriple() {
- handler.addWhere( new TriplePath(
- new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three"))));
+ handler.addWhere(new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"),
+ NodeFactory.createURI("three"))));
assertContainsRegex(
WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + uri("three") + OPT_SPACE + CLOSE_CURLY,
query.toString());
@@ -92,8 +92,9 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void testAddWhereObjects() {
- handler.addWhere(new TriplePath(new Triple(NodeFactory.createURI("one"), ResourceFactory.createResource("two").asNode(),
- ResourceFactory.createLangLiteral("three", "en-US").asNode())));
+ handler.addWhere(
+ new TriplePath(new Triple(NodeFactory.createURI("one"), ResourceFactory.createResource("two").asNode(),
+ ResourceFactory.createLangLiteral("three", "en-US").asNode())));
assertContainsRegex(WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + quote("three") + "@en-US"
+ OPT_SPACE + CLOSE_CURLY, query.toString());
}
@@ -102,13 +103,13 @@ public class WhereHandlerTest extends AbstractHandlerTest {
public void testAddWhereObjectsWithPath() {
PrefixMapping pmap = new PrefixMappingImpl();
pmap.setNsPrefix("ts", "urn:test:");
- Path path = PathParser.parse( "ts:two/ts:dos", pmap);
+ Path path = PathParser.parse("ts:two/ts:dos", pmap);
handler.addWhere(new TriplePath(NodeFactory.createURI("one"), path,
ResourceFactory.createLangLiteral("three", "en-US").asNode()));
- assertContainsRegex(WHERE + OPEN_CURLY + uri("one") + SPACE +
- uri("urn:test:two")+"/"+uri("urn:test:dos") + SPACE + quote("three") + "@en-US"
- + OPT_SPACE + CLOSE_CURLY, query.toString());
+ assertContainsRegex(WHERE + OPEN_CURLY + uri("one") + SPACE + uri("urn:test:two") + "/" + uri("urn:test:dos")
+ + SPACE + quote("three") + "@en-US" + OPT_SPACE + CLOSE_CURLY, query.toString());
}
+
@Test
public void testAddWhereAnonymous() {
handler.addWhere(new TriplePath(new Triple(Node.ANY, RDF.first.asNode(), Node.ANY)));
@@ -119,8 +120,8 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void testAddOptionalStrings() {
- handler.addOptional( new TriplePath(
- new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three"))));
+ handler.addOptional(new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"),
+ NodeFactory.createURI("three"))));
assertContainsRegex(WHERE + OPEN_CURLY + "OPTIONAL" + SPACE + OPEN_CURLY + uri("one") + SPACE + uri("two")
+ SPACE + uri("three") + OPT_SPACE + CLOSE_CURLY + CLOSE_CURLY, query.toString());
}
@@ -158,29 +159,30 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void testAddOptionalObjects() {
- handler.addOptional(new TriplePath(new Triple(NodeFactory.createURI("one"), ResourceFactory.createResource("two").asNode(),
- ResourceFactory.createLangLiteral("three", "en-US").asNode())));
+ handler.addOptional(
+ new TriplePath(new Triple(NodeFactory.createURI("one"), ResourceFactory.createResource("two").asNode(),
+ ResourceFactory.createLangLiteral("three", "en-US").asNode())));
assertContainsRegex(WHERE + OPEN_CURLY + "OPTIONAL" + SPACE + OPEN_CURLY + uri("one") + SPACE + uri("two")
+ SPACE + quote("three") + "@en-US" + OPT_SPACE + CLOSE_CURLY + CLOSE_CURLY, query.toString());
}
-
+
@Test
public void testAddOptionalObjectsWithPath() {
PrefixMapping pmap = new PrefixMappingImpl();
pmap.setNsPrefix("ts", "urn:test:");
- Path path = PathParser.parse( "ts:two/ts:dos", pmap);
+ Path path = PathParser.parse("ts:two/ts:dos", pmap);
handler.addOptional(new TriplePath(NodeFactory.createURI("one"), path,
ResourceFactory.createLangLiteral("three", "en-US").asNode()));
- assertContainsRegex(WHERE + OPEN_CURLY + "OPTIONAL" + SPACE + OPEN_CURLY + uri("one")
- + SPACE + uri("urn:test:two")+"/"+uri("urn:test:dos")
- + SPACE + quote("three") + "@en-US" + OPT_SPACE + CLOSE_CURLY + CLOSE_CURLY, query.toString());
+ assertContainsRegex(WHERE + OPEN_CURLY + "OPTIONAL" + SPACE + OPEN_CURLY + uri("one") + SPACE
+ + uri("urn:test:two") + "/" + uri("urn:test:dos") + SPACE + quote("three") + "@en-US" + OPT_SPACE
+ + CLOSE_CURLY + CLOSE_CURLY, query.toString());
}
-
+
@Test
public void testAddWhereStrings() {
- handler.addWhere(new TriplePath(
- new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three"))));
+ handler.addWhere(new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"),
+ NodeFactory.createURI("three"))));
assertContainsRegex(
WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + uri("three") + OPT_SPACE + CLOSE_CURLY,
query.toString());
@@ -219,8 +221,8 @@ public class WhereHandlerTest extends AbstractHandlerTest {
SelectBuilder sb = new SelectBuilder();
sb.addPrefix("pfx", "uri").addVar("?x").addWhere("<one>", "<two>", "three");
handler.addSubQuery(sb);
- assertContainsRegex(SELECT + var("x") + SPACE + WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two")
- + SPACE + quote("three") + CLOSE_CURLY, query.toString());
+ assertContainsRegex(SELECT + var("x") + SPACE + WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE
+ + quote("three") + CLOSE_CURLY, query.toString());
}
@Test
@@ -228,19 +230,17 @@ public class WhereHandlerTest extends AbstractHandlerTest {
SelectBuilder sb = new SelectBuilder();
sb.addPrefix("pfx", "uri").addVar("count(*)", "?x").addWhere("<one>", "<two>", "three");
handler.addSubQuery(sb);
- assertContainsRegex( SELECT + OPEN_PAREN+"count"+OPEN_PAREN+"\\*"+CLOSE_PAREN+SPACE+"AS" +SPACE+var("x")+CLOSE_PAREN+ SPACE + WHERE + OPEN_CURLY + uri("one") +
- SPACE + uri("two")
- + SPACE + quote("three") + CLOSE_CURLY, query.toString());
+ assertContainsRegex(SELECT + OPEN_PAREN + "count" + OPEN_PAREN + "\\*" + CLOSE_PAREN + SPACE + "AS" + SPACE
+ + var("x") + CLOSE_PAREN + SPACE + WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE
+ + quote("three") + CLOSE_CURLY, query.toString());
}
-
@Test
public void testAddSubQueryWithoutVars() {
SelectBuilder sb = new SelectBuilder();
sb.addPrefix("pfx", "uri").addWhere("<one>", "<two>", "three");
handler.addSubQuery(sb);
- assertContainsRegex(
- WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + quote("three") + CLOSE_CURLY,
+ assertContainsRegex(WHERE + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + quote("three") + CLOSE_CURLY,
query.toString());
}
@@ -257,7 +257,7 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void testAddUnionToExisting() {
- handler.addWhere( new TriplePath(
+ handler.addWhere(new TriplePath(
new Triple(NodeFactory.createURI("s"), NodeFactory.createURI("p"), NodeFactory.createURI("o"))));
SelectBuilder sb = new SelectBuilder();
sb.addWhere(
@@ -281,7 +281,7 @@ public class WhereHandlerTest extends AbstractHandlerTest {
@Test
public void testAddUnionToExistingWithVar() {
- handler.addWhere( new TriplePath(
+ handler.addWhere(new TriplePath(
new Triple(NodeFactory.createURI("s"), NodeFactory.createURI("p"), NodeFactory.createURI("o"))));
SelectBuilder sb = new SelectBuilder().addVar("x").addWhere(
new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three")));
@@ -296,8 +296,8 @@ public class WhereHandlerTest extends AbstractHandlerTest {
public void addGraph() {
WhereHandler handler2 = new WhereHandler(new Query());
- handler2.addWhere(new TriplePath(
- new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three"))));
+ handler2.addWhere(new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"),
+ NodeFactory.createURI("three"))));
handler.addGraph(NodeFactory.createURI("graph"), handler2);
assertContainsRegex(WHERE + OPEN_CURLY + "GRAPH" + SPACE + uri("graph") + SPACE + OPEN_CURLY + uri("one")
@@ -429,4 +429,13 @@ public class WhereHandlerTest extends AbstractHandlerTest {
assertContainsRegex("_:b0" + SPACE + uri("foo") + SPACE + uri("bar"), query.toString());
}
+
+ @Test
+ public void testAddMinus() {
+ SelectBuilder sb = new SelectBuilder();
+ sb.addPrefix("pfx", "uri").addWhere("<one>", "<two>", "three");
+ handler.addMinus(sb);
+ assertContainsRegex(MINUS + OPEN_CURLY + uri("one") + SPACE + uri("two") + SPACE + quote("three") + CLOSE_CURLY,
+ query.toString());
+ }
}