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/28 13:08:21 UTC

[43/50] [abbrv] incubator-commonsrdf git commit: Reformat tab -> spaces

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index 17cb641..2cb0876 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -42,150 +42,135 @@ import org.apache.jena.sparql.core.GraphView;
 
 class JenaDatasetImpl implements JenaDataset {
 
-	private DatasetGraph graph;
-	private UUID salt;
-	private JenaRDF factory;
-
-	JenaDatasetImpl(DatasetGraph graph, UUID salt) {
-		this.graph = graph;
-		this.salt = salt;
-		this.factory = new JenaRDF(salt);
-	}
-
-	@Override
-	public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		graph.add(				
-				org.apache.jena.sparql.core.Quad.create(
-				factory.asJenaNode(graphName),
-				factory.asJenaNode(subject),				
-				factory.asJenaNode(predicate), 
-				factory.asJenaNode(object)));
-	}
-
-	@Override
-	public void add(Quad quad) {
-		graph.add(factory.asJenaQuad(quad));
-	}
-	
-	@Override
-	public DatasetGraph asJenaDatasetGraph() {		
-		return graph;
-	}
-
-	@Override
-	public void clear() {
-		graph.clear();
-	}
-
-	@Override
-	public void close() {
-		graph.close();
-	}
-
-
-	@Override
-	public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {		
-		return graph.contains(
-				toJenaPattern(graphName),
-				toJenaPattern(subject), 
-				toJenaPattern(predicate),
-				toJenaPattern(object));
-	}
-
-	private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
-		// In theory we could have done:
-		//   factory.toJena(graphName.orElse(internalJenaFactory::createAnyVariable))
-		// but because of generics casting rules that doesn't work :(						
-
-		if (graphName == null) {
-			return ANY;
-		}
-		// null: default graph
-		return factory.asJenaNode(graphName.orElse(null));
-	}
-
-	private Node toJenaPattern(RDFTerm term) {
-		if (term == null)
-			return ANY;
-		return factory.asJenaNode(term);
-	}
-
-	@Override
-	public boolean contains(Quad quad) {
-		return graph.contains(factory.asJenaQuad(quad));
-	}
-
-	@Override
-	public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		graph.delete(org.apache.jena.sparql.core.Quad.create(
-				toJenaPattern(graphName),
-				toJenaPattern(subject),
-				toJenaPattern(predicate), 
-				toJenaPattern(object)));
-	}
-
-	@Override
-	public void remove(Quad quad) {
-		graph.delete(factory.asJenaQuad(quad));
-	}
-
-	@Override
-	public long size() {
-		return graph.size();
-	}
-
-	@Override
-	public Stream<? extends Quad> stream() {
-		JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.find(ANY, ANY, ANY, ANY), true)
-				.map(factory::asQuad);
-	}
-
-	@Override
-	public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> g, BlankNodeOrIRI s, IRI p, RDFTerm o) {
-		JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.find(toJenaPattern(g), toJenaPattern(s), toJenaPattern(p), toJenaPattern(o)), true)
-				.map(factory::asQuad);
-	}
-
-	@Override
-	public String toString() {
-		StringWriter sw = new StringWriter();
-		RDFDataMgr.write(sw, graph, Lang.NT);
-		return sw.toString();
-	}
-
-	@Override
-	public Graph getGraph() {
-		GraphView gv = GraphView.createDefaultGraph(graph);
-		return new JenaGraphImpl(gv, salt);
-	}
-
-	@Override
-	public JenaGraph getUnionGraph() {
-		GraphView gv = GraphView.createUnionGraph(graph);
-		return new JenaGraphImpl(gv, salt);
-	}
-	
-	@Override
-	public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
-		GraphView gv = GraphView.createNamedGraph(graph, factory.asJenaNode(graphName));
-		return Optional.of(new JenaGraphImpl(gv, salt));
-	}	
-
-	@Override
-	public Stream<BlankNodeOrIRI> getGraphNames() {
-		JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.listGraphNodes()).map(node -> 
-			(BlankNodeOrIRI) factory.asRDFTerm(node));		
-	}
-
-	@Override
-	public Iterable<Quad> iterate() {
-		final JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.find(), false)
-				.map(q -> (Quad) factory.asQuad(q))
-				::iterator;
-	}
+    private DatasetGraph graph;
+    private UUID salt;
+    private JenaRDF factory;
+
+    JenaDatasetImpl(DatasetGraph graph, UUID salt) {
+        this.graph = graph;
+        this.salt = salt;
+        this.factory = new JenaRDF(salt);
+    }
+
+    @Override
+    public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        graph.add(org.apache.jena.sparql.core.Quad.create(factory.asJenaNode(graphName), factory.asJenaNode(subject),
+                factory.asJenaNode(predicate), factory.asJenaNode(object)));
+    }
+
+    @Override
+    public void add(Quad quad) {
+        graph.add(factory.asJenaQuad(quad));
+    }
+
+    @Override
+    public DatasetGraph asJenaDatasetGraph() {
+        return graph;
+    }
+
+    @Override
+    public void clear() {
+        graph.clear();
+    }
+
+    @Override
+    public void close() {
+        graph.close();
+    }
+
+    @Override
+    public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        return graph.contains(toJenaPattern(graphName), toJenaPattern(subject), toJenaPattern(predicate),
+                toJenaPattern(object));
+    }
+
+    private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
+        // In theory we could have done:
+        // factory.toJena(graphName.orElse(internalJenaFactory::createAnyVariable))
+        // but because of generics casting rules that doesn't work :(
+
+        if (graphName == null) {
+            return ANY;
+        }
+        // null: default graph
+        return factory.asJenaNode(graphName.orElse(null));
+    }
+
+    private Node toJenaPattern(RDFTerm term) {
+        if (term == null)
+            return ANY;
+        return factory.asJenaNode(term);
+    }
+
+    @Override
+    public boolean contains(Quad quad) {
+        return graph.contains(factory.asJenaQuad(quad));
+    }
+
+    @Override
+    public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        graph.delete(org.apache.jena.sparql.core.Quad.create(toJenaPattern(graphName), toJenaPattern(subject),
+                toJenaPattern(predicate), toJenaPattern(object)));
+    }
+
+    @Override
+    public void remove(Quad quad) {
+        graph.delete(factory.asJenaQuad(quad));
+    }
+
+    @Override
+    public long size() {
+        return graph.size();
+    }
+
+    @Override
+    public Stream<? extends Quad> stream() {
+        JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.find(ANY, ANY, ANY, ANY), true).map(factory::asQuad);
+    }
+
+    @Override
+    public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> g, BlankNodeOrIRI s, IRI p, RDFTerm o) {
+        JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.find(toJenaPattern(g), toJenaPattern(s), toJenaPattern(p), toJenaPattern(o)), true)
+                .map(factory::asQuad);
+    }
+
+    @Override
+    public String toString() {
+        StringWriter sw = new StringWriter();
+        RDFDataMgr.write(sw, graph, Lang.NT);
+        return sw.toString();
+    }
+
+    @Override
+    public Graph getGraph() {
+        GraphView gv = GraphView.createDefaultGraph(graph);
+        return new JenaGraphImpl(gv, salt);
+    }
+
+    @Override
+    public JenaGraph getUnionGraph() {
+        GraphView gv = GraphView.createUnionGraph(graph);
+        return new JenaGraphImpl(gv, salt);
+    }
+
+    @Override
+    public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
+        GraphView gv = GraphView.createNamedGraph(graph, factory.asJenaNode(graphName));
+        return Optional.of(new JenaGraphImpl(gv, salt));
+    }
+
+    @Override
+    public Stream<BlankNodeOrIRI> getGraphNames() {
+        JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.listGraphNodes()).map(node -> (BlankNodeOrIRI) factory.asRDFTerm(node));
+    }
+
+    @Override
+    public Iterable<Quad> iterate() {
+        final JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.find(), false).map(q -> (Quad) factory.asQuad(q))::iterator;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
index df74900..65eaae5 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
@@ -25,15 +25,14 @@ import org.apache.commons.rdf.jena.JenaGeneralizedQuadLike;
 import org.apache.jena.sparql.core.Quad;
 
 class JenaGeneralizedQuadLikeImpl extends AbstractQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>
-	implements JenaGeneralizedQuadLike {
+        implements JenaGeneralizedQuadLike {
 
-	JenaGeneralizedQuadLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object,
-			Optional<RDFTerm> ofNullable) {
-		super(subject, predicate, object, ofNullable);
-	}
+    JenaGeneralizedQuadLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object, Optional<RDFTerm> ofNullable) {
+        super(subject, predicate, object, ofNullable);
+    }
 
