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/04 01:30:33 UTC
[12/50] incubator-commonsrdf git commit: test json-ld parse by
URL/Path/InputStream
test json-ld parse by URL/Path/InputStream
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/21b68eea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/21b68eea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/21b68eea
Branch: refs/heads/rdf4j
Commit: 21b68eeab8d2b148dd05f0947d7c11e6a126c068
Parents: 0d6a0f8
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Apr 13 02:45:25 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Apr 13 02:52:11 2016 +0100
----------------------------------------------------------------------
.../rdf/jsonldjava/JsonLdParserBuilderTest.java | 88 +++++++++++++++++++-
1 file changed, 84 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/21b68eea/jsonld-java/src/test/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilderTest.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/test/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilderTest.java b/jsonld-java/src/test/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilderTest.java
index df8511c..d3eae2b 100644
--- a/jsonld-java/src/test/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilderTest.java
+++ b/jsonld-java/src/test/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilderTest.java
@@ -17,20 +17,100 @@
*/
package org.apache.commons.rdf.jsonldjava;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
import java.util.concurrent.TimeUnit;
import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
import org.apache.commons.rdf.api.RDFSyntax;
+import org.apache.commons.rdf.simple.Types;
import org.junit.Test;
public class JsonLdParserBuilderTest {
+
+ private static final String TEST_JSONLD = "/test.jsonld";
+ static JsonLdRDFTermFactory factory = new JsonLdRDFTermFactory();
+ IRI test = factory.createIRI("http://example.com/test");
+ IRI Type = factory.createIRI("http://example.com/Type");
+ IRI type = factory.createIRI("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
+ IRI pred1 = factory.createIRI("http://example.com/pred1");
+ IRI pred2 = factory.createIRI("http://example.com/pred2");
+ IRI pred3 = factory.createIRI("http://example.com/pred3");
+ IRI pred4 = factory.createIRI("http://example.com/pred4");
+ IRI other = factory.createIRI("http://example.com/other");
+ IRI graph = factory.createIRI("http://example.com/graph");
+
+
+
@Test
public void parseByUrl() throws Exception {
- URL url = getClass().getResource("/test.jsonld");
- IRI iri = new JsonLdRDFTermFactory().createIRI(url.toString());
- Graph g = new JsonLdParserBuilder().contentType(RDFSyntax.JSONLD).source(iri).parse().get(10, TimeUnit.SECONDS);
- System.out.println(g);
+ URL url = getClass().getResource(TEST_JSONLD);
+ assertNotNull("Test resource not found: " + TEST_JSONLD, url);
+ IRI iri = factory.createIRI(url.toString());
+ Graph g = new JsonLdParserBuilder()
+ .contentType(RDFSyntax.JSONLD).source(iri).parse()
+ .get(10, TimeUnit.SECONDS);
+ checkGraph(g);
+ }
+
+ @Test
+ public void parseByPath() throws Exception {
+ Path path = Files.createTempFile("test", ".jsonld");
+ path.toFile().deleteOnExit();
+ try (InputStream is = getClass().getResourceAsStream(TEST_JSONLD)) {
+ assertNotNull("Test resource not found: " + TEST_JSONLD, is);
+ Files.copy(is, path, StandardCopyOption.REPLACE_EXISTING);
+ }
+ Graph g = new JsonLdParserBuilder()
+ .contentType(RDFSyntax.JSONLD).source(path).parse()
+ .get(10, TimeUnit.SECONDS);
+ checkGraph(g);
+ }
+
+ @Test
+ public void parseByStream() throws Exception {
+ Graph g;
+ try (InputStream is = getClass().getResourceAsStream(TEST_JSONLD)) {
+ assertNotNull("Test resource not found: " + TEST_JSONLD, is);
+ g = new JsonLdParserBuilder()
+ .base("http://example.com/base/")
+ .contentType(RDFSyntax.JSONLD).source(is).parse()
+ .get(10, TimeUnit.SECONDS);
+ }
+ checkGraph(g);
+ }
+
+
+ private void checkGraph(Graph g) {
+ assertTrue(g.contains(test, type, Type));
+ // Should not include statements from the named graph
+
+ assertEquals(1, g.getTriples(test, pred1, null).count());
+ assertEquals(1, g.getTriples(test, pred2, null).count());
+
+ assertEquals("Hello",
+ ((Literal) g.getTriples(test, pred1, null)
+ .findFirst().get().getObject() ).getLexicalForm());
+ assertTrue(g.contains(test, pred2, other));
+
+ assertEquals("1337",
+ ((Literal) g.getTriples(test, pred3, null)
+ .findFirst().get().getObject() ).getLexicalForm());
+ assertEquals(Types.XSD_INTEGER,
+ ((Literal) g.getTriples(test, pred3, null)
+ .findFirst().get().getObject() ).getDatatype());
+
+ // While the named graph 'graph' is not included, the relationship
+ // to that @id is included.
+ assertTrue(g.contains(test, pred4, graph));
}
}