You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by st...@apache.org on 2016/10/26 11:51:12 UTC
[10/50] [abbrv] incubator-commonsrdf git commit: Also test adding
Triple instances
Also test adding Triple instances
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/112505df
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/112505df
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/112505df
Branch: refs/heads/COMMONSRDF-46
Commit: 112505dfe488889b1ad16dca1120bd6c59ae8075
Parents: b8ff697
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Sep 12 18:59:33 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Sep 12 18:59:33 2016 +0100
----------------------------------------------------------------------
.../rdf/integrationtests/AllToAllTest.java | 64 +++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/112505df/integration-tests/src/test/java/org/apache/commons/rdf/integrationtests/AllToAllTest.java
----------------------------------------------------------------------
diff --git a/integration-tests/src/test/java/org/apache/commons/rdf/integrationtests/AllToAllTest.java b/integration-tests/src/test/java/org/apache/commons/rdf/integrationtests/AllToAllTest.java
index b9ea397..0d65f05 100644
--- a/integration-tests/src/test/java/org/apache/commons/rdf/integrationtests/AllToAllTest.java
+++ b/integration-tests/src/test/java/org/apache/commons/rdf/integrationtests/AllToAllTest.java
@@ -26,40 +26,49 @@ public class AllToAllTest {
@Test
public void jenaToRdf4j() throws Exception {
addTermsFromOtherFactory(jenaFactory, rdf4jFactory);
+ addTriplesFromOtherFactory(jenaFactory, rdf4jFactory);
}
@Test
public void jenaToJsonLd() throws Exception {
addTermsFromOtherFactory(jenaFactory, jsonldFactory);
+ addTriplesFromOtherFactory( jenaFactory, jsonldFactory );
}
@Test
public void jenaToSimple() throws Exception {
addTermsFromOtherFactory(jenaFactory, simpleFactory);
+ addTriplesFromOtherFactory( jenaFactory, simpleFactory );
}
@Test
public void rdf4jToJena() throws Exception {
addTermsFromOtherFactory(rdf4jFactory, jenaFactory);
+ addTriplesFromOtherFactory( rdf4jFactory, jenaFactory );
}
@Test
public void rdf4jToJsonLd() throws Exception {
addTermsFromOtherFactory(rdf4jFactory, jsonldFactory);
+ addTriplesFromOtherFactory( rdf4jFactory, jenaFactory );
}
@Test
public void rdf4jToSimple() throws Exception {
addTermsFromOtherFactory(rdf4jFactory, simpleFactory);
+ addTriplesFromOtherFactory(rdf4jFactory, simpleFactory );
}
@Test
public void simpletoJena() throws Exception {
addTermsFromOtherFactory(simpleFactory, jenaFactory);
+ addTriplesFromOtherFactory( simpleFactory, jenaFactory);
}
@Test
public void simpleToJsonLd() throws Exception {
addTermsFromOtherFactory(simpleFactory, jsonldFactory);
+ addTriplesFromOtherFactory( simpleFactory, jsonldFactory );
}
@Test
public void simpleToRdf4j() throws Exception {
addTermsFromOtherFactory(simpleFactory, rdf4jFactory);
+ addTriplesFromOtherFactory( simpleFactory, rdf4jFactory );
}
/**
@@ -67,8 +76,8 @@ public class AllToAllTest {
* {@link RDFTermFactory}, then inserts/queries with
* triples using {@link RDFTerm}s created with the second factory.
*
+ * @param nodeFactory Factory to create {@link RDFTerm} instances
* @param graphFactory Factory to create {@link Graph}
- * @param nodeFactory
* @throws Exception
*/
public void addTermsFromOtherFactory(RDFTermFactory nodeFactory, RDFTermFactory graphFactory) throws Exception {
@@ -108,4 +117,57 @@ public class AllToAllTest {
Triple t3 = g.stream(bnode, p, null).findAny().get();
assertEquals(t1, t3);
}
+
+
+ /**
+ * This is a variation of {@link #addTermsFromOtherFactory(RDFTermFactory, RDFTermFactory)},
+ * but here {@link Triple} is created in the "foreign" nodeFactory before adding to the graph.
+ *
+ * @param nodeFactory Factory to create {@link RDFTerm} and {@link Triple}s
+ * @param graphFactory Factory to create {@link Graph}
+ * @throws Exception
+ */
+ public void addTriplesFromOtherFactory(RDFTermFactory nodeFactory, RDFTermFactory graphFactory) throws Exception {
+ Graph g = graphFactory.createGraph();
+ BlankNode s = nodeFactory.createBlankNode();
+ IRI p = nodeFactory.createIRI("http://example.com/p");
+ Literal o = nodeFactory.createLiteral("Hello");
+
+ Triple srcT1 = nodeFactory.createTriple(s, p, o);
+ // This should work even with BlankNode as they are from the same factory
+ assertEquals(s, srcT1.getSubject());
+ assertEquals(p, srcT1.getPredicate());
+ assertEquals(o, srcT1.getObject());
+ g.add(srcT1);
+
+ // what about the blankNode within?
+ assertTrue(g.contains(srcT1));
+ Triple t1 = g.stream().findAny().get();
+
+ // Can't make assumptions about BlankNode equality - it might
+ // have been mapped to a different BlankNode.uniqueReference()
+ //assertEquals(srcT1, t1);
+ //assertEquals(s, t1.getSubject());
+ assertEquals(p, t1.getPredicate());
+ assertEquals(o, t1.getObject());
+
+ IRI s2 = nodeFactory.createIRI("http://example.com/s2");
+ Triple srcT2 = nodeFactory.createTriple(s2, p, s);
+ g.add(srcT2);
+ assertTrue(g.contains(srcT2));
+
+ // This should be mapped to the same BlankNode
+ // (even if it has a different identifier), e.g.
+ // we should be able to do:
+
+ Triple t2 = g.stream(s2, p, null).findAny().get();
+
+ BlankNode bnode = (BlankNode) t2.getObject();
+ // And that (possibly adapted) BlankNode object should
+ // match the subject of t1 statement
+ assertEquals(bnode, t1.getSubject());
+ // And can be used as a key:
+ Triple t3 = g.stream(bnode, p, null).findAny().get();
+ assertEquals(t1, t3);
+ }
}