-	JenaGeneralizedQuadLikeImpl(Quad quad, UUID salt) {
-		super(quad, salt);
-	}
+    JenaGeneralizedQuadLikeImpl(Quad quad, UUID salt) {
+        super(quad, salt);
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
index ecaa46a..a54075a 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
@@ -24,14 +24,14 @@ import org.apache.commons.rdf.jena.JenaGeneralizedTripleLike;
 import org.apache.jena.graph.Triple;
 
 class JenaGeneralizedTripleLikeImpl extends AbstractQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>
-	implements JenaGeneralizedTripleLike {
+        implements JenaGeneralizedTripleLike {
 
-	JenaGeneralizedTripleLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
-		super(subject, predicate, object);
-	}
+    JenaGeneralizedTripleLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+        super(subject, predicate, object);
+    }
 
-	JenaGeneralizedTripleLikeImpl(Triple triple, UUID salt) {
-		super(triple, salt);
-	}
+    JenaGeneralizedTripleLikeImpl(Triple triple, UUID salt) {
+        super(triple, salt);
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
index fd2f6c4..c482a0f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
@@ -37,121 +37,114 @@ import org.apache.jena.riot.RDFDataMgr;
 
 class JenaGraphImpl implements JenaGraph {
 
-	private final org.apache.jena.graph.Graph graph;
-	private final UUID salt;
-	private final transient JenaRDF factory;
-	private Model model;
-
-	JenaGraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
-		this.graph = graph;
-		this.salt = salt;
-		this.factory = new JenaRDF(salt);
-	}
-
-	JenaGraphImpl(Model model, UUID salt) {
-		this.model = model;
-		this.graph = model.getGraph();
-		this.salt = salt;
-		this.factory = new JenaRDF(salt);
-	}
-
-	@Override
-	public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		graph.add(org.apache.jena.graph.Triple.create(
-				factory.asJenaNode(subject),
-				factory.asJenaNode(predicate), 
-				factory.asJenaNode(object)));
-	}
-
-	@Override
-	public void add(Triple triple) {
-		graph.add(factory.asJenaTriple(triple));
-	}
-
-	@Override
-	public org.apache.jena.graph.Graph asJenaGraph() {
-		return graph;
-	}
-
-	@Override
-	public void clear() {
-		graph.clear();
-	}
-
-	@Override
-	public void close() {
-		graph.close();
-	}
-
-	@Override
-	public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		return graph.contains(
-				factory.asJenaNode(subject), 
-				factory.asJenaNode(predicate),
-				factory.asJenaNode(object));
-	}
-
-	@Override
-	public boolean contains(Triple triple) {
-		return graph.contains(factory.asJenaTriple(triple));
-	}
-
-	@Override
-	public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		graph.delete(org.apache.jena.graph.Triple.create(
-				factory.asJenaNode(subject),
-				factory.asJenaNode(predicate), 
-				factory.asJenaNode(object)));
-	}
-
-	@Override
-	public void remove(Triple triple) {
-		graph.delete(factory.asJenaTriple(triple));
-	}
-
-	@Override
-	public long size() {
-		return graph.size();
-	}
-
-	@Override
-	public Stream<? extends Triple> stream() {
-		JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.find(null, null, null), true).map(factory::asTriple);
-	}
-
-	@Override
-	public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
-		JenaRDF factory = new JenaRDF(salt);
-		return Iter.asStream(graph.find(toJenaAny(s), toJenaAny(p), toJenaAny(o)), true)
-				.map(factory::asTriple);
-	}
-
-	private Node toJenaAny(RDFTerm term) {
-		if (term == null)
-			return Node.ANY;
-		return factory.asJenaNode(term);
-	}
-
-	@Override
-	public String toString() {
-		StringWriter sw = new StringWriter();
-		RDFDataMgr.write(sw, graph, Lang.NT);
-		return sw.toString();
-	}
-
-	@Override
-	public Model asJenaModel() {
-		if (model == null) {
-			synchronized(this) {
-				// As Model can be used for locks, we should make sure we don't make
-				// more than one model
-				if (model == null) {
-					model = ModelFactory.createModelForGraph(graph);
-				}
-			}
-		}
-		return model;
-	}
+    private final org.apache.jena.graph.Graph graph;
+    private final UUID salt;
+    private final transient JenaRDF factory;
+    private Model model;
+
+    JenaGraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
+        this.graph = graph;
+        this.salt = salt;
+        this.factory = new JenaRDF(salt);
+    }
+
+    JenaGraphImpl(Model model, UUID salt) {
+        this.model = model;
+        this.graph = model.getGraph();
+        this.salt = salt;
+        this.factory = new JenaRDF(salt);
+    }
+
+    @Override
+    public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        graph.add(org.apache.jena.graph.Triple.create(factory.asJenaNode(subject), factory.asJenaNode(predicate),
+                factory.asJenaNode(object)));
+    }
+
+    @Override
+    public void add(Triple triple) {
+        graph.add(factory.asJenaTriple(triple));
+    }
+
+    @Override
+    public org.apache.jena.graph.Graph asJenaGraph() {
+        return graph;
+    }
+
+    @Override
+    public void clear() {
+        graph.clear();
+    }
+
+    @Override
+    public void close() {
+        graph.close();
+    }
+
+    @Override
+    public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        return graph.contains(factory.asJenaNode(subject), factory.asJenaNode(predicate), factory.asJenaNode(object));
+    }
+
+    @Override
+    public boolean contains(Triple triple) {
+        return graph.contains(factory.asJenaTriple(triple));
+    }
+
+    @Override
+    public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        graph.delete(org.apache.jena.graph.Triple.create(factory.asJenaNode(subject), factory.asJenaNode(predicate),
+                factory.asJenaNode(object)));
+    }
+
+    @Override
+    public void remove(Triple triple) {
+        graph.delete(factory.asJenaTriple(triple));
+    }
+
+    @Override
+    public long size() {
+        return graph.size();
+    }
+
+    @Override
+    public Stream<? extends Triple> stream() {
+        JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.find(null, null, null), true).map(factory::asTriple);
+    }
+
+    @Override
+    public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
+        JenaRDF factory = new JenaRDF(salt);
+        return Iter.asStream(graph.find(toJenaAny(s), toJenaAny(p), toJenaAny(o)), true).map(factory::asTriple);
+    }
+
+    private Node toJenaAny(RDFTerm term) {
+        if (term == null)
+            return Node.ANY;
+        return factory.asJenaNode(term);
+    }
+
+    @Override
+    public String toString() {
+        StringWriter sw = new StringWriter();
+        RDFDataMgr.write(sw, graph, Lang.NT);
+        return sw.toString();
+    }
+
+    @Override
+    public Model asJenaModel() {
+        if (model == null) {
+            synchronized (this) {
+                // As Model can be used for locks, we should make sure we don't
+                // make
+                // more than one model
+                if (model == null) {
+                    model = ModelFactory.createModelForGraph(graph);
+                }
+            }
+        }
+        return model;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
index 7fbf284..e09dbaf 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
@@ -25,37 +25,37 @@ import org.apache.jena.graph.NodeFactory;
 
 class JenaIRIImpl extends AbstractJenaRDFTerm implements JenaIRI {
 
-	JenaIRIImpl(Node node) {
-		super(node);
-		if (! node.isURI()) {
-			throw new IllegalArgumentException("Node is not a blank node: " + node);
-		}				
-		
-	}
-
-	JenaIRIImpl(String iriStr) {
-		super(NodeFactory.createURI(iriStr));
-	}
-
-	@Override
-	public boolean equals(Object other) {
-		if (other == this)
-			return true;
-		if (other == null)
-			return false;
-		if (!(other instanceof IRI))
-			return false;
-		IRI iri = (IRI) other;
-		return getIRIString().equals(iri.getIRIString());
-	}
-
-	@Override
-	public String getIRIString() {
-		return asJenaNode().getURI();
-	}
-
-	@Override
-	public int hashCode() {
-		return getIRIString().hashCode();
-	}
+    JenaIRIImpl(Node node) {
+        super(node);
+        if (!node.isURI()) {
+            throw new IllegalArgumentException("Node is not a blank node: " + node);
+        }
+
+    }
+
+    JenaIRIImpl(String iriStr) {
+        super(NodeFactory.createURI(iriStr));
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (other == this)
+            return true;
+        if (other == null)
+            return false;
+        if (!(other instanceof IRI))
+            return false;
+        IRI iri = (IRI) other;
+        return getIRIString().equals(iri.getIRIString());
+    }
+
+    @Override
+    public String getIRIString() {
+        return asJenaNode().getURI();
+    }
+
+    @Override
+    public int hashCode() {
+        return getIRIString().hashCode();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
index 74c6d9c..d2afbe3 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
@@ -28,48 +28,49 @@ import org.apache.jena.graph.Node;
 
 class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
 
-	private static InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
-	
-	JenaLiteralImpl(Node node) {
-		super(node);
-		if (! node.isLiteral()) {
-			throw new IllegalArgumentException("Node is not a literal: " + node);
-		}		
-	}
+    private static InternalJenaFactory internalJenaFactory = new InternalJenaFactory() {
+    };
 
-	@Override
-	public boolean equals(Object other) {
-		if (other == this)
-			return true;
-		if (other == null)
-			return false;
-		if (!(other instanceof Literal))
-			return false;
-		Literal literal = (Literal) other;
-		return getLexicalForm().equals(literal.getLexicalForm()) && getLanguageTag().equals(literal.getLanguageTag())
-				&& getDatatype().equals(literal.getDatatype());
-	}
+    JenaLiteralImpl(Node node) {
+        super(node);
+        if (!node.isLiteral()) {
+            throw new IllegalArgumentException("Node is not a literal: " + node);
+        }
+    }
 
-	@Override
-	public IRI getDatatype() {
-		return internalJenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
-	}
+    @Override
+    public boolean equals(Object other) {
+        if (other == this)
+            return true;
+        if (other == null)
+            return false;
+        if (!(other instanceof Literal))
+            return false;
+        Literal literal = (Literal) other;
+        return getLexicalForm().equals(literal.getLexicalForm()) && getLanguageTag().equals(literal.getLanguageTag())
+                && getDatatype().equals(literal.getDatatype());
+    }
 
-	@Override
-	public Optional<String> getLanguageTag() {
-		String x = asJenaNode().getLiteralLanguage();
-		if (x == null || x.isEmpty())
-			return Optional.empty();
-		return Optional.of(x);
-	}
+    @Override
+    public IRI getDatatype() {
+        return internalJenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
+    }
 
-	@Override
-	public String getLexicalForm() {
-		return asJenaNode().getLiteralLexicalForm();
-	}
+    @Override
+    public Optional<String> getLanguageTag() {
+        String x = asJenaNode().getLiteralLanguage();
+        if (x == null || x.isEmpty())
+            return Optional.empty();
+        return Optional.of(x);
+    }
 
-	@Override
-	public int hashCode() {
-		return Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag());
-	}
+    @Override
+    public String getLexicalForm() {
+        return asJenaNode().getLiteralLexicalForm();
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag());
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
index 61ddf9b..e69200f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
@@ -29,38 +29,36 @@ import org.apache.commons.rdf.api.RDFTerm;
 import org.apache.commons.rdf.jena.ConversionException;
 import org.apache.commons.rdf.jena.JenaQuad;
 
-class JenaQuadImpl	extends AbstractQuadLike<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
-	implements JenaQuad {
+class JenaQuadImpl extends AbstractQuadLike<BlankNodeOrIRI, IRI, RDFTerm, BlankNodeOrIRI> implements JenaQuad {
 
-	JenaQuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
-		super(subject, predicate, object, graphName);
-	}
+    JenaQuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
+        super(subject, predicate, object, graphName);
+    }
 
-	JenaQuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
-		super(quad, salt);
-		// Check the conversion
-		if ((graphName.isPresent() && ! (graphName.get() instanceof BlankNodeOrIRI)) ||
-			! (subject instanceof BlankNodeOrIRI) ||
-			! (predicate instanceof IRI) ||
-			! (object instanceof RDFTerm)) {
-			throw new ConversionException("Can't adapt generalized quad: " + quad);	
-		}
-	}
+    JenaQuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+        super(quad, salt);
+        // Check the conversion
+        if ((graphName.isPresent() && !(graphName.get() instanceof BlankNodeOrIRI))
+                || !(subject instanceof BlankNodeOrIRI) || !(predicate instanceof IRI)
+                || !(object instanceof RDFTerm)) {
+            throw new ConversionException("Can't adapt generalized quad: " + quad);
+        }
+    }
 
