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/09/09 16:14:43 UTC

[1/3] incubator-commonsrdf git commit: Removed unused import

Repository: incubator-commonsrdf
Updated Branches:
  refs/heads/jsonld-java 3a8cb5635 -> 3d63a0e0f


Removed unused import


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

Branch: refs/heads/jsonld-java
Commit: cbfb670b6f39f5cb4e1ffffcb35746263b9decf4
Parents: b1b657f
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 9 16:40:36 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 9 16:40:36 2016 +0100

----------------------------------------------------------------------
 .../org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/cbfb670b/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java b/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java
index 4a5b4d1..0dc0e67 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java
@@ -33,7 +33,6 @@ import org.apache.commons.rdf.api.Graph;
 import org.apache.commons.rdf.api.IRI;
 import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.api.RDFParserBuilder;
-import org.apache.commons.rdf.api.RDFParserBuilder.ParseResult;
 import org.apache.commons.rdf.api.RDFSyntax;
 import org.apache.commons.rdf.api.RDFTermFactory;
 
@@ -57,7 +56,7 @@ import org.apache.commons.rdf.api.RDFTermFactory;
  * asynchronous remote execution).
  */
 public abstract class AbstractRDFParserBuilder<T extends AbstractRDFParserBuilder<T>> 
-	implements RDFParserBuilder, Cloneable {
+	implements RDFParserBuilder, Cloneable {	
 	
 	public static final ThreadGroup threadGroup = new ThreadGroup("Commons RDF parsers");
 	private static final ExecutorService threadpool = Executors.newCachedThreadPool(r -> new Thread(threadGroup, r));


[2/3] incubator-commonsrdf git commit: Merge branch 'parser-with-quads' into jsonld-java

Posted by st...@apache.org.
Merge branch 'parser-with-quads' into jsonld-java


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

Branch: refs/heads/jsonld-java
Commit: 7010541cbc72173b540d8fd5166a16aa2f05491d
Parents: 3a8cb56 cbfb670
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 9 16:44:02 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 9 16:44:02 2016 +0100

----------------------------------------------------------------------
 .../org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------



[3/3] incubator-commonsrdf git commit: Updated for latest RDFPArserBuilder

Posted by st...@apache.org.
Updated for latest RDFPArserBuilder


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

Branch: refs/heads/jsonld-java
Commit: 3d63a0e0fdd50843c342e516514a528bc3316874
Parents: 7010541
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 9 17:14:26 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 9 17:14:26 2016 +0100

----------------------------------------------------------------------
 .../rdf/jsonldjava/JsonLdParserBuilder.java     | 66 ++++++++++++++------
 .../rdf/jsonldjava/JsonLdRDFTermFactory.java    |  2 +-
 2 files changed, 47 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3d63a0e0/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilder.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilder.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilder.java
index d609aa8..e38af2c 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilder.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdParserBuilder.java
@@ -26,11 +26,10 @@ import java.net.URL;
 import java.nio.file.Files;
 import java.util.function.Predicate;
 
+import org.apache.commons.rdf.api.Dataset;
 import org.apache.commons.rdf.api.Graph;
 import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.api.RDFParserBuilder;
 import org.apache.commons.rdf.api.RDFSyntax;
-import org.apache.commons.rdf.api.RDFTermFactory;
 import org.apache.commons.rdf.simple.AbstractRDFParserBuilder;
 
 import com.github.jsonldjava.core.JsonLdError;
@@ -39,15 +38,15 @@ import com.github.jsonldjava.core.JsonLdProcessor;
 import com.github.jsonldjava.core.RDFDataset;
 import com.github.jsonldjava.utils.JsonUtils;
 
-public class JsonLdParserBuilder extends AbstractRDFParserBuilder {
+public class JsonLdParserBuilder extends AbstractRDFParserBuilder<JsonLdParserBuilder> {
 
 	@Override
-	protected RDFTermFactory createRDFTermFactory() {
+	protected JsonLdRDFTermFactory createRDFTermFactory() {
 		return new JsonLdRDFTermFactory();
 	}
 
 	@Override
-	public RDFParserBuilder contentType(RDFSyntax rdfSyntax) throws IllegalArgumentException {
+	public JsonLdParserBuilder contentType(RDFSyntax rdfSyntax) throws IllegalArgumentException {
 		if (rdfSyntax != null && rdfSyntax != RDFSyntax.JSONLD) { 
 			throw new IllegalArgumentException("Unsupported contentType: " + rdfSyntax);
 		}
@@ -55,7 +54,7 @@ public class JsonLdParserBuilder extends AbstractRDFParserBuilder {
 	}
 	
 	@Override
-	public RDFParserBuilder contentType(String contentType) throws IllegalArgumentException {
+	public JsonLdParserBuilder contentType(String contentType) throws IllegalArgumentException {
 		JsonLdParserBuilder c = (JsonLdParserBuilder) super.contentType(contentType);
 		if (c.getContentType().filter(Predicate.isEqual(RDFSyntax.JSONLD).negate()).isPresent()) {
 			throw new IllegalArgumentException("Unsupported contentType: " + contentType);
@@ -79,7 +78,7 @@ public class JsonLdParserBuilder extends AbstractRDFParserBuilder {
 	}
 	
 	@Override
-	protected void parseSynchronusly() throws IOException, RDFParseException {		
+	protected void parseSynchronusly() throws IOException {		
 		Object json = readSource();
 		JsonLdOptions options = new JsonLdOptions();
 		getBase().map(IRI::getIRIString).ifPresent(options::setBase);
@@ -91,23 +90,50 @@ public class JsonLdParserBuilder extends AbstractRDFParserBuilder {
 		try {
 			rdfDataset = (RDFDataset) JsonLdProcessor.toRDF(json, options);
 		} catch (JsonLdError e) {
-			throw new RDFParseException(e);
-		}		
-		Graph intoGraph = getIntoGraph().get();
-		if (intoGraph instanceof JsonLdGraph && ! intoGraph.contains(null, null, null)) {
-			// Empty graph, we can just move over the map content directly:
-			JsonLdGraph jsonLdGraph = (JsonLdGraph) intoGraph;
-			jsonLdGraph.getRdfDataSet().putAll(rdfDataset);				
-		} else {
+			throw new IOException("Could not parse Json-LD", e);
+		}
+		if (getTargetGraph().isPresent()) {		
+			Graph intoGraph = getTargetGraph().get();
+			if (intoGraph instanceof JsonLdGraph && ! intoGraph.contains(null, null, null)) {
+				// Empty graph, we can just move over the map content directly:
+				JsonLdGraph jsonLdGraph = (JsonLdGraph) intoGraph;
+				jsonLdGraph.getRdfDataSet().putAll(rdfDataset);
+				return;
+				// otherwise we have to merge as normal
+			} 			
 			// TODO: Modify JsonLdProcessor to have an actual triple callback
-			try (JsonLdGraph parsedGraph = new JsonLdGraph(rdfDataset)) {
-				// sequential() as we don't know if intoGraph is thread safe :-/
-				parsedGraph.stream().sequential().forEach(intoGraph::add);
-			}
+			Graph parsedGraph = getJsonLdRDFTermFactory().asGraph(rdfDataset);			
+			// sequential() as we don't know if destination is thread safe :-/
+			parsedGraph.stream().sequential().forEach(intoGraph::add);
+		} else if (getTargetDataset().isPresent()) {
+			Dataset intoDataset = getTargetDataset().get();
+			if (intoDataset instanceof JsonLdDataset && 
+					! intoDataset.contains(null, null, null, null)) {				
+				JsonLdDataset jsonLdDataset = (JsonLdDataset) intoDataset;
+				// Empty - we can just do a brave replace!
+				jsonLdDataset.getRdfDataSet().putAll(rdfDataset);
+				return;				
+				// otherwise we have to merge.. but also avoid duplicate triples, 
+				// map blank nodes etc, so we'll fall back to normal Dataset appending.
+			}	
+			Dataset fromDataset = getJsonLdRDFTermFactory().asDataset(rdfDataset);
+			// .sequential() as we don't know if destination is thread-safe :-/			
+			fromDataset.stream().sequential().forEach(intoDataset::add);
+		} else {	
+			Dataset fromDataset = getJsonLdRDFTermFactory().asDataset(rdfDataset);
+			// No need for .sequential() here
+			fromDataset.stream().forEach(getTarget());
 		}
 	}
 	
-	private Object readSource() throws IOException, RDFParseException {
+	private JsonLdRDFTermFactory getJsonLdRDFTermFactory() {
+		if (getRdfTermFactory().isPresent() && getRdfTermFactory().get() instanceof JsonLdRDFTermFactory) {
+			return (JsonLdRDFTermFactory) getRdfTermFactory().get();
+		}
+		return createRDFTermFactory();		
+	}
+
+	private Object readSource() throws IOException {
 		// Due to checked IOException we can't easily 
 		// do this with .map and .orElseGet()
 		

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3d63a0e0/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDFTermFactory.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDFTermFactory.java
index fa60213..4a05724 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDFTermFactory.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDFTermFactory.java
@@ -41,7 +41,7 @@ import com.github.jsonldjava.core.RDFDataset.Node;
 
 public final class JsonLdRDFTermFactory implements RDFTermFactory {
 
-	private final String bnodePrefix;
+	final String bnodePrefix;
 
 	public JsonLdRDFTermFactory() {
 		// An "outside Graph" bnodePrefix