From bc412b99ea86a51a05919425b2b2910f9ec41068 Mon Sep 17 00:00:00 2001 From: David Huynh Date: Fri, 19 Feb 2010 07:05:09 +0000 Subject: [PATCH] Fixed bug in triple loader transposer: properties didn't get asserted before. Made triple loader transposer index its output variables. git-svn-id: http://google-refine.googlecode.com/svn/trunk@106 7d457c2a-affb-35e4-300a-418c747d4874 --- .../TripleLoaderTransposedNodeFactory.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/metaweb/gridworks/protograph/transpose/TripleLoaderTransposedNodeFactory.java b/src/main/java/com/metaweb/gridworks/protograph/transpose/TripleLoaderTransposedNodeFactory.java index 867b28228..22696e34d 100644 --- a/src/main/java/com/metaweb/gridworks/protograph/transpose/TripleLoaderTransposedNodeFactory.java +++ b/src/main/java/com/metaweb/gridworks/protograph/transpose/TripleLoaderTransposedNodeFactory.java @@ -1,7 +1,9 @@ package com.metaweb.gridworks.protograph.transpose; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; +import java.util.Map; import org.json.JSONObject; @@ -19,6 +21,7 @@ import com.metaweb.gridworks.protograph.ValueNode; public class TripleLoaderTransposedNodeFactory implements TransposedNodeFactory { protected List rootNodes = new LinkedList(); protected StringBuffer stringBuffer; + protected Map varPool = new HashMap(); public String getLoad() { stringBuffer = new StringBuffer(); @@ -112,12 +115,22 @@ public class TripleLoaderTransposedNodeFactory implements TransposedNodeFactory cell.recon.match != null) { id = cell.recon.match.topicID; } else { - id = "$" + node.columnName.replaceAll("\\W", "_"); + long var = 0; + if (varPool.containsKey(node.columnName)) { + var = varPool.get(node.columnName); + } + varPool.put(node.columnName, var + 1); + + id = "$" + node.columnName.replaceAll("\\W+", "_") + "_" + var; writeLine("{ 's' : '" + id + "', 'p' : 'type', 'o' : '" + node.type.id + "' }"); writeLine("{ 's' : '" + id + "', 'p' : 'name', 'o' : " + JSONObject.quote(cell.value.toString()) + " }"); } + if (subject != null) { + writeLine(subject, predicate, id); + } + writeChildren(id); return JSONObject.quote(id);