-	@Override
-	public boolean equals(Object other) {
-		if (other == this)
-			return true;
-		if (!(other instanceof Quad))
-			return false;
-		Quad quad = (Quad) other;
-		return getGraphName().equals(quad.getGraphName()) && getSubject().equals(quad.getSubject())
-				&& getPredicate().equals(quad.getPredicate()) && getObject().equals(quad.getObject());
-	}
+    @Override
+    public boolean equals(Object other) {
+        if (other == this)
+            return true;
+        if (!(other instanceof Quad))
+            return false;
+        Quad quad = (Quad) other;
+        return getGraphName().equals(quad.getGraphName()) && getSubject().equals(quad.getSubject())
+                && getPredicate().equals(quad.getPredicate()) && getObject().equals(quad.getObject());
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
+    }
 
-	@Override
-	public int hashCode() {
-		return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
-	}
-	
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
index 453300c..b9de91f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
@@ -28,40 +28,36 @@ import org.apache.commons.rdf.api.Triple;
 import org.apache.commons.rdf.jena.ConversionException;
 import org.apache.commons.rdf.jena.JenaTriple;
 
-class JenaTripleImpl extends AbstractQuadLike<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
-		implements JenaTriple {
+class JenaTripleImpl extends AbstractQuadLike<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm> implements JenaTriple {
+
+    JenaTripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        super(subject, predicate, object);
+    }
+
+    JenaTripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+        super(triple, salt);
+        // Check the conversion
+        if (!(subject instanceof BlankNodeOrIRI) || !(predicate instanceof IRI) || !(object instanceof RDFTerm)) {
+            throw new ConversionException("Can't adapt generalized triple: " + quad);
+        }
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (other == this)
+            return true;
+        if (other == null)
+            return false;
+        if (!(other instanceof Triple))
+            return false;
+        Triple triple = (Triple) other;
+        return getSubject().equals(triple.getSubject()) && getPredicate().equals(triple.getPredicate())
+                && getObject().equals(triple.getObject());
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getSubject(), getPredicate(), getObject());
+    }
 
-	JenaTripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		super(subject, predicate, object);
-	}
-
-	JenaTripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
-		super(triple, salt);
-		// Check the conversion
-		if (! (subject instanceof BlankNodeOrIRI) ||
-			! (predicate instanceof IRI) ||
-			! (object instanceof RDFTerm)) {
-			throw new ConversionException("Can't adapt generalized triple: " + quad);	
-		}
-	}
-
-	@Override
-	public boolean equals(Object other) {
-		if (other == this)
-			return true;
-		if (other == null)
-			return false;
-		if (!(other instanceof Triple))
-			return false;
-		Triple triple = (Triple) other;
-		return getSubject().equals(triple.getSubject()) && getPredicate().equals(triple.getPredicate())
-				&& getObject().equals(triple.getObject());
-	}
-
-	@Override
-	public int hashCode() {
-		return Objects.hash(getSubject(), getPredicate(), getObject());
-	}
-
-	
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/JenaRDFTest.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/JenaRDFTest.java b/jena/src/test/java/org/apache/commons/rdf/jena/JenaRDFTest.java
index 87a4618..72986d0 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/JenaRDFTest.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/JenaRDFTest.java
@@ -22,11 +22,10 @@ import org.apache.commons.rdf.api.AbstractRDFTest;
 import org.apache.commons.rdf.api.RDF;
 
 public class JenaRDFTest extends AbstractRDFTest {
-	
+
     @Override
     public RDF createFactory() {
         return new JenaRDF();
     }
 
 }
