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:51 UTC

[30/50] incubator-commonsrdf git commit: asJsonLdString moved to JsonLdRDFTermFactory

asJsonLdString moved to JsonLdRDFTermFactory


Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/44a40d32
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/44a40d32
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/44a40d32

Branch: refs/heads/rdf4j
Commit: 44a40d3252ff5bc0b4f8733e7f9f33431243805c
Parents: 02db403
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 9 16:22:11 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 9 16:22:11 2016 +0100

----------------------------------------------------------------------
 .../commons/rdf/jsonldjava/JsonLdGraph.java     |  2 +-
 .../commons/rdf/jsonldjava/JsonLdGraphLike.java | 78 ++++++--------------
 2 files changed, 24 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44a40d32/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraph.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraph.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraph.java
index a07f9b1..3b35c76 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraph.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraph.java
@@ -92,7 +92,7 @@ class JsonLdGraph extends JsonLdGraphLike<org.apache.commons.rdf.api.Triple> imp
 
 	@Override
 	public long size() {
-		String g = graphName.map(this::asJsonLdString).orElse("@default");
+		String g = graphName.map(factory::asJsonLdString).orElse("@default");
 		return Optional.ofNullable(rdfDataSet.getQuads(g))
 				.map(List::size).orElse(0);
 	}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44a40d32/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraphLike.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraphLike.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraphLike.java
index 81f2ee7..cb8e568 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraphLike.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdGraphLike.java
@@ -17,7 +17,6 @@
  */
 package org.apache.commons.rdf.jsonldjava;
 
-import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
@@ -25,7 +24,6 @@ import java.util.UUID;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import org.apache.commons.rdf.api.BlankNode;
 import org.apache.commons.rdf.api.BlankNodeOrIRI;
 import org.apache.commons.rdf.api.GraphLike;
 import org.apache.commons.rdf.api.IRI;
@@ -37,7 +35,6 @@ import org.apache.commons.rdf.api.TripleLike;
 
 import com.github.jsonldjava.core.RDFDataset;
 import com.github.jsonldjava.core.RDFDataset.Node;
