This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 255f75b78c8cca5c376b77aeda18f53ce028b08b Author: Andy Seaborne <[email protected]> AuthorDate: Thu Dec 4 15:09:55 2025 +0000 Add Quad.matches. Prefer Quad.create. --- .../org/apache/jena/riot/system/StreamRDFLib.java | 2 +- .../apache/jena/sparql/algebra/op/OpQuadBlock.java | 2 +- .../jena/sparql/algebra/op/OpQuadPattern.java | 2 +- .../apache/jena/sparql/core/DatasetGraphBase.java | 4 +- .../jena/sparql/core/DatasetGraphBaseFind.java | 16 +-- .../java/org/apache/jena/sparql/core/Quad.java | 88 +++++++++---- .../org/apache/jena/sparql/core/Substitute.java | 2 +- .../jena/sparql/core/mem/DatasetGraphInMemory.java | 2 +- .../jena/sparql/core/mem/OrderedTupleTable.java | 2 +- .../apache/jena/sparql/graph/NodeTransformLib.java | 2 +- .../org/apache/jena/sparql/modify/TemplateLib.java | 4 +- .../jena/sparql/modify/request/QuadAccSink.java | 2 +- .../jena/sparql/modify/request/QuadDataAcc.java | 2 +- .../jena/sparql/sse/builders/BuilderGraph.java | 2 +- .../org/apache/jena/sparql/syntax/Template.java | 2 +- .../src/main/java/org/apache/jena/system/G.java | 2 +- .../apache/jena/riot/lang/TestCollectorStream.java | 2 +- .../apache/jena/riot/lang/TestParserFactory.java | 4 +- .../sparql/core/AbstractDatasetGraphTests.java | 2 +- .../jena/sparql/core/DatasetGraphSimpleMem.java | 10 +- .../org/apache/jena/sparql/core/TS_SparqlCore.java | 3 +- .../java/org/apache/jena/sparql/core/TestQuad.java | 136 +++++++++++++++++++++ .../core/assembler/TestInMemDatasetAssembler.java | 2 +- .../sparql/modify/AbstractTestUpdateGraph.java | 6 +- .../org/apache/jena/sparql/util/TestFmtUtils.java | 4 +- .../example/streaming/StreamRDFToConnection.java | 2 +- .../jena/arq/querybuilder/UpdateBuilder.java | 4 +- .../arq/querybuilder/rewriters/OpRewriter.java | 2 +- .../updatebuilder/CollectionQuadHolder.java | 2 +- .../updatebuilder/ModelQuadHolder.java | 2 +- .../updatebuilder/QuadCollectionHolder.java | 2 +- .../updatebuilder/QuadIteratorBuilder.java | 2 +- .../updatebuilder/SingleQuadHolder.java | 8 +- .../arq/querybuilder/AbstractQueryBuilderTest.java | 14 +-- .../jena/arq/querybuilder/ConvertersTest.java | 4 +- .../jena/arq/querybuilder/UpdateBuilderTest.java | 20 +-- .../updatebuilder/CollectionQuadHolderTest.java | 32 ++--- .../updatebuilder/ModelQuadHolderTest.java | 8 +- .../updatebuilder/QBQuadHolderTest.java | 24 ++-- .../updatebuilder/SingleQuadHolderTest.java | 12 +- .../updatebuilder/WhereQuadHolderTest.java | 24 ++-- .../jena/query/text/changes/ChangesBatched.java | 2 +- .../jena/query/text/changes/ChangesCapture.java | 2 +- 43 files changed, 321 insertions(+), 150 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFLib.java b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFLib.java index 4c71f3b70c..c0027b0963 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFLib.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFLib.java @@ -147,7 +147,7 @@ public class StreamRDFLib { super(base); this.gn = gn; } @Override public void triple(Triple triple) - { other.quad(new Quad(gn, triple)); } + { other.quad(Quad.create(gn, triple)); } } private static class ParserOutputSinkTriples extends StreamRDFBase diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadBlock.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadBlock.java index 59e614ebef..f1cf632996 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadBlock.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadBlock.java @@ -61,7 +61,7 @@ public class OpQuadBlock extends Op0 public static OpQuadBlock create(Node quadNode, BasicPattern triples) { QuadPattern qp = new QuadPattern(); for ( Triple t : triples ) { - qp.add(new Quad(quadNode, t)); + qp.add(Quad.create(quadNode, t)); } return new OpQuadBlock(qp); } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java index 285eeab1bf..a62cfae32d 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpQuadPattern.java @@ -60,7 +60,7 @@ public class OpQuadPattern extends Op0 if ( quads == null ) { quads = new QuadPattern(); for ( Triple t : triples ) - quads.add(new Quad(graphNode, t)); + quads.add(Quad.create(graphNode, t)); } } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java index 9a89e09c65..9cb98d41bc 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java @@ -91,9 +91,9 @@ abstract public class DatasetGraphBase implements DatasetGraph public void delete(Quad quad) { throw new UnsupportedOperationException("DatasetGraph.delete(Quad)") ; } @Override - public void add(Node g, Node s, Node p, Node o) { add(new Quad(g,s,p,o)) ; } + public void add(Node g, Node s, Node p, Node o) { add(Quad.create(g,s,p,o)) ; } @Override - public void delete(Node g, Node s, Node p, Node o) { delete(new Quad(g,s,p,o)) ; } + public void delete(Node g, Node s, Node p, Node o) { delete(Quad.create(g,s,p,o)) ; } @Override /** Simple implementation but done without assuming iterator.remove() */ diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java index e58cf9e508..c004f9930d 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java @@ -27,19 +27,19 @@ import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; import org.apache.jena.sparql.core.mem.DatasetGraphInMemory ; -/** - * DatasetGraph framework. - * This class contains a convenience implementation of find that maps to a split between +/** + * DatasetGraph framework. + * This class contains a convenience implementation of find that maps to a split between * defaultGraph/named graphs. * @see DatasetGraphTriplesQuads * @see DatasetGraphCollection * @see DatasetGraphOne * @see DatasetGraphInMemory */ -abstract public class DatasetGraphBaseFind extends DatasetGraphBase +abstract public class DatasetGraphBaseFind extends DatasetGraphBase { protected DatasetGraphBaseFind() {} - + /** Implementation of find based on splitting into triples (default graph) and quads (named graph) */ @Override public Iterator<Quad> find(Node g, Node s, Node p, Node o) { @@ -49,7 +49,7 @@ abstract public class DatasetGraphBaseFind extends DatasetGraphBase return findNG(g, s, p, o) ; return findAny(s, p, o) ; } - + @Override public Iterator<Quad> findNG(Node g, Node s, Node p , Node o) { Iterator<Quad> qIter ; @@ -104,7 +104,7 @@ abstract public class DatasetGraphBaseFind extends DatasetGraphBase * For example, it may be possible to avoid "distinct". */ public Iterator<Quad> findQuadsInUnionGraph(Node s, Node p , Node o) { - return findUnionGraphTriples(s,p,o).map(t -> new Quad(Quad.unionGraph, t)).iterator() ; + return findUnionGraphTriples(s,p,o).map(t -> Quad.create(Quad.unionGraph, t)).iterator() ; } /** Find matches in the notional union of all named graphs - return as triples. @@ -120,7 +120,7 @@ abstract public class DatasetGraphBaseFind extends DatasetGraphBase /** Find in a specific named graph - {@code g} is a ground term (IRI or bNode), not a wild card (or null). */ protected abstract Iterator<Quad> findInSpecificNamedGraph(Node g, Node s, Node p , Node o) ; - + /** Find in any named graph - return quads. * If a triple matches in two different graph, return a quad for each. * See {@link #findInUnionGraph} for matching without duplicate triples. diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java index a04f2ed78c..9153035689 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java @@ -48,20 +48,22 @@ public class Quad implements Serializable * (and the default graph when parsing N-Quads or TriG) * Not for access to the default graph by name - use Quad.defaultGraphIRI. */ - public static final Node tripleInQuad = null; + public static final Node tripleInQuad = null; /** A {@code Quad} that has a wildcard in all fields. */ public static final Quad ANY = Quad.create( Node.ANY, Node.ANY, Node.ANY, Node.ANY ); private final Node graph, subject, predicate, object; - public Quad(Node graph, Triple triple) - { + /** @deprecated Prefer {@link Quad#create(Node, Triple)}. */ + @Deprecated + public Quad(Node graph, Triple triple) { this(graph, triple.getSubject(), triple.getPredicate(), triple.getObject()); } - public Quad(Node g, Node s, Node p, Node o) - { + /** @deprecated Prefer {@link Quad#create(Node, Node, Node, Node)}. */ + @Deprecated + public Quad(Node g, Node s, Node p, Node o) { // Null means it's a triple really. // if ( g == null ) // throw new UnsupportedOperationException("Quad: graph cannot be null"); @@ -77,8 +79,40 @@ public class Quad implements Serializable this.object = o; } - public static Quad create(Node g, Node s, Node p, Node o) { return new Quad(g,s,p,o); } - public static Quad create(Node g, Triple t) { return new Quad(g,t); } + /** + * Create a {@code Quad}. Nulls are not allowed for subject/predicate/object. + * <p> + * Null for graph means this is a triple, but for type checking reasons, it is + * being carried as a {@code Quad}. + */ + public static Quad create(Node g, Node s, Node p, Node o) { + return new Quad(g, s, p, o); + } + + /** + * Create a {@code Quad}. Nulls for for subject/predicate/object are converted to + * {@link Node#ANY}. + * <p> + * Null for graph means this is a triple, but for type checking + * reasons, it is being carried as a {@code Quad}. + */ + public static Quad createMatch(Node g, Node s, Node p, Node o) { + return Quad.create(g, nullToAny(s), nullToAny(p), nullToAny(o)); + } + + public static Quad create(Node g, Triple t) { + Objects.requireNonNull(t); + return new Quad(g, t); + } + + private static Node anyToNull( Node n ) + { return Node.ANY.equals( n ) ? null : n; } + + private static Node nullToAny( Node n ) + { return n == null ? Node.ANY : n; } + + private static boolean isAny(Node n) + { return n == null || Node.ANY.equals(n); } public final Node getGraph() { return graph; } public final Node getSubject() { return subject; } @@ -86,13 +120,9 @@ public class Quad implements Serializable public final Node getObject() { return object; } /** - * Get as a triple - useful because quads often come in blocks for the same graph + * Get the subject/predicate/object as a triple. */ public Triple asTriple() { - // Should we keep the triple around esp from the Quad(n,triple) constructor. - // Still have s,p,o for quads. - // Cost : one slot. - // Saving - (re)creating triples. return Triple.create(subject, predicate, object); } @@ -100,6 +130,30 @@ public class Quad implements Serializable return subject.isConcrete() && predicate.isConcrete() && object.isConcrete() && (graph == null || graph.isConcrete()); } + /** + * Does this quad, match the other quad, allowing for wildcards. + * The wildcard node is {@link Node#ANY} and it matches any node, including a wildcard. + * Both this quad and the argument quad may contain wildcards, + * that is "matches" is symmetric: + * {@code this.matches(that) == that.matches(this)}. + */ + public boolean matches(Quad other) { + return matches(other.getGraph(), other.getSubject(), other.getPredicate(), other.getObject()); + } + + public boolean matches(Node g, Node s, Node p, Node o) { + return matches(this.graph, g) && matches(this.subject, s) && matches(this.predicate, p) && matches(this.object, o); + } + + /** Match with possible wildcards (Node.ANY) in either argument. */ + private static boolean matches(Node patternNode, Node node) { + if ( isAny(patternNode) ) + return true; + if ( isAny(node) ) + return true; + return patternNode.sameTermAs(node); + } + /** * Test whether this is a quad for the default graph (not the default graphs by * explicit name) @@ -220,16 +274,6 @@ public class Quad implements Serializable return true; } - public boolean matches(Node g, Node s, Node p, Node o) { - return nodeMatches(getGraph(), g) && nodeMatches(getSubject(), s) && - nodeMatches(getPredicate(), p) && nodeMatches(getObject(), o); - } - - private static boolean nodeMatches(Node thisNode, Node otherNode) { - // otherNode may be Node.ANY, and this works out. - return otherNode.matches(thisNode); - } - @Override public String toString() { String str = (graph==null)?"_":graph.toString(); diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java index e0a71b7aab..1b5bc5b845 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java @@ -153,7 +153,7 @@ public class Substitute { Quad q = quad; if ( s1 != s || p1 != p || o1 != o || g1 != g ) - q = new Quad(g1, s1, p1, o1); + q = Quad.create(g1, s1, p1, o1); return q; } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/DatasetGraphInMemory.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/DatasetGraphInMemory.java index 7d0dc6935b..dee92c584f 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/DatasetGraphInMemory.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/DatasetGraphInMemory.java @@ -346,7 +346,7 @@ public class DatasetGraphInMemory extends DatasetGraphTriplesQuads implements Tr } private Consumer<Graph> addGraph(final Node name) { - return g -> g.find().mapWith(t -> new Quad(name, t)).forEach(this::add); + return g -> g.find().mapWith(t -> Quad.create(name, t)).forEach(this::add); } private final Consumer<Graph> removeGraph = g -> g.find().forEach(g::delete); diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java index c3c1bb20e6..7114cd5450 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/mem/OrderedTupleTable.java @@ -82,7 +82,7 @@ public abstract class OrderedTupleTable<TupleType, ConsumerType> implements Tupl } protected Quad unmap(final Node x1, final Node x2, final Node x3, final Node x4) { - return apply(reverse, x1, x2, x3, x4, Quad::new); + return apply(reverse, x1, x2, x3, x4, Quad::create); } protected Consumer<Triple> map(final TConsumer3<Node> consumer) { diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java index cd7435b6bd..dd5ef41203 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java @@ -150,7 +150,7 @@ public class NodeTransformLib { if ( !change ) return quad; - return new Quad(g, s, p, o); + return Quad.create(g, s, p, o); } public static Table transform(Table table, NodeTransform transform) { diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java index bf2026174f..c89d959079 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java @@ -61,7 +61,7 @@ public class TemplateLib { if ( dftGraph == null || Quad.isDefaultGraph(dftGraph) ) return quads ; Stream<Quad> remappedStream = quads.stream().map(q-> - !q.isDefaultGraph() ? q : new Quad(dftGraph, q.getSubject(), q.getPredicate(), q.getObject()) + !q.isDefaultGraph() ? q : Quad.create(dftGraph, q.getSubject(), q.getPredicate(), q.getObject()) ) ; return remappedStream.toList(); } @@ -144,7 +144,7 @@ public class TemplateLib { Quad q = quad; if ( s1 != s || p1 != p || o1 != o || g1 != g ) - q = new Quad(g1, s1, p1, o1); + q = Quad.create(g1, s1, p1, o1); Quad q2 = Substitute.substitute(q, b); return q2; diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadAccSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadAccSink.java index 52df7bac72..7be7cc4140 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadAccSink.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadAccSink.java @@ -57,7 +57,7 @@ public class QuadAccSink implements TripleCollector, Closeable public void addTriple(Triple triple) { check(triple) ; - sink.send(new Quad(graphNode, triple)) ; + sink.send(Quad.create(graphNode, triple)) ; } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadDataAcc.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadDataAcc.java index 4d992e1e14..8cf113401f 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadDataAcc.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/QuadDataAcc.java @@ -67,7 +67,7 @@ public class QuadDataAcc extends QuadDataAccSink implements TripleCollectorMark @Override public void addTriple(int index, Triple triple) { check(triple); - quads.add(index, new Quad(graphNode, triple)); + quads.add(index, Quad.create(graphNode, triple)); } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderGraph.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderGraph.java index d25b79bf5c..6497ea0e8b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderGraph.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderGraph.java @@ -208,6 +208,6 @@ public class BuilderGraph { Node s = BuilderNode.buildNode(list.get(1)); Node p = BuilderNode.buildNode(list.get(2)); Node o = BuilderNode.buildNode(list.get(3)); - return new Quad(g, s, p, o); + return Quad.create(g, s, p, o); } } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java index bc5ab33ff5..fc74e713a9 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java @@ -85,7 +85,7 @@ public class Template { if ( this.bgp != null ) { List<Quad> quads = new ArrayList<>(); for ( Triple triple : this.bgp.getList() ) { - quads.add(new Quad(Quad.defaultGraphNodeGenerated, triple)); + quads.add(Quad.create(Quad.defaultGraphNodeGenerated, triple)); } return quads; } diff --git a/jena-arq/src/main/java/org/apache/jena/system/G.java b/jena-arq/src/main/java/org/apache/jena/system/G.java index 5f774dd433..5f39ce193a 100644 --- a/jena-arq/src/main/java/org/apache/jena/system/G.java +++ b/jena-arq/src/main/java/org/apache/jena/system/G.java @@ -937,7 +937,7 @@ public class G { /** Convert an iterator of triples into quads for the specified graph name. */ public static Iter<Quad> triples2quads(Node graphNode, Iterator<Triple> iter) { - return Iter.iter(iter).map(t -> new Quad(graphNode, t)); + return Iter.iter(iter).map(t -> Quad.create(graphNode, t)); } /** diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java index 0286c2a95a..a5601f8572 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java @@ -56,7 +56,7 @@ public class TestCollectorStream { List<Quad> results = new ArrayList<>(); out.start(); for ( int i = 1; i <= size; i++ ) { - Quad q = new Quad(NodeFactory.createURI("http://graph"), NodeFactory.createBlankNode(), + Quad q = Quad.create(NodeFactory.createURI("http://graph"), NodeFactory.createBlankNode(), NodeFactory.createURI("http://predicate"), NodeFactoryExtra.intToNode(i)); out.quad(q); results.add(q); diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java index e49405269a..4d313c0600 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java @@ -112,7 +112,7 @@ public class TestParserFactory assertEquals(1, sink.quads.size()); Triple t = SSE.parseTriple("(<x> <p> <q>)"); - Quad q = new Quad(Quad.defaultGraphNodeGenerated, t); + Quad q = Quad.create(Quad.defaultGraphNodeGenerated, t); assertEquals(q, last(sink.quads)); } @@ -127,7 +127,7 @@ public class TestParserFactory assertEquals(1, sink.quads.size()); Triple t = SSE.parseTriple("(<http://base/x> <http://base/p> <http://base/q>)"); - Quad q = new Quad(Quad.defaultGraphNodeGenerated, t); + Quad q = Quad.create(Quad.defaultGraphNodeGenerated, t); assertEquals(q, last(sink.quads)); } diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphTests.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphTests.java index d8ae116cc1..dd92e26e2e 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphTests.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphTests.java @@ -296,7 +296,7 @@ public abstract class AbstractDatasetGraphTests Node subject = NodeFactory.createURI("http://example/s"); Node predicate = NodeFactory.createURI("http://example/p"); Node object = NodeFactory.createBlankNode(); - dsg.add(new Quad(Quad.defaultGraphIRI, subject, predicate, object)); + dsg.add(Quad.create(Quad.defaultGraphIRI, subject, predicate, object)); dsg.deleteAny(Node.ANY, subject, null, null); } diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/DatasetGraphSimpleMem.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/DatasetGraphSimpleMem.java index 88bd4557eb..827a5a0368 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/core/DatasetGraphSimpleMem.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/DatasetGraphSimpleMem.java @@ -94,7 +94,7 @@ public class DatasetGraphSimpleMem extends DatasetGraphTriplesQuads implements T if ( matches(t, s, p, o) ) // ?? Quad.defaultGraphNodeGenerated // Quad.defaultGraphIRI - results.add(new Quad(Quad.defaultGraphIRI, t)); + results.add(Quad.create(Quad.defaultGraphIRI, t)); return results.iterator(); } @@ -139,7 +139,7 @@ public class DatasetGraphSimpleMem extends DatasetGraphTriplesQuads implements T @Override protected void addToNamedGraph(Node g, Node s, Node p, Node o) { - Quad q = new Quad(g, s, p, o); + Quad q = Quad.create(g, s, p, o); quads.add(q); } @@ -150,7 +150,7 @@ public class DatasetGraphSimpleMem extends DatasetGraphTriplesQuads implements T @Override protected void deleteFromNamedGraph(Node g, Node s, Node p, Node o) { - quads.remove(new Quad(g, s, p, o)); + quads.remove(Quad.create(g, s, p, o)); } class GraphDft extends GraphBase { @@ -183,13 +183,13 @@ public class DatasetGraphSimpleMem extends DatasetGraphTriplesQuads implements T @Override public void performAdd(Triple t) { - Quad q = new Quad(graphName, t); + Quad q = Quad.create(graphName, t); quads.add(q); } @Override public void performDelete(Triple t) { - Quad q = new Quad(graphName, t); + Quad q = Quad.create(graphName, t); quads.remove(q); } diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_SparqlCore.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_SparqlCore.java index 3ea561bfb4..836cb95a9e 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_SparqlCore.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_SparqlCore.java @@ -23,7 +23,8 @@ import org.junit.platform.suite.api.Suite; @Suite @SelectClasses({ - TestContext.class + TestQuad.class + , TestContext.class , TestDatasetGraphMem.class , TestDatasetGraphMemTriplesQuads.class , TestDatasetGeneral.class diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestQuad.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestQuad.java new file mode 100644 index 0000000000..746e627e6f --- /dev/null +++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestQuad.java @@ -0,0 +1,136 @@ +/* + * 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.core; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +import org.apache.jena.graph.Node; +import org.apache.jena.sparql.sse.SSE; + +public class TestQuad { + private static Node g1 = SSE.parseNode(":g1"); + private static Node s1 = SSE.parseNode(":s1"); + private static Node p1 = SSE.parseNode(":p1"); + private static Node o1 = SSE.parseNode(":o1"); + + private static Node g2 = SSE.parseNode(":g2"); + private static Node s2 = SSE.parseNode(":s2"); + private static Node p2 = SSE.parseNode(":p2"); + private static Node o2 = SSE.parseNode(":o2"); + + + @Test public void quad_01() { + Quad quad = Quad.create(g1, s1, p1, o1); + assertEquals(g1, quad.getGraph()); + assertEquals(s1, quad.getSubject()); + assertEquals(p1, quad.getPredicate()); + assertEquals(o1, quad.getObject()); + } + + @Test public void quad_02() { + Quad quad = Quad.create(null, s1, p1, o1); + assertEquals(null, quad.getGraph()); + assertThrows(UnsupportedOperationException.class, ()->Quad.create(g1, null, p1, o1)); + assertThrows(UnsupportedOperationException.class, ()->Quad.create(g1, s1, null, o1)); + assertThrows(UnsupportedOperationException.class, ()->Quad.create(g1, s1, p1, null)); + } + + @Test public void quad_03() { + Quad quad = Quad.createMatch(null, null, null, null); + assertEquals(null, quad.getGraph()); + assertEquals(Node.ANY, quad.getSubject()); + assertEquals(Node.ANY, quad.getPredicate()); + assertEquals(Node.ANY, quad.getObject()); + } + + @Test public void quad_match_01() { + Quad quad = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g1, s1, p1, o1); + assertTrue(mq.matches(quad)); + assertTrue(quad.matches(mq)); + } + + @Test public void quad_match_02() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g2, s2, p2, o2); + assertFalse(mq.matches(quad1)); + assertFalse(quad1.matches(mq)); + } + + @Test public void quad_match_10() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(Node.ANY, s1, p1, o1); + assertTrue(mq.matches(quad1)); + assertTrue(quad1.matches(mq)); + } + + @Test public void quad_match_11() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g1, Node.ANY, p1, o1); + assertTrue(mq.matches(quad1)); + assertTrue(quad1.matches(mq)); + } + + @Test public void quad_match_12() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g1, s1, Node.ANY, o1); + assertTrue(mq.matches(quad1)); + assertTrue(quad1.matches(mq)); + } + + @Test public void quad_match_13() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g1, s1, p1, Node.ANY); + assertTrue(mq.matches(quad1)); + assertTrue(quad1.matches(mq)); + } + + @Test public void quad_match_20() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(Node.ANY, s2, p1, o1); + assertFalse(mq.matches(quad1)); + assertFalse(quad1.matches(mq)); + } + + @Test public void quad_match_21() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g2, Node.ANY, p1, o1); + assertFalse(mq.matches(quad1)); + assertFalse(quad1.matches(mq)); + } + + @Test public void quad_match_22() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g1, s1, Node.ANY, o2); + assertFalse(mq.matches(quad1)); + assertFalse(quad1.matches(mq)); + } + + @Test public void quad_match_23() { + Quad quad1 = Quad.create(g1, s1, p1, o1); + Quad mq = Quad.create(g2, s1, p1, Node.ANY); + assertFalse(mq.matches(quad1)); + assertFalse(quad1.matches(mq)); + } +} diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java index 10e391084d..6aee12373c 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java @@ -140,7 +140,7 @@ public class TestInMemDatasetAssembler { final DatasetGraph dsg = DatasetGraphFactory.createTxnMem(); model.listStatements() .mapWith(Statement::asTriple) - .mapWith(t -> new Quad(quadsURI.asNode(), t)) + .mapWith(t -> Quad.create(quadsURI.asNode(), t)) .forEachRemaining(dsg::add); try (OutputStream out = new FileOutputStream(quads)) { write(out, dsg, NQUADS); diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java index 0c4d8ff7ed..1dc49a782e 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java @@ -124,7 +124,7 @@ public abstract class AbstractTestUpdateGraph extends AbstractTestUpdateBase DatasetGraph gStore = getEmptyDatasetGraph(); gStore.addGraph(graphIRI, GraphMemFactory.createDefaultGraph()); UpdateModify insert = new UpdateModify(); - insert.getInsertAcc().addQuad(new Quad(graphIRI, triple1)); + insert.getInsertAcc().addQuad(Quad.create(graphIRI, triple1)); UpdateAction.execute(insert, gStore); assertTrue(graphContains(gStore.getGraph(graphIRI), triple1)); } @@ -211,7 +211,7 @@ public abstract class AbstractTestUpdateGraph extends AbstractTestUpdateBase UpdateModify modify = new UpdateModify(); Element element = QueryFactory.createElement("{ ?s <http://example/p> ?o }"); modify.setElement(element); - modify.getInsertAcc().addQuad(new Quad(graphIRI, triple1)); + modify.getInsertAcc().addQuad(Quad.create(graphIRI, triple1)); modify.getDeleteAcc().addTriple(SSE.parseTriple("(?s <http://example/p> ?o)")); modify.getDeleteAcc().addQuad(SSE.parseQuad("(<http://example/graph> ?s <http://example/p> ?o)")); UpdateAction.execute(modify, gStore); @@ -237,7 +237,7 @@ public abstract class AbstractTestUpdateGraph extends AbstractTestUpdateBase UpdateModify modify = new UpdateModify(); Element element = QueryFactory.createElement("{ ?s <http://example/p> ?o }"); modify.setElement(element); - modify.getInsertAcc().addQuad(new Quad(graphIRI, triple1)); + modify.getInsertAcc().addQuad(Quad.create(graphIRI, triple1)); modify.getDeleteAcc().addTriple(SSE.parseTriple("(?s <http://example/p> ?o)")); modify.getDeleteAcc().addQuad(SSE.parseQuad("(<http://example/graph> ?s <http://example/p> ?o)")); UpdateAction.execute(modify, gStore); diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java index 7ce515386c..8cb1be14cf 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java @@ -60,7 +60,7 @@ public class TestFmtUtils public void stringForQuadEncoding() { Node n1 = NodeFactory.createURI("q1"); - Quad quad = new Quad(n1, getTriple()); + Quad quad = Quad.create(n1, getTriple()); assertEquals("<q1> <n1> <n2> \"l3\"", stringForQuad(quad)); } @@ -69,7 +69,7 @@ public class TestFmtUtils public void stringForQuad_WithPrefixMapping() { Node n1 = NodeFactory.createURI("q1"); - Quad quad = new Quad(n1, getPrefixedTriple()); + Quad quad = Quad.create(n1, getPrefixedTriple()); assertEquals("<q1> zz:abs <n2> \"l3\"", stringForQuad(quad, getPrefixMapping())); } diff --git a/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java b/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java index dcc2d14a2f..3dc50b29a6 100644 --- a/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java +++ b/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java @@ -136,7 +136,7 @@ public class StreamRDFToConnection implements StreamRDF { Statement stmt2 = new StatementImpl(s, RDF.type, t); stream.start(); stream.triple(stmt1.asTriple()); - stream.quad(new Quad(g.asNode(), stmt2.asTriple())); + stream.quad(Quad.create(g.asNode(), stmt2.asTriple())); stream.finish(); System.out.println("Contains model 'g': " + dataset.containsNamedModel("g")); diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java index c572ab9dcc..9e3e821746 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java @@ -414,7 +414,7 @@ public class UpdateBuilder { * @return this builder for chaining. */ public UpdateBuilder addInsert(Object g, Triple t) { - Quad q = new Quad(makeNode(g), t); + Quad q = Quad.create(makeNode(g), t); inserts.add(new SingleQuadHolder(q)); return this; } @@ -617,7 +617,7 @@ public class UpdateBuilder { * @return this builder for chaining. */ public UpdateBuilder addDelete(Object g, Triple t) { - Quad q = new Quad(makeNode(g), t); + Quad q = Quad.create(makeNode(g), t); deletes.add(new SingleQuadHolder(q)); return this; } diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java index eafdb85faf..b4fac4dd32 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java @@ -51,7 +51,7 @@ class OpRewriter extends AbstractRewriter<Op> implements OpVisitor { } private Quad rewrite(Quad q) { - return new Quad(changeNode(q.getGraph()), changeNode(q.getSubject()), changeNode(q.getPredicate()), + return Quad.create(changeNode(q.getGraph()), changeNode(q.getSubject()), changeNode(q.getPredicate()), changeNode(q.getObject())); } diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolder.java index 4511a0f73f..e9a9dd2682 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolder.java @@ -94,7 +94,7 @@ public class CollectionQuadHolder implements QuadHolder { return WrappedIterator .create(collection.iterator()).mapWith(triple -> Triple.create(valueMap(triple.getSubject()), valueMap(triple.getPredicate()), valueMap(triple.getObject()))) - .mapWith(triple -> new Quad(defaultGraphName, triple)); + .mapWith(triple -> Quad.create(defaultGraphName, triple)); } /** diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolder.java index b5d9284bce..c33633e6d4 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolder.java @@ -57,7 +57,7 @@ public class ModelQuadHolder implements QuadHolder { @Override public ExtendedIterator<Quad> getQuads() { - return model.listStatements().mapWith(stmt -> new Quad(defaultGraphName, stmt.asTriple())); + return model.listStatements().mapWith(stmt -> Quad.create(defaultGraphName, stmt.asTriple())); } /** diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadCollectionHolder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadCollectionHolder.java index 5cf55acba6..7b1c79a668 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadCollectionHolder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadCollectionHolder.java @@ -67,7 +67,7 @@ public class QuadCollectionHolder implements QuadHolder { ExtendedIterator<Quad> retval = WrappedIterator.create(collection.iterator()); if (values != null) { - retval = retval.mapWith(q -> new Quad(valueMap(q.getGraph()), valueMap(q.getSubject()), + retval = retval.mapWith(q -> Quad.create(valueMap(q.getGraph()), valueMap(q.getSubject()), valueMap(q.getPredicate()), valueMap(q.getObject()))); } return retval; diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java index 98bb3a18b9..b2acda6b33 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java @@ -45,7 +45,7 @@ class QuadIteratorBuilder implements ElementVisitor { @Override public Quad apply(Triple triple) { - return new Quad(defaultGraph, Converters.checkVar(triple.getSubject()), + return Quad.create(defaultGraph, Converters.checkVar(triple.getSubject()), Converters.checkVar(triple.getPredicate()), Converters.checkVar(triple.getObject())); } }; diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolder.java index 0e8aa8ec1c..9f91712329 100644 --- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolder.java +++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolder.java @@ -43,7 +43,7 @@ public class SingleQuadHolder implements QuadHolder { public SingleQuadHolder(Quad quad) { if (quad.getGraph().isVariable() || quad.getSubject().isVariable() || quad.getPredicate().isVariable() || quad.getObject().isVariable()) { - this.quad = new Quad(Converters.checkVar(quad.getGraph()), Converters.checkVar(quad.getSubject()), + this.quad = Quad.create(Converters.checkVar(quad.getGraph()), Converters.checkVar(quad.getSubject()), Converters.checkVar(quad.getPredicate()), Converters.checkVar(quad.getObject())); } else { this.quad = quad; @@ -58,7 +58,7 @@ public class SingleQuadHolder implements QuadHolder { * @param triple the triple to convert to a quad. */ public SingleQuadHolder(Triple triple) { - this.quad = new Quad(Quad.defaultGraphNodeGenerated, Converters.checkVar(triple.getSubject()), + this.quad = Quad.create(Quad.defaultGraphNodeGenerated, Converters.checkVar(triple.getSubject()), Converters.checkVar(triple.getPredicate()), Converters.checkVar(triple.getObject())); } @@ -69,7 +69,7 @@ public class SingleQuadHolder implements QuadHolder { * @param triple the triple to convert to a quad. */ public SingleQuadHolder(Node graph, Triple triple) { - this.quad = new Quad(graph, triple); + this.quad = Quad.create(graph, triple); } @Override @@ -89,7 +89,7 @@ public class SingleQuadHolder implements QuadHolder { @Override public QuadHolder setValues(Map<Var, Node> values) { - updated = new Quad(mapValue(quad.getGraph(), values), mapValue(quad.getSubject(), values), + updated = Quad.create(mapValue(quad.getGraph(), values), mapValue(quad.getSubject(), values), mapValue(quad.getPredicate(), values), mapValue(quad.getObject(), values)); return this; } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilderTest.java index 029018c04c..0c864c6f00 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/AbstractQueryBuilderTest.java @@ -136,16 +136,6 @@ public class AbstractQueryBuilderTest { } - private void assertTripleMatch(Triple expected, Triple actual) { - if (!expected.matches(actual)) { - fail("expected: "+expected+" actual: "+actual); - } - } - - private void assertTripleMatch(Triple expected, TriplePath actual) { - assertTripleMatch(expected, actual.asTriple()); - } - @Test public void testMakeTriplePaths() { List<Object> list = new ArrayList<Object>(); @@ -155,6 +145,7 @@ public class AbstractQueryBuilderTest { list.add("<one>"); list.add(Integer.valueOf(5)); + // ANY for the blank nodes. Triple[] expected = { Triple.create(Node.ANY, RDF.first.asNode(), RDF.type.asNode()), Triple.create(Node.ANY, RDF.rest.asNode(), Node.ANY), @@ -171,8 +162,7 @@ public class AbstractQueryBuilderTest { assertEquals(expected.length, result.size()); for (int i=0;i<expected.length;i++) { - assertTripleMatch( expected[i], result.get(i)); + expected[i].matches(result.get(i).asTriple()); } } - } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/ConvertersTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/ConvertersTest.java index 4e70db7973..71c8cb66eb 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/ConvertersTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/ConvertersTest.java @@ -376,8 +376,8 @@ public class ConvertersTest { if (expected.isTriple()) { assertTrue(expected.asTriple().matches(asTriple(actual)), errMsg); } else { - assertTrue(expected.getSubject().matches(asTriplePath(actual).getSubject()), errMsg); - assertTrue(expected.getObject().matches(asTriplePath(actual).getObject()), errMsg); + assertTrue(expected.getSubject().sameTermAs(asTriplePath(actual).getSubject()), errMsg); + assertTrue(expected.getObject().sameTermAs(asTriplePath(actual).getObject()), errMsg); assertTrue(expected.getPath().equalTo(asTriplePath(actual).getPath(), new NodeIsomorphismMap()), errMsg); } } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/UpdateBuilderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/UpdateBuilderTest.java index 5e86ac3c2f..c7d9ae8d85 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/UpdateBuilderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/UpdateBuilderTest.java @@ -131,7 +131,7 @@ public class UpdateBuilderTest { @Test public void testInsert_Quad() { UpdateBuilder builder = new UpdateBuilder(); - builder.addInsert(new Quad(g, s, p, o)); + builder.addInsert(Quad.create(g, s, p, o)); Update update = builder.build(); assertTrue(update instanceof UpdateDataInsert); UpdateDataInsert udi = (UpdateDataInsert) update; @@ -149,14 +149,14 @@ public class UpdateBuilderTest { UpdateBuilder builder = new UpdateBuilder(); Collection<Quad> quads = new ArrayList<Quad>(); - quads.add(new Quad(g, s, p, o)); + quads.add(Quad.create(g, s, p, o)); Node g2 = NodeFactory.createURI("http://example.com/graph2"); Node s2 = NodeFactory.createURI("http://example.com/subject2"); Node p2 = NodeFactory.createURI("http://example.com/predicate2"); Node o2 = NodeFactory.createURI("http://example.com/object2"); - quads.add(new Quad(g2, s2, p2, o2)); + quads.add(Quad.create(g2, s2, p2, o2)); builder.addInsertQuads(quads); Update update = builder.build(); @@ -266,7 +266,7 @@ public class UpdateBuilderTest { public void testDelete_Quad() { UpdateBuilder builder = new UpdateBuilder(); - builder.addDelete(new Quad(g, s, p, o)); + builder.addDelete(Quad.create(g, s, p, o)); Update update = builder.build(); assertTrue(update instanceof UpdateDataDelete); UpdateDataDelete udd = (UpdateDataDelete) update; @@ -284,14 +284,14 @@ public class UpdateBuilderTest { UpdateBuilder builder = new UpdateBuilder(); Collection<Quad> quads = new ArrayList<Quad>(); - quads.add(new Quad(g, s, p, o)); + quads.add(Quad.create(g, s, p, o)); Node g2 = NodeFactory.createURI("http://example.com/graph2"); Node s2 = NodeFactory.createURI("http://example.com/subject2"); Node p2 = NodeFactory.createURI("http://example.com/predicate2"); Node o2 = NodeFactory.createURI("http://example.com/object2"); - quads.add(new Quad(g2, s2, p2, o2)); + quads.add(Quad.create(g2, s2, p2, o2)); builder.addDeleteQuads(quads); Update update = builder.build(); @@ -333,7 +333,7 @@ public class UpdateBuilderTest { @Test public void testInsertAndDelete() { UpdateBuilder builder = new UpdateBuilder(); - builder.addInsert(new Quad(g, s, p, o)); + builder.addInsert(Quad.create(g, s, p, o)); builder.addDelete(Triple.create(s, p, o)); builder.addWhere(null, p, "foo"); Update update = builder.build(); @@ -371,7 +371,7 @@ public class UpdateBuilderTest { UpdateBuilder builder = new UpdateBuilder(); Var v = Var.alloc("v"); - builder.addInsert(new Quad(g, s, v, o)); + builder.addInsert(Quad.create(g, s, v, o)); builder.addDelete(Triple.create(s, v, o)); builder.addWhere(null, v, "foo"); builder.setVar(v, p); @@ -410,7 +410,7 @@ public class UpdateBuilderTest { UpdateBuilder builder = new UpdateBuilder(); Node v = NodeFactory.createVariable("v"); - builder.addInsert(new Quad(g, s, v, o)); + builder.addInsert(Quad.create(g, s, v, o)); builder.addDelete(Triple.create(s, v, o)); builder.addWhere(null, v, "foo"); builder.setVar(v, p); @@ -449,7 +449,7 @@ public class UpdateBuilderTest { UpdateBuilder builder = new UpdateBuilder(); Node v = NodeFactory.createVariable("v"); - builder.addInsert(new Quad(g, s, v, o)); + builder.addInsert(Quad.create(g, s, v, o)); builder.addDelete(Triple.create(s, v, o)); builder.addWhere(null, v, "foo"); diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolderTest.java index b43b738d98..b59b849da8 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/CollectionQuadHolderTest.java @@ -55,8 +55,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -85,8 +85,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, aLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, aLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, aLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, aLst.get(1)), lst.get(1)); } @Test @@ -108,8 +108,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -139,8 +139,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, aLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, aLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, aLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, aLst.get(1)), lst.get(1)); } @Test @@ -161,8 +161,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -189,8 +189,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, aLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, aLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, aLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, aLst.get(1)), lst.get(1)); } @Test @@ -211,8 +211,8 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -239,7 +239,7 @@ public class CollectionQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, aLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, aLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, aLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, aLst.get(1)), lst.get(1)); } } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolderTest.java index 20fc65eaac..37d16c7810 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/ModelQuadHolderTest.java @@ -57,10 +57,10 @@ public class ModelQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - Quad q = new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)); + Quad q = Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)); assertTrue(lst.contains(q), "missing " + q); - q = new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)); + q = Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)); assertTrue(lst.contains(q), "missing " + q); } @@ -86,10 +86,10 @@ public class ModelQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - Quad q = new Quad(g, tLst.get(0)); + Quad q = Quad.create(g, tLst.get(0)); assertTrue(lst.contains(q), "missing " + q); - q = new Quad(g, tLst.get(1)); + q = Quad.create(g, tLst.get(1)); assertTrue(lst.contains(q), "missing " + q); } } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/QBQuadHolderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/QBQuadHolderTest.java index 138bee41af..2351e9519f 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/QBQuadHolderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/QBQuadHolderTest.java @@ -58,8 +58,8 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -87,8 +87,8 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -115,8 +115,8 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -147,8 +147,8 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -174,8 +174,8 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -205,7 +205,7 @@ public class QBQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } } diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolderTest.java index 248dca25c5..71669b4ad7 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/SingleQuadHolderTest.java @@ -41,7 +41,7 @@ public class SingleQuadHolderTest { Node s = NodeFactory.createURI("s"); Node p = NodeFactory.createURI("p"); Node o = NodeFactory.createURI("o"); - Quad quad = new Quad(g, s, p, o); + Quad quad = Quad.create(g, s, p, o); holder = new SingleQuadHolder(quad); List<Quad> lst = holder.getQuads().toList(); assertEquals(1, lst.size()); @@ -54,7 +54,7 @@ public class SingleQuadHolderTest { Node s = NodeFactory.createURI("s"); Node p = NodeFactory.createVariable("p"); Node o = NodeFactory.createURI("o"); - Quad quad = new Quad(g, s, p, o); + Quad quad = Quad.create(g, s, p, o); holder = new SingleQuadHolder(quad); List<Quad> lst = holder.getQuads().toList(); assertEquals(1, lst.size()); @@ -64,7 +64,7 @@ public class SingleQuadHolderTest { Node p2 = NodeFactory.createURI("p2"); map.put(Var.alloc(p), p2); holder.setValues(map); - Quad quad2 = new Quad(g, s, p2, o); + Quad quad2 = Quad.create(g, s, p2, o); lst = holder.getQuads().toList(); assertEquals(1, lst.size()); assertEquals(quad2, lst.get(0)); @@ -77,7 +77,7 @@ public class SingleQuadHolderTest { Node p = NodeFactory.createURI("p"); Node o = NodeFactory.createURI("o"); Triple triple = Triple.create(s, p, o); - Quad quad = new Quad(Quad.defaultGraphNodeGenerated, s, p, o); + Quad quad = Quad.create(Quad.defaultGraphNodeGenerated, s, p, o); holder = new SingleQuadHolder(triple); List<Quad> lst = holder.getQuads().toList(); assertEquals(1, lst.size()); @@ -90,7 +90,7 @@ public class SingleQuadHolderTest { Node p = NodeFactory.createVariable("p"); Node o = NodeFactory.createURI("o"); Triple triple = Triple.create(s, p, o); - Quad quad = new Quad(Quad.defaultGraphNodeGenerated, s, p, o); + Quad quad = Quad.create(Quad.defaultGraphNodeGenerated, s, p, o); holder = new SingleQuadHolder(triple); List<Quad> lst = holder.getQuads().toList(); assertEquals(1, lst.size()); @@ -100,7 +100,7 @@ public class SingleQuadHolderTest { Node p2 = NodeFactory.createURI("p2"); map.put(Var.alloc(p), p2); holder.setValues(map); - Quad quad2 = new Quad(Quad.defaultGraphNodeGenerated, s, p2, o); + Quad quad2 = Quad.create(Quad.defaultGraphNodeGenerated, s, p2, o); lst = holder.getQuads().toList(); assertEquals(1, lst.size()); assertEquals(quad2, lst.get(0)); diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/WhereQuadHolderTest.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/WhereQuadHolderTest.java index f7142e32bb..8e0c0fa998 100644 --- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/WhereQuadHolderTest.java +++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/updatebuilder/WhereQuadHolderTest.java @@ -58,8 +58,8 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -85,8 +85,8 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(1)), lst.get(1)); } @Test @@ -114,8 +114,8 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -148,8 +148,8 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(g, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(g, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -174,8 +174,8 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } @Test @@ -204,7 +204,7 @@ public class WhereQuadHolderTest { List<Quad> lst = holder.getQuads().toList(); assertEquals(2, lst.size()); - assertEquals(new Quad(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); - assertEquals(new Quad(g, tLst.get(1)), lst.get(1)); + assertEquals(Quad.create(Quad.defaultGraphNodeGenerated, tLst.get(0)), lst.get(0)); + assertEquals(Quad.create(g, tLst.get(1)), lst.get(1)); } } diff --git a/jena-text/src/main/java/org/apache/jena/query/text/changes/ChangesBatched.java b/jena-text/src/main/java/org/apache/jena/query/text/changes/ChangesBatched.java index 73141aeb80..9040e476ce 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/changes/ChangesBatched.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/changes/ChangesBatched.java @@ -78,7 +78,7 @@ public abstract class ChangesBatched implements TextDatasetChanges { currentSubject = s ; } - batchQuads.add(new Quad(g, s, p, o)) ; + batchQuads.add(Quad.create(g, s, p, o)) ; } private void startBatch() { diff --git a/jena-text/src/test/java/org/apache/jena/query/text/changes/ChangesCapture.java b/jena-text/src/test/java/org/apache/jena/query/text/changes/ChangesCapture.java index a0ca09163e..68ad56ced4 100644 --- a/jena-text/src/test/java/org/apache/jena/query/text/changes/ChangesCapture.java +++ b/jena-text/src/test/java/org/apache/jena/query/text/changes/ChangesCapture.java @@ -82,7 +82,7 @@ public class ChangesCapture implements TextDatasetChanges { @Override public void change(TextQuadAction qaction, Node g, Node s, Node p, Node o) { - Quad q = new Quad(g, s, p, o) ; + Quad q = Quad.create(g, s, p, o) ; Pair<TextQuadAction, Quad> pair = Pair.create(qaction, q) ; switch (qaction) {