-

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/JenaServiceLoaderTest.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/JenaServiceLoaderTest.java b/jena/src/test/java/org/apache/commons/rdf/jena/JenaServiceLoaderTest.java
index 836e2ec..dc0c8bd 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/JenaServiceLoaderTest.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/JenaServiceLoaderTest.java
@@ -31,10 +31,10 @@ public class JenaServiceLoaderTest {
     public void testServiceLoaderLookup() {
         ServiceLoader<RDF> loader = ServiceLoader.load(RDF.class);
         for (RDF impl : loader) {
-        	if (impl instanceof JenaRDF) {
-        		return; // yay
-        	}
+            if (impl instanceof JenaRDF) {
+                return; // yay
+            }
         }
-        fail("JenaRDF not found in ServiceLoader");        
+        fail("JenaRDF not found in ServiceLoader");
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
index abe8080..49470c0 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
@@ -26,21 +26,21 @@ import org.apache.commons.rdf.jena.impl.InternalJenaFactory;
 
 public class TestBlankNodeJena extends AbstractBlankNodeTest {
 
-	InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
-	
-	/** 
-	 * Fixed salt for the purpose of this test.
-	 */
+    InternalJenaFactory internalJenaFactory = new InternalJenaFactory() {
+    };
+
+    /**
+     * Fixed salt for the purpose of this test.
+     */
     private static final UUID SALT = UUID.fromString("ccfde817-55b8-4a5f-bc2d-6bfd8eaa41ce");
 
-	@Override
+    @Override
     protected BlankNode getBlankNode() {
         return internalJenaFactory.createBlankNode(SALT);
     }
-    
+
     @Override
     protected BlankNode getBlankNode(String identifier) {
         return internalJenaFactory.createBlankNode(identifier, SALT);
     }
 }
-

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
index 296c42d..1ab01f9 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
@@ -29,4 +29,3 @@ public class TestGraphJena extends AbstractGraphTest {
     }
 
 }
-

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
index 50bb1ff..632cce9 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
@@ -42,93 +42,82 @@ import org.junit.Test;
 /** Adapt a Jena Graph after parsing data into it */
 public class TestJenaGraphToCommonsRDFGraph {
     private static final boolean DEBUG = false;
-	private Path turtleFile;
+    private Path turtleFile;
 
-    
     @Before
-    public void preparePath() throws IOException {    	
-    	turtleFile = Files.createTempFile("commonsrdf", "test.ttl");    	
-    	Files.copy(getClass().getResourceAsStream("/D.ttl"), turtleFile, StandardCopyOption.REPLACE_EXISTING);
+    public void preparePath() throws IOException {
+        turtleFile = Files.createTempFile("commonsrdf", "test.ttl");
+        Files.copy(getClass().getResourceAsStream("/D.ttl"), turtleFile, StandardCopyOption.REPLACE_EXISTING);
     }
-    
+
     @After
     public void deletePath() throws IOException {
-    	if (turtleFile != null) { 
-    		Files.deleteIfExists(turtleFile);
-    	}
+        if (turtleFile != null) {
+            Files.deleteIfExists(turtleFile);
+        }
     }
-    
+
     @Test
-	public void jenaToCommonsRDF() throws Exception {
+    public void jenaToCommonsRDF() throws Exception {
         org.apache.jena.graph.Graph jGraph = GraphFactory.createGraphMem();
         RDFDataMgr.read(jGraph, turtleFile.toUri().toString());
-        
+
         JenaRDF factory = new JenaRDF();
-        
-        // "graph" is a CommonsRDF graph 
+
+        // "graph" is a CommonsRDF graph
         Graph graph = factory.asGraph(jGraph);
-        
-        
-        
+
         // The below check expected statements from D.ttl
-        
+
         JenaIRI p = factory.createIRI("http://example.com/p");
-		JenaIRI s = factory.createIRI("http://example.com/s");
-		JenaLiteral literal123 = factory.createLiteral("123", Types.XSD_INTEGER);
-		assertTrue(graph.contains(s, p, literal123));
-        
+        JenaIRI s = factory.createIRI("http://example.com/s");
+        JenaLiteral literal123 = factory.createLiteral("123", Types.XSD_INTEGER);
+        assertTrue(graph.contains(s, p, literal123));
+
         JenaIRI p1 = factory.createIRI("http://example.com/p1");
         // Let's look up the BlankNode
-		BlankNodeOrIRI bnode1 = graph.stream(null, p1, null)
-        		.findFirst().map(Triple::getSubject).get();
+        BlankNodeOrIRI bnode1 = graph.stream(null, p1, null).findFirst().map(Triple::getSubject).get();
         assertTrue(bnode1 instanceof BlankNode);
-        
+
         // Verify we can use BlankNode in query again
         RDFTerm obj = graph.stream(bnode1, p1, null).findFirst().map(Triple::getObject).get();
-        
+
         // Let's look up also that nested blank node
         assertTrue(obj instanceof BlankNode);
-        BlankNode bnode2 = (BlankNode)obj;
-        
-        
-        
+        BlankNode bnode2 = (BlankNode) obj;
+
         JenaIRI q = factory.createIRI("http://example.com/q");
         JenaLiteral literalR = factory.createLiteral("r", "en");
-		assertTrue(graph.contains(bnode2, q, literalR));
-        
+        assertTrue(graph.contains(bnode2, q, literalR));
+
+        // Can we add the same triple again as s/p/o
+        // without affecting graph size?
+        // Just to be evil we add a blanknode-iri-blanknode statement
+        assertEquals(3, graph.size());
+        graph.add(bnode1, p1, bnode2);
+        assertEquals(3, graph.size());
 
-		// Can we add the same triple again as s/p/o 
-		// without affecting graph size?
-		// Just to be evil we add a blanknode-iri-blanknode statement
+        // Add the same Triple again
+        graph.stream(bnode2, null, null).findFirst().ifPresent(graph::add);
         assertEquals(3, graph.size());
-		graph.add(bnode1, p1, bnode2);
-		assertEquals(3, graph.size());
-        
-		// Add the same Triple again
-		graph.stream(bnode2,null,null).findFirst().ifPresent(graph::add);
-		assertEquals(3, graph.size());
-		
-		
+
         // Add to CommonsRDF Graph
         JenaIRI s2 = factory.createIRI("http://example/s2");
-		JenaIRI p2 = factory.createIRI("http://example/p2");
-		JenaLiteral foo = factory.createLiteral("foo");
-		graph.add(s2,
-        		  p2,
-        		  foo);
-		assertEquals(4, graph.size());
-		assertTrue(graph.contains(s2,p2,foo));
-        
+        JenaIRI p2 = factory.createIRI("http://example/p2");
+        JenaLiteral foo = factory.createLiteral("foo");
+        graph.add(s2, p2, foo);
+        assertEquals(4, graph.size());
+        assertTrue(graph.contains(s2, p2, foo));
+
         // Verify the corresponding Jena Nodes are in Jena graph
         assertTrue(jGraph.contains(s2.asJenaNode(), p2.asJenaNode(), foo.asJenaNode()));
-        
+
         if (DEBUG) {
-	        System.out.println("==== Write CommonsRDF graph\n");
-	        graph.stream().forEach(System.out::println);        
-	        // And its in the Jena graph
-	        System.out.println("\n==== Write Jena graph directly\n");
-	        RDFDataMgr.write(System.out, jGraph, Lang.TTL);
+            System.out.println("==== Write CommonsRDF graph\n");
+            graph.stream().forEach(System.out::println);
+            // And its in the Jena graph
+            System.out.println("\n==== Write Jena graph directly\n");
+            RDFDataMgr.write(System.out, jGraph, Lang.TTL);
         }
     }
 }
-

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
index 7760e1f..da60602 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
@@ -36,28 +36,28 @@ import org.junit.Before;
 import org.junit.Test;
 
 public class TestRDFParserBuilder {
-	
-	private Path turtleFile;
-
-	@Before
-	public void preparePath() throws IOException {
-		turtleFile = Files.createTempFile("commonsrdf", "test.ttl");
-		Files.copy(getClass().getResourceAsStream("/D.ttl"), turtleFile, StandardCopyOption.REPLACE_EXISTING);
-	}
-
-	@After
-	public void deletePath() throws IOException {
-		if (turtleFile != null) {
-			Files.deleteIfExists(turtleFile);
-		}
-	}
-
-	@Test
-	public void parseTurtle() throws Exception {
-		Graph g = new JenaRDF().createGraph();
-		Future<ParseResult> gFuture = new JenaRDFParser().contentType(RDFSyntax.TURTLE).source(turtleFile)
-				.target(g).parse();
-		gFuture.get(5, TimeUnit.SECONDS);
-		assertEquals(3, g.size());
-	}
+
+    private Path turtleFile;
+
+    @Before
+    public void preparePath() throws IOException {
+        turtleFile = Files.createTempFile("commonsrdf", "test.ttl");
+        Files.copy(getClass().getResourceAsStream("/D.ttl"), turtleFile, StandardCopyOption.REPLACE_EXISTING);
+    }
+
+    @After
+    public void deletePath() throws IOException {
+        if (turtleFile != null) {
+            Files.deleteIfExists(turtleFile);
+        }
+    }
+
+    @Test
+    public void parseTurtle() throws Exception {
+        Graph g = new JenaRDF().createGraph();
+        Future<ParseResult> gFuture = new JenaRDFParser().contentType(RDFSyntax.TURTLE).source(turtleFile).target(g)
+                .parse();
+        gFuture.get(5, TimeUnit.SECONDS);
+        assertEquals(3, g.size());
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdBlankNode.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdBlankNode.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdBlankNode.java
index 0a7d59c..d3ac1f0 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdBlankNode.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdBlankNode.java
@@ -22,42 +22,41 @@ import org.apache.commons.rdf.api.BlankNode;
 import com.github.jsonldjava.core.RDFDataset.Node;
 
 public interface JsonLdBlankNode extends JsonLdTerm, BlankNode {
-}	
-	
-	final class JsonLdBlankNodeImpl extends JsonLdTermImpl implements JsonLdBlankNode {
-		private String blankNodePrefix;
-	
-		JsonLdBlankNodeImpl(Node node, String blankNodePrefix) {
-			super(node);
-			this.blankNodePrefix = blankNodePrefix;
-			if (! node.isBlankNode()) {
-				throw new IllegalArgumentException("Node is not a BlankNode:" + node);
-			}
-		}
-	
-		@Override
-		public String ntriplesString() {
-			// TODO: Escape if this is not valid ntriples string (e.g. contains :)
-			return node.getValue();
-		}
-	
-		@Override
-		public String uniqueReference() {					
-			return blankNodePrefix + node.getValue();
-		}
-	
-		@Override
-		public boolean equals(Object obj) {
-			if (! ( obj instanceof BlankNode)) {
-				return false;
-			}
-			BlankNode other = (BlankNode) obj;
-			return uniqueReference().equals(other.uniqueReference());
-		}
-	
-		@Override
-		public int hashCode() {
-			return uniqueReference().hashCode();
-		}
-	}
+}
 
+final class JsonLdBlankNodeImpl extends JsonLdTermImpl implements JsonLdBlankNode {
+    private String blankNodePrefix;
+
+    JsonLdBlankNodeImpl(Node node, String blankNodePrefix) {
+        super(node);
+        this.blankNodePrefix = blankNodePrefix;
+        if (!node.isBlankNode()) {
+            throw new IllegalArgumentException("Node is not a BlankNode:" + node);
+        }
+    }
+
+    @Override
+    public String ntriplesString() {
+        // TODO: Escape if this is not valid ntriples string (e.g. contains :)
+        return node.getValue();
+    }
+
+    @Override
+    public String uniqueReference() {
+        return blankNodePrefix + node.getValue();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof BlankNode)) {
+            return false;
+        }
+        BlankNode other = (BlankNode) obj;
+        return uniqueReference().equals(other.uniqueReference());
+    }
+
+    @Override
+    public int hashCode() {
+        return uniqueReference().hashCode();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdDataset.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdDataset.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdDataset.java
index 8774cdc..72aadc2 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdDataset.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdDataset.java
@@ -37,79 +37,74 @@ public interface JsonLdDataset extends JsonLdGraphLike<org.apache.commons.rdf.ap
 
 class JsonLdDatasetImpl extends AbstractJsonLdGraphLike<org.apache.commons.rdf.api.Quad> implements JsonLdDataset {
 
-	JsonLdDatasetImpl(RDFDataset rdfDataSet) {
-		super(rdfDataSet);
-	}
-
-	JsonLdDatasetImpl(RDFDataset rdfDataset, String bnodePrefix) {
-		super(rdfDataset, bnodePrefix);
-	}
-
-	JsonLdDatasetImpl(String bnodePrefix) {
-		super(bnodePrefix);
-	}
-
-	@Override
-	public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		super.add(graphName, subject, predicate, object);
-	}
-
-	@Override
-	public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		return super.contains(graphName, subject, predicate, object);
-	}
-	
-	@Override
-	public Graph getGraph() {
-		return new JsonLdGraphImpl(rdfDataSet, Optional.empty(), bnodePrefix);
-	}	
-
-	@Override
-	public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
-		if (graphName == null) {
-			return Optional.of(getGraph());
-		}
-		return getGraphNames()
-				.map(g -> (Graph)new JsonLdGraphImpl(rdfDataSet, Optional.of(g), bnodePrefix))
-				.findAny();
-	}
-
-	@Override
-	public Stream<BlankNodeOrIRI> getGraphNames() {
-		return rdfDataSet.graphNames().parallelStream().filter(Predicate.isEqual("@default").negate())
-				.map(s -> s.startsWith("_:") ? new RDFDataset.BlankNode(s) : new RDFDataset.IRI(s))
-				.map(n -> (BlankNodeOrIRI) factory.asRDFTerm(n));
-	}
-
-	@Override
-	public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		super.remove(graphName, subject, predicate, object);
-	}
-
-
-	@Override
-	public void remove(Quad q) {
-		remove(q.getGraphName(), q.getSubject(), q.getPredicate(), q.getObject());
-	}
-	
-	@Override
-	public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate,
-			RDFTerm object) {		
-		return filteredGraphs(graphName)
-				.flatMap(List::stream)
-				.filter(quadFilter(subject, predicate, object))
-				.map(factory::asQuad);
-	}
-
-	@Override
-	public long size() {		
-		return rdfDataSet.graphNames().parallelStream().map(rdfDataSet::getQuads).collect(Collectors.summingLong(List::size));
-	}
-
-	@Override
-	Quad asTripleOrQuad(com.github.jsonldjava.core.RDFDataset.Quad jsonldQuad) {
-		return factory.asQuad(jsonldQuad);
-	}
-
+    JsonLdDatasetImpl(RDFDataset rdfDataSet) {
+        super(rdfDataSet);
+    }
+
+    JsonLdDatasetImpl(RDFDataset rdfDataset, String bnodePrefix) {
+        super(rdfDataset, bnodePrefix);
+    }
+
+    JsonLdDatasetImpl(String bnodePrefix) {
+        super(bnodePrefix);
+    }
+
+    @Override
+    public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        super.add(graphName, subject, predicate, object);
+    }
+
+    @Override
+    public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        return super.contains(graphName, subject, predicate, object);
+    }
+
+    @Override
+    public Graph getGraph() {
+        return new JsonLdGraphImpl(rdfDataSet, Optional.empty(), bnodePrefix);
+    }
+
+    @Override
+    public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
+        if (graphName == null) {
+            return Optional.of(getGraph());
+        }
+        return getGraphNames().map(g -> (Graph) new JsonLdGraphImpl(rdfDataSet, Optional.of(g), bnodePrefix)).findAny();
+    }
+
+    @Override
+    public Stream<BlankNodeOrIRI> getGraphNames() {
+        return rdfDataSet.graphNames().parallelStream().filter(Predicate.isEqual("@default").negate())
+                .map(s -> s.startsWith("_:") ? new RDFDataset.BlankNode(s) : new RDFDataset.IRI(s))
+                .map(n -> (BlankNodeOrIRI) factory.asRDFTerm(n));
+    }
+
+    @Override
+    public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        super.remove(graphName, subject, predicate, object);
+    }
+
+    @Override
+    public void remove(Quad q) {
+        remove(q.getGraphName(), q.getSubject(), q.getPredicate(), q.getObject());
+    }
+
+    @Override
+    public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate,
+            RDFTerm object) {
+        return filteredGraphs(graphName).flatMap(List::stream).filter(quadFilter(subject, predicate, object))
+                .map(factory::asQuad);
+    }
+
+    @Override
+    public long size() {
+        return rdfDataSet.graphNames().parallelStream().map(rdfDataSet::getQuads)
+                .collect(Collectors.summingLong(List::size));
+    }
+
+    @Override
+    Quad asTripleOrQuad(com.github.jsonldjava.core.RDFDataset.Quad jsonldQuad) {
+        return factory.asQuad(jsonldQuad);
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/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 1acba7d..42061a1 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
@@ -37,82 +37,76 @@ import com.github.jsonldjava.core.RDFDataset;
 public interface JsonLdGraph extends JsonLdGraphLike<Triple>, Graph {
 }
 
-class JsonLdGraphImpl extends AbstractJsonLdGraphLike<Triple> 
-	implements JsonLdGraph {
-
-	private final Optional<BlankNodeOrIRI> graphName;
-
-	JsonLdGraphImpl(RDFDataset rdfDataSet) {
-		super(rdfDataSet);
-		this.graphName = Optional.empty();
-	}
-	
-	JsonLdGraphImpl(RDFDataset rdfDataSet, Optional<BlankNodeOrIRI> graphName, String bnodePrefix) {
-		super(rdfDataSet, bnodePrefix);
-		this.graphName = Objects.requireNonNull(graphName);
-	}
-	
-	JsonLdGraphImpl(String bnodePrefix) {
-		super(bnodePrefix);
-		this.graphName = Optional.empty();
-	}
-
-	@Override
-	public void clear() {
-		filteredGraphs(graphName).forEach(l -> l.clear());
-	}
-
-	@Override
-	public void add(Triple t) {
-		// Ensure it's added in the correct graph
-		super.add(graphName.orElse(null), t.getSubject(), t.getPredicate(), t.getObject());
-	}
-	
-	@Override
-	public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		super.add(graphName.orElse(null), subject, predicate, object);
-	}
-
-	@Override
-	public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		return super.contains(graphName, subject, predicate, object);
-	}
-	
-	@Override
-	public boolean contains(Triple t) {
-		return contains(graphName, t.getSubject(), t.getPredicate(), t.getObject());
-	}
-	
-	@Override
-	public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		super.remove(graphName, subject, predicate, object);
-	}
-	
-	@Override
-	public void remove(Triple t) {
-		// Only remove from the particular graph
-		remove(graphName, t.getSubject(), t.getPredicate(), t.getObject());		
-	}
-
-	@Override
-	public long size() {
-		String g = graphName.map(factory::asJsonLdString).orElse("@default");
-		return Optional.ofNullable(rdfDataSet.getQuads(g))
-				.map(List::size).orElse(0);
-	}
-
-	@Override
-	public Stream<JsonLdTriple> stream(BlankNodeOrIRI subject, IRI predicate,
-			RDFTerm object) {		
-		return filteredGraphs(graphName)
-				.flatMap(List::stream)
-				.filter(quadFilter(subject, predicate, object))
-				.map(factory::asTriple);
-	}
-	
-	@Override
-	JsonLdTriple asTripleOrQuad(com.github.jsonldjava.core.RDFDataset.Quad jsonldQuad) {
-		return factory.asTriple(jsonldQuad);
-	}
-}
+class JsonLdGraphImpl extends AbstractJsonLdGraphLike<Triple> implements JsonLdGraph {
+
+    private final Optional<BlankNodeOrIRI> graphName;
+
+    JsonLdGraphImpl(RDFDataset rdfDataSet) {
+        super(rdfDataSet);
+        this.graphName = Optional.empty();
+    }
+
+    JsonLdGraphImpl(RDFDataset rdfDataSet, Optional<BlankNodeOrIRI> graphName, String bnodePrefix) {
+        super(rdfDataSet, bnodePrefix);
+        this.graphName = Objects.requireNonNull(graphName);
+    }
+
+    JsonLdGraphImpl(String bnodePrefix) {
+        super(bnodePrefix);
+        this.graphName = Optional.empty();
+    }
+
+    @Override
+    public void clear() {
+        filteredGraphs(graphName).forEach(l -> l.clear());
+    }
+
+    @Override
+    public void add(Triple t) {
+        // Ensure it's added in the correct graph
+        super.add(graphName.orElse(null), t.getSubject(), t.getPredicate(), t.getObject());
+    }
+
+    @Override
+    public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        super.add(graphName.orElse(null), subject, predicate, object);
+    }
 