-import com.github.jsonldjava.core.RDFDataset.Quad;
 
 /**
  * Common abstract {@link GraphLike}.
@@ -84,22 +81,31 @@ abstract class JsonLdGraphLike<T extends TripleLike<BlankNodeOrIRI, IRI, RDFTerm
 	}
 	
 	@Override
-	public void add(T tripleOrQuad) {
-		String g = graphNameAsJsonLdString(tripleOrQuad);
-		String s = asJsonLdString(tripleOrQuad.getSubject());
-		String p = asJsonLdString(tripleOrQuad.getPredicate());
-		
-		if (tripleOrQuad.getObject() instanceof BlankNodeOrIRI) {
-			String o = asJsonLdString((BlankNodeOrIRI)tripleOrQuad.getObject());
+	public void add(T t) {
+		// add triples to default graph by default
+		BlankNodeOrIRI graphName = null;
+		if (t instanceof org.apache.commons.rdf.api.Quad) {
+			org.apache.commons.rdf.api.Quad q = (org.apache.commons.rdf.api.Quad)t;
+			graphName = q.getGraphName().orElse(null);
+		}
+		add(graphName, t.getSubject(), t.getPredicate(), t.getObject());
+	}	
+
+	void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+		String g = factory.asJsonLdString(graphName);
+		String s = factory.asJsonLdString(subject);
+		String p = factory.asJsonLdString(predicate);		
+		if (object instanceof BlankNodeOrIRI) {
+			String o = factory.asJsonLdString((BlankNodeOrIRI)object);
 			rdfDataSet.addQuad(s,p,o,g);
-		} else if(tripleOrQuad.getObject() instanceof Literal) { 
-			Literal literal = (Literal) tripleOrQuad.getObject();
+		} else if(object instanceof Literal) { 
+			Literal literal = (Literal) object;
 			String language = literal.getLanguageTag().orElse(null);
 			String datatype = literal.getDatatype().getIRIString();
 			rdfDataSet.addQuad(s,p,literal.getLexicalForm(), datatype, language, g);
-		}
+		}		
 	}
-	
+		
 	public void close() {
 		// Drop the memory reference, but don't clear it
 		rdfDataSet = null;			
@@ -133,44 +139,6 @@ abstract class JsonLdGraphLike<T extends TripleLike<BlankNodeOrIRI, IRI, RDFTerm
 				.map(this::asTripleOrQuad);
 	}
 	
-	void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		String g = asJsonLdString(graphName);
-		String s = asJsonLdString(subject);
-		String p = asJsonLdString(predicate);		
-		if (object instanceof BlankNodeOrIRI) {
-			String o = asJsonLdString((BlankNodeOrIRI)object);
-			rdfDataSet.addQuad(s,p,o,g);
-		} else if(object instanceof Literal) { 
-			Literal literal = (Literal) object;
-			String language = literal.getLanguageTag().orElse(null);
-			String datatype = literal.getDatatype().getIRIString();
-			rdfDataSet.addQuad(s,p,literal.getLexicalForm(), datatype, language, g);
-		}		
-	}
-
-	String asJsonLdString(BlankNodeOrIRI blankNodeOrIRI) {
-		if (blankNodeOrIRI == null) {
-			return null;
-		}
-		if (blankNodeOrIRI instanceof IRI) {
-			return ((IRI)blankNodeOrIRI).getIRIString();
-		} else if (blankNodeOrIRI instanceof BlankNode) {
-			BlankNode blankNode = (BlankNode) blankNodeOrIRI;
-			String ref = blankNode.uniqueReference();
-			if (ref.startsWith(bnodePrefix)) { 
-				// One of ours (but possibly not a JsonLdBlankNode) -  
-				// we can use the suffix directly
-				return ref.replace(bnodePrefix, "_:");
-			} else {
-				// Map to unique bnode identifier, e.g. _:0dbd92ee-ab1a-45e7-bba2-7ade54f87ec5
-				UUID uuid = UUID.nameUUIDFromBytes(ref.getBytes(StandardCharsets.UTF_8));
-				return "_:"+ uuid;
-			}
-		} else {
-			throw new IllegalArgumentException("Expected a BlankNode or IRI, not: " + blankNodeOrIRI);
-		}
-	}
-	
 	/**
 	 * Convert JsonLd Quad to a Commons RDF {@link Triple} or {@link org.apache.commons.rdf.api.Quad}
 	 * 
@@ -188,13 +156,13 @@ abstract class JsonLdGraphLike<T extends TripleLike<BlankNodeOrIRI, IRI, RDFTerm
 		return filteredGraphs(graphName).flatMap(List::stream).anyMatch(quadFilter(s,p,o));
 	}
 
-	Stream<List<Quad>> filteredGraphs(Optional<BlankNodeOrIRI> graphName) {
+	Stream<List<RDFDataset.Quad>> filteredGraphs(Optional<BlankNodeOrIRI> graphName) {
 		return rdfDataSet.graphNames().parallelStream()
 				// if graphName == null (wildcard), select all graphs, 
 	 			// otherwise check its jsonld string
 			    // (including @default for default graph)
 				.filter(g -> graphName == null ||
-						g.equals(graphName.map(this::asJsonLdString).orElse("@default")))
+						g.equals(graphName.map(factory::asJsonLdString).orElse("@default")))
 				// remove the quads which match our filter (which could have nulls as wildcards) 
 				.map(rdfDataSet::getQuads);
 	}
@@ -202,7 +170,7 @@ abstract class JsonLdGraphLike<T extends TripleLike<BlankNodeOrIRI, IRI, RDFTerm
 	String graphNameAsJsonLdString(T tripleOrQuad) {		
 		if (tripleOrQuad instanceof org.apache.commons.rdf.api.Quad) {
 			org.apache.commons.rdf.api.Quad quad = (org.apache.commons.rdf.api.Quad)tripleOrQuad;
-			return quad.getGraphName().map(this::asJsonLdString).orElse("@default");			
+			return quad.getGraphName().map(factory::asJsonLdString).orElse("@default");			
 		}		
 		return "@default";
 	}