You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by en...@apache.org on 2014/01/15 12:19:23 UTC

[2/2] git commit: CLEREZZA-865: Re-enstablished bidimap for bnodes in input

CLEREZZA-865: Re-enstablished bidimap for bnodes in input


Project: http://git-wip-us.apache.org/repos/asf/clerezza/repo
Commit: http://git-wip-us.apache.org/repos/asf/clerezza/commit/0a3c1ddf
Tree: http://git-wip-us.apache.org/repos/asf/clerezza/tree/0a3c1ddf
Diff: http://git-wip-us.apache.org/repos/asf/clerezza/diff/0a3c1ddf

Branch: refs/heads/master
Commit: 0a3c1ddf72c2bc419c5cc6fff7d63c33b6a71c13
Parents: b5c55ac
Author: enridaga <en...@apache.org>
Authored: Wed Jan 15 10:25:04 2014 +0000
Committer: enridaga <en...@apache.org>
Committed: Wed Jan 15 10:25:04 2014 +0000

----------------------------------------------------------------------
 .../main/java/rdf/virtuoso/storage/VirtuosoMGraph.java  | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/clerezza/blob/0a3c1ddf/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
----------------------------------------------------------------------
diff --git a/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java b/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
index b0713a2..8fc878d 100644
--- a/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
+++ b/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
@@ -70,7 +70,7 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
 	 * Bidirectional map for managing the conversion from virtuoso blank nodes
 	 * (strings) to clerezza blank nodes and vice versa.
 	 */
-//	private final BidiMap<String, BNode> bnodesMap;
+	private final BidiMap<String, BNode> bnodesMap;
 	private int maxVirtBnodeIndex = 0;
 
 	/**
@@ -102,7 +102,7 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
 				provider);
 		this.name = name;
 		this.provider  = provider;
-//		this.bnodesMap = new BidiMapImpl<String, BNode>();
+		this.bnodesMap = new BidiMapImpl<String, BNode>();
 	}
 
 	/**
@@ -601,7 +601,13 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
 		if(bnode instanceof VirtuosoBNode){
 			return ((VirtuosoBNode) bnode).asSkolemIri();
 		}else{
-			return nextVirtBnode();
+			String virtBnode = bnodesMap.getKey(bnode);
+			if (virtBnode == null) {
+				// We create a local bnode mapped to the BNode given
+				virtBnode = nextVirtBnode();
+				bnodesMap.put(virtBnode, bnode);
+			}
+			return bnodesMap.getKey(bnode);
 		}
 	}