+    @Override
+    public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        return super.contains(graphName, subject, predicate, object);
+    }
+
+    @Override
+    public boolean contains(Triple t) {
+        return contains(graphName, t.getSubject(), t.getPredicate(), t.getObject());
+    }
+
+    @Override
+    public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        super.remove(graphName, subject, predicate, object);
+    }
+
+    @Override
+    public void remove(Triple t) {
+        // Only remove from the particular graph
+        remove(graphName, t.getSubject(), t.getPredicate(), t.getObject());
+    }
+
+    @Override
+    public long size() {
+        String g = graphName.map(factory::asJsonLdString).orElse("@default");
+        return Optional.ofNullable(rdfDataSet.getQuads(g)).map(List::size).orElse(0);
+    }
+
+    @Override
+    public Stream<JsonLdTriple> stream(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        return filteredGraphs(graphName).flatMap(List::stream).filter(quadFilter(subject, predicate, object))
+                .map(factory::asTriple);
+    }
+
+    @Override
+    JsonLdTriple asTripleOrQuad(com.github.jsonldjava.core.RDFDataset.Quad jsonldQuad) {
+        return factory.asTriple(jsonldQuad);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/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 d4417ec..7b5b3f5 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
@@ -46,177 +46,176 @@ import com.github.jsonldjava.core.RDFDataset.Node;
  *            specialisation of {@link TripleLike}, e.g. {@link Triple} or
  *            {@link org.apache.commons.rdf.api.Quad}
  */
-public interface JsonLdGraphLike <T extends TripleLike>
-	extends GraphLike<T> {
-	/**
-	 * Return the underlying JSONLD-Java {@link RDFDataset}.
-	 * <p>
-	 * Changes in the JSONLD-Java dataset is reflected in this class and vice
-	 * versa.
-	 * 
-	 * @return The underlying JSONLD-JAva RDFDataset
-	 */
-	public RDFDataset getRdfDataSet();
+public interface JsonLdGraphLike<T extends TripleLike> extends GraphLike<T> {
+    /**
+     * Return the underlying JSONLD-Java {@link RDFDataset}.
+     * <p>
+     * Changes in the JSONLD-Java dataset is reflected in this class and vice
+     * versa.
+     * 
+     * @return The underlying JSONLD-JAva RDFDataset
+     */
+    public RDFDataset getRdfDataSet();
 }
 
-abstract class AbstractJsonLdGraphLike<T extends TripleLike>
-	implements JsonLdGraphLike<T> {
-	
-	/** 
-	 * Used by {@link #bnodePrefix()} to get a unique UUID per JVM run
-	 */
-	private static UUID SALT = UUID.randomUUID();
-	
-	/**
-	 * Prefix to use in blank node identifiers
-	 */
-	final String bnodePrefix;
-
-	final JsonLdRDF factory;
-
-	/**
-	 * The underlying JSON-LD {@link RDFDataset}.
-	 * <p>
-	 * Note: This is NOT final as it is reset to <code>null</code> by {@link #close()}
-	 * (to free memory).
-	 */
-	RDFDataset rdfDataSet;
-	
-	AbstractJsonLdGraphLike(RDFDataset rdfDataSet) {
-		this(rdfDataSet, "urn:uuid:" + SALT + "#" +  "g"+ System.identityHashCode(rdfDataSet));
-	}
-
-	AbstractJsonLdGraphLike(RDFDataset rdfDataSet, String bnodePrefix) {
-		this.rdfDataSet = Objects.requireNonNull(rdfDataSet);
-		this.bnodePrefix = Objects.requireNonNull(bnodePrefix);
-		this.factory = new JsonLdRDF(bnodePrefix);
-	}
-	
-	AbstractJsonLdGraphLike(String bnodePrefix) {
-		this(new RDFDataset(), bnodePrefix);
-	}
-	
-	@Override
-	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);
-		}
-		// FIXME: JSON-LD's rdfDataSet.addQuad method does not support 
-		// generalized RDF, so we have to do a naive cast here
-		add(graphName, (BlankNodeOrIRI)t.getSubject(), (IRI)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(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;			
-	}	
-
-	@Override
-	public void clear() {		
-		filteredGraphs(null).forEach(s -> s.clear());
-		//   In theory we could use
-		//rdfDataSet.clear();
-		//   but then we would need to also do
-		//rdfDataSet.put("@default",  new ArrayList());
-		//   .. both of which seems to be touching too much on JsonLd-Java's internal structure
-	}
-
-	@Override
-	public boolean contains(T tripleOrQuad) {		
-		return stream().anyMatch(Predicate.isEqual(tripleOrQuad));
-	}
-
-	public RDFDataset getRdfDataSet() {
-		return rdfDataSet;
-	}
-
-	
-	@Override
-	public Stream<? extends T> stream() {
-		return rdfDataSet.graphNames().parallelStream()
-				.map(rdfDataSet::getQuads)
-				.flatMap(List<RDFDataset.Quad>::parallelStream)
-				.map(this::asTripleOrQuad);
-	}
-	
-	/**
-	 * Convert JsonLd Quad to a Commons RDF {@link Triple} or {@link org.apache.commons.rdf.api.Quad}
-	 * 
-	 * 
-	 * @see JsonLdRDF#asTriple(Quad)
-	 * @see JsonLdRDF#asQuad(Quad)
-	 * @param jsonldQuad jsonld quad to convert
-	 * @return converted {@link TripleLike}
-	 */
-	abstract T asTripleOrQuad(RDFDataset.Quad jsonldQuad);
-
-	// This will be made public in JsonLdDataset
-	// and is used by the other  methods.
-	boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI s, IRI p, RDFTerm o) {
-		return filteredGraphs(graphName).flatMap(List::stream).anyMatch(quadFilter(s,p,o));
-	}
-
-	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(factory::asJsonLdString).orElse("@default")))
-				// remove the quads which match our filter (which could have nulls as wildcards) 
-				.map(rdfDataSet::getQuads);
-	}
-
-	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(factory::asJsonLdString).orElse("@default");			
-		}		
-		return "@default";
-	}
-	
-	
-	Predicate<RDFDataset.Quad> quadFilter(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		Optional<Node> subjectNode = Optional.ofNullable(subject).map(factory::asJsonLdNode);
-		Optional<Node> predicateNode = Optional.ofNullable(predicate).map(factory::asJsonLdNode);
-		Optional<Node> objectNode = Optional.ofNullable(object).map(factory::asJsonLdNode);
-		
-		return q -> {
-		    if (subjectNode.isPresent() && subjectNode.get().compareTo(q.getSubject()) != 0) {
-		        return false;
-		    }
-		    if (predicateNode.isPresent() && predicateNode.get().compareTo(q.getPredicate()) != 0) {	          
-		        return false;
-		    }
-		    if (objectNode.isPresent() && objectNode.get().compareTo(q.getObject()) != 0) {
-		        return false;
-		    }
-		    return true;			
-		};
-	}
-	
-	// NOTE: This is made public in JsonLdDataset and is used by the other remove methods.
-	void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
-		// remove the quads which match our filter (which could have nulls as wildcards) 
-		filteredGraphs(graphName).forEach(t -> t.removeIf(quadFilter(subject, predicate, object)));
-	}
-	
+abstract class AbstractJsonLdGraphLike<T extends TripleLike> implements JsonLdGraphLike<T> {
+
+    /**
+     * Used by {@link #bnodePrefix()} to get a unique UUID per JVM run
+     */
+    private static UUID SALT = UUID.randomUUID();
+
+    /**
+     * Prefix to use in blank node identifiers
+     */
+    final String bnodePrefix;
+
+    final JsonLdRDF factory;
+
+    /**
+     * The underlying JSON-LD {@link RDFDataset}.
+     * <p>
+     * Note: This is NOT final as it is reset to <code>null</code> by
+     * {@link #close()} (to free memory).
+     */
+    RDFDataset rdfDataSet;
+
+    AbstractJsonLdGraphLike(RDFDataset rdfDataSet) {
+        this(rdfDataSet, "urn:uuid:" + SALT + "#" + "g" + System.identityHashCode(rdfDataSet));
+    }
+
+    AbstractJsonLdGraphLike(RDFDataset rdfDataSet, String bnodePrefix) {
+        this.rdfDataSet = Objects.requireNonNull(rdfDataSet);
+        this.bnodePrefix = Objects.requireNonNull(bnodePrefix);
+        this.factory = new JsonLdRDF(bnodePrefix);
+    }
+
+    AbstractJsonLdGraphLike(String bnodePrefix) {
+        this(new RDFDataset(), bnodePrefix);
+    }
+
+    @Override
+    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);
+        }
+        // FIXME: JSON-LD's rdfDataSet.addQuad method does not support
+        // generalized RDF, so we have to do a naive cast here
+        add(graphName, (BlankNodeOrIRI) t.getSubject(), (IRI) 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 (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;
+    }
+
+    @Override
+    public void clear() {
+        filteredGraphs(null).forEach(s -> s.clear());
+        // In theory we could use
+        // rdfDataSet.clear();
+        // but then we would need to also do
+        // rdfDataSet.put("@default", new ArrayList());
+        // .. both of which seems to be touching too much on JsonLd-Java's
+        // internal structure
+    }
+
+    @Override
+    public boolean contains(T tripleOrQuad) {
+        return stream().anyMatch(Predicate.isEqual(tripleOrQuad));
+    }
+
+    public RDFDataset getRdfDataSet() {
+        return rdfDataSet;
+    }
+
+    @Override
+    public Stream<? extends T> stream() {
+        return rdfDataSet.graphNames().parallelStream().map(rdfDataSet::getQuads)
+                .flatMap(List<RDFDataset.Quad>::parallelStream).map(this::asTripleOrQuad);
+    }
+
+    /**
+     * Convert JsonLd Quad to a Commons RDF {@link Triple} or
+     * {@link org.apache.commons.rdf.api.Quad}
+     * 
+     * 
+     * @see JsonLdRDF#asTriple(Quad)
+     * @see JsonLdRDF#asQuad(Quad)
+     * @param jsonldQuad
+     *            jsonld quad to convert
+     * @return converted {@link TripleLike}
+     */
+    abstract T asTripleOrQuad(RDFDataset.Quad jsonldQuad);
+
+    // This will be made public in JsonLdDataset
+    // and is used by the other methods.
+    boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI s, IRI p, RDFTerm o) {
+        return filteredGraphs(graphName).flatMap(List::stream).anyMatch(quadFilter(s, p, o));
+    }
+
+    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(factory::asJsonLdString).orElse("@default")))
+                // remove the quads which match our filter (which could have
+                // nulls as wildcards)
+                .map(rdfDataSet::getQuads);
+    }
+
+    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(factory::asJsonLdString).orElse("@default");
+        }
+        return "@default";
+    }
+
+    Predicate<RDFDataset.Quad> quadFilter(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        Optional<Node> subjectNode = Optional.ofNullable(subject).map(factory::asJsonLdNode);
+        Optional<Node> predicateNode = Optional.ofNullable(predicate).map(factory::asJsonLdNode);
+        Optional<Node> objectNode = Optional.ofNullable(object).map(factory::asJsonLdNode);
+
+        return q -> {
+            if (subjectNode.isPresent() && subjectNode.get().compareTo(q.getSubject()) != 0) {
+                return false;
+            }
+            if (predicateNode.isPresent() && predicateNode.get().compareTo(q.getPredicate()) != 0) {
+                return false;
+            }
+            if (objectNode.isPresent() && objectNode.get().compareTo(q.getObject()) != 0) {
+                return false;
+            }
+            return true;
+        };
+    }
+
+    // NOTE: This is made public in JsonLdDataset and is used by the other
+    // remove methods.
+    void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+        // remove the quads which match our filter (which could have nulls as
+        // wildcards)
+        filteredGraphs(graphName).forEach(t -> t.removeIf(quadFilter(subject, predicate, object)));
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdIRI.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdIRI.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdIRI.java
index dc94401..f7c1707 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdIRI.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdIRI.java
@@ -25,40 +25,40 @@ import com.github.jsonldjava.core.RDFDataset.Node;
 public interface JsonLdIRI extends JsonLdTerm, IRI {
 }
 
-	final class JsonLdIRIImpl extends JsonLdTermImpl implements JsonLdIRI {
-	
-		JsonLdIRIImpl(Node node) {
-			super(node);
-			if (! node.isIRI()) {
-				throw new IllegalArgumentException("Node is not an IRI:" + node);
-			}
-		}
-	
-		JsonLdIRIImpl(String iri) {
-			super(new RDFDataset.IRI(iri));
-		}
-	
-		@Override
-		public String ntriplesString() {
-			return "<" + node.getValue() + ">";
-		}
-	
-		@Override
-		public String getIRIString() {
-			return node.getValue();
-		}
-	
-		@Override
-		public int hashCode() {
-			return node.getValue().hashCode();
-		}
-	
-		@Override
-		public boolean equals(Object obj) {
-			if (! (obj instanceof IRI)) {
-				return false;
-			} 
-			IRI other = (IRI) obj;
-			return node.getValue().equals(other.getIRIString());
-		}
-	}
+final class JsonLdIRIImpl extends JsonLdTermImpl implements JsonLdIRI {
+
+    JsonLdIRIImpl(Node node) {
+        super(node);
+        if (!node.isIRI()) {
+            throw new IllegalArgumentException("Node is not an IRI:" + node);
+        }
+    }
+
+    JsonLdIRIImpl(String iri) {
+        super(new RDFDataset.IRI(iri));
+    }
+
+    @Override
+    public String ntriplesString() {
+        return "<" + node.getValue() + ">";
+    }
+
+    @Override
+    public String getIRIString() {
+        return node.getValue();
+    }
+
+    @Override
+    public int hashCode() {
+        return node.getValue().hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof IRI)) {
+            return false;
+        }
+        IRI other = (IRI) obj;
+        return node.getValue().equals(other.getIRIString());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdLiteral.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdLiteral.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdLiteral.java
index 01dff6f..afb7da2 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdLiteral.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdLiteral.java
@@ -27,73 +27,72 @@ import org.apache.commons.rdf.simple.Types;
 import com.github.jsonldjava.core.RDFDataset.Node;
 
 public interface JsonLdLiteral extends JsonLdTerm, Literal {
-}	
-	
-	class JsonLdLiteralImpl extends JsonLdTermImpl implements JsonLdLiteral {
-	
-		JsonLdLiteralImpl(Node node) {
-			super(node);
-			if (! node.isLiteral()) {
-				throw new IllegalArgumentException("Node is not a Literal:" + node);
-			}
-		}
-	
-		@Override
-		public String ntriplesString() {
-	        StringBuilder sb = new StringBuilder();
-	        sb.append('"');
-	        // Escape special characters
-	        sb.append(getLexicalForm().replace("\\", "\\\\"). // escaped to \\
-	                replace("\"", "\\\""). // escaped to \"
-	                replace("\r", "\\r"). // escaped to \r
-	                replace("\n", "\\n")); // escaped to \n
-	        sb.append('"');
-	
-	        if (getLanguageTag().isPresent()) {
-	            sb.append("@");
-	            sb.append(getLanguageTag().get());
-	        } else if (!getDatatype().equals(Types.XSD_STRING)) {
-	            sb.append("^^");
-	            sb.append(getDatatype().ntriplesString());
-	        }
-	        return sb.toString();
-	    }
-	
-		@Override
-		public String getLexicalForm() {
-			return node.getValue();
-		}
-	
-		@Override
-		public IRI getDatatype() {
-			return new JsonLdIRIImpl(node.getDatatype());
-		}
-	
-		@Override
-		public Optional<String> getLanguageTag() {
-			return Optional.ofNullable(node.getLanguage());
-		}
-	
-		@Override
-		public int hashCode() {
-			// Should be the same as 
-			// Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag());
-			return Objects.hash(node.getValue(), node.getDatatype(), node.getLanguage());
-		}
-		
-		@Override
-		public boolean equals(Object obj) {
-			if (obj instanceof JsonLdLiteral) {
-				JsonLdLiteral other = (JsonLdLiteral) obj;
-				return asJsonLdNode().compareTo(other.asJsonLdNode()) == 0;
-			}
-			if (obj instanceof Literal) {
-				Literal other = (Literal) obj;
-				return getLexicalForm().equals(other.getLexicalForm()) &&
-						getDatatype().equals(other.getDatatype()) &&
-						getLanguageTag().equals(other.getLanguageTag());
-			}
-			return false;
-			
-		}	
-	}
+}
+
+class JsonLdLiteralImpl extends JsonLdTermImpl implements JsonLdLiteral {
+
+    JsonLdLiteralImpl(Node node) {
+        super(node);
+        if (!node.isLiteral()) {
+            throw new IllegalArgumentException("Node is not a Literal:" + node);
+        }
+    }
+
+    @Override
+    public String ntriplesString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append('"');
+        // Escape special characters
+        sb.append(getLexicalForm().replace("\\", "\\\\"). // escaped to \\
+                replace("\"", "\\\""). // escaped to \"
+                replace("\r", "\\r"). // escaped to \r
+                replace("\n", "\\n")); // escaped to \n
+        sb.append('"');
+
+        if (getLanguageTag().isPresent()) {
+            sb.append("@");
+            sb.append(getLanguageTag().get());
+        } else if (!getDatatype().equals(Types.XSD_STRING)) {
+            sb.append("^^");
+            sb.append(getDatatype().ntriplesString());
+        }
+        return sb.toString();
+    }
+
+    @Override
+    public String getLexicalForm() {
+        return node.getValue();
+    }
+
+    @Override
+    public IRI getDatatype() {
+        return new JsonLdIRIImpl(node.getDatatype());
+    }
+
+    @Override
+    public Optional<String> getLanguageTag() {
+        return Optional.ofNullable(node.getLanguage());
+    }
+
+    @Override
+    public int hashCode() {
+        // Should be the same as
+        // Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag());
+        return Objects.hash(node.getValue(), node.getDatatype(), node.getLanguage());
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof JsonLdLiteral) {
+            JsonLdLiteral other = (JsonLdLiteral) obj;
+            return asJsonLdNode().compareTo(other.asJsonLdNode()) == 0;
+        }
+        if (obj instanceof Literal) {
+            Literal other = (Literal) obj;
+            return getLexicalForm().equals(other.getLexicalForm()) && getDatatype().equals(other.getDatatype())
+                    && getLanguageTag().equals(other.getLanguageTag());
+        }
+        return false;
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuad.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuad.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuad.java
index fcf71f1..9b39514 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuad.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuad.java
@@ -28,31 +28,28 @@ public interface JsonLdQuad extends org.apache.commons.rdf.api.Quad, JsonLdTripl
 
 }
 
-	final class JsonLdQuadImpl extends JsonLdQuadLikeImpl<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI> 
-		implements JsonLdQuad {
-		
-		JsonLdQuadImpl(com.github.jsonldjava.core.RDFDataset.Quad quad, String blankNodePrefix) {
-			super(quad, blankNodePrefix);			
-		}
-	
-		@Override
-		public boolean equals(Object obj) {
-			if (obj == this) {
-				return true;
-			}
-			if (! (obj instanceof org.apache.commons.rdf.api.Quad)) {
-				return false;
-			}
-			org.apache.commons.rdf.api.Quad other = (org.apache.commons.rdf.api.Quad) obj;
-			return getGraphName().equals(other.getGraphName()) &&
-					getSubject().equals(other.getSubject()) && 
-					getPredicate().equals(other.getPredicate()) && 
-					getObject().equals(other.getObject());
-		}
-	
-		@Override
-		public int hashCode() {
-			return Objects.hash(getGraphName(), getSubject(), getPredicate(), getObject());
-		}	
-	}	
-		
+final class JsonLdQuadImpl extends JsonLdQuadLikeImpl<BlankNodeOrIRI, IRI, RDFTerm, BlankNodeOrIRI>
+        implements JsonLdQuad {
+
+    JsonLdQuadImpl(com.github.jsonldjava.core.RDFDataset.Quad quad, String blankNodePrefix) {
+        super(quad, blankNodePrefix);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == this) {
+            return true;
+        }
+        if (!(obj instanceof org.apache.commons.rdf.api.Quad)) {
+            return false;
+        }
+        org.apache.commons.rdf.api.Quad other = (org.apache.commons.rdf.api.Quad) obj;
+        return getGraphName().equals(other.getGraphName()) && getSubject().equals(other.getSubject())
+                && getPredicate().equals(other.getPredicate()) && getObject().equals(other.getObject());
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getGraphName(), getSubject(), getPredicate(), getObject());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/413dd09a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuadLike.java
----------------------------------------------------------------------
diff --git a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuadLike.java b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuadLike.java
index 1584f9e..9f92cda 100644
--- a/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuadLike.java
+++ b/jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdQuadLike.java
@@ -25,50 +25,50 @@ import org.apache.commons.rdf.api.RDFTerm;
 import com.github.jsonldjava.core.RDFDataset.Quad;
 
 public interface JsonLdQuadLike<G extends RDFTerm> extends QuadLike<G>, JsonLdTripleLike {
-	
+
 }
-	
-	class JsonLdQuadLikeImpl<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JsonLdQuadLike<G> {
-		
-		// Note: We always pass the blankNodePrefix and don't rely on the internal
-		// blankNodePrefix in this static factory
-		private static JsonLdRDF rdfTermFactory = new JsonLdRDF();
-		
-		private final Quad quad;
-		private String blankNodePrefix;
-		
-		JsonLdQuadLikeImpl(Quad jsonldQuad, String blankNodePrefix) {
-			this.quad = jsonldQuad;
-			this.blankNodePrefix = blankNodePrefix;			
-		}
-	
-		@SuppressWarnings("unchecked")	
-		@Override
-		public Optional<G> getGraphName() {
-			G g = (G) rdfTermFactory.asRDFTerm(quad.getGraph(), blankNodePrefix);
-			return Optional.ofNullable(g);
-		}
-		
-		@SuppressWarnings("unchecked")
-		@Override
-		public S getSubject() {
-			return (S) rdfTermFactory.asRDFTerm(quad.getSubject(), blankNodePrefix);
-		}
-	
-		@SuppressWarnings("unchecked")
-		@Override
-		public P getPredicate() {
-			return (P) rdfTermFactory.asRDFTerm(quad.getPredicate(), blankNodePrefix);
-		}
-	
-		@SuppressWarnings("unchecked")
-		@Override
-		public O getObject() {
-			return (O) rdfTermFactory.asRDFTerm(quad.getObject(), blankNodePrefix);
-		}
-	
-		public Quad asJsonLdQuad() {
-			return quad;
-		}
-	}
 
+class JsonLdQuadLikeImpl<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm>
+        implements JsonLdQuadLike<G> {
+
+    // Note: We always pass the blankNodePrefix and don't rely on the internal
+    // blankNodePrefix in this static factory
+    private static JsonLdRDF rdfTermFactory = new JsonLdRDF();
+
+    private final Quad quad;
+    private String blankNodePrefix;
+
+    JsonLdQuadLikeImpl(Quad jsonldQuad, String blankNodePrefix) {
+        this.quad = jsonldQuad;
+        this.blankNodePrefix = blankNodePrefix;
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Optional<G> getGraphName() {
+        G g = (G) rdfTermFactory.asRDFTerm(quad.getGraph(), blankNodePrefix);
+        return Optional.ofNullable(g);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public S getSubject() {
+        return (S) rdfTermFactory.asRDFTerm(quad.getSubject(), blankNodePrefix);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public P getPredicate() {
+        return (P) rdfTermFactory.asRDFTerm(quad.getPredicate(), blankNodePrefix);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public O getObject() {
+        return (O) rdfTermFactory.asRDFTerm(quad.getObject(), blankNodePrefix);
+    }
+
+    public Quad asJsonLdQuad() {
+        return quad;
+    }
+}