2015-04-28 76 views
0

我有问题,当我想在节点或Relatioship上添加标签时。节点上的标签和来自CSV文件的关系

我这样做是Neo4j的用暗号:

LOAD CSV WITH HEADERS FROM "file:c:/Users/Test/test.csv" AS line 
CREATE (n:line.FROM) 

和我得到这个错误:

Invalid input '.': expected an identifier character, whitespace, NodeLabel, a property map, ')' or a relationship pattern (line 2, column 15 (offset: 99)) 
"CREATE (n:line.FROM)" 

如果没有与Cypher支架语言这样做的可能的方式,你可以推荐我还有其他方式来完成我的工作? 找到对这个问题即使有Cypher支架解决方案或任何Java的东西做这个工作的解决方案是非常重要的......

+3

简而言之,当前'load csv'不支持动态分配的标签。但是,有一个解决方法。这是几个星期后的一篇文章,详细介绍了解决方案... http://stackoverflow.com/questions/29419634/set-label-based-on-data-within-load-csv –

回答

1

谢谢大家的答案,但没有人帮我解决我的问题。

我找到了一个解决方案来完成我想要的。解决方案是Neo4jImporter工具(Link官方手册:Neo4jImporter tool Manual),而不是Cypher语言和Java。

因此,这里是什么,我做了一个例子,我

工作的一名test.csv文件包含“PropertyTest”和“:LABEL”。首先创建一个标签为“TEST”的节点,创建后在“TEST”节点上添加“proptest”属性。因此,要在您的节点上添加标签,请使用:LABEL,并在同一节点上添加一个属性,然后在.csv文件中添加您想要的任何名称作为标头。 test.csv文件

例子:

PropertyTest,:LABEL 
proptest,TEST 

对于windows我已经因为它是在Neo4j.You的手册页中描述做了Neo4jImport.bat命令可以在发现Neo4jImport.bat在Windows “C:\ Program Files \ Neo4j Community \ bin”,然后从命令行(cmd)运行它。

在细节我打开CMD,我跟着路径Neo4jImport.bat和finaly我写道:Neo4jImporter的

Neo4jImport.bat --into path-to-save-your-neo4j-database --nodes path-to-your-csv\test.csv 
--delimiter "," 

缺省的分隔符是“”,但你可以改变它。例如,如果在.csv文件中的信息与标签分隔,你可以做到以下几点:

Neo4jImport.bat --into path-to-save-your-neo4j-database --nodes path-to-your-csv\test.csv 
--delimiter "TAB" 

那是我动态加载不同的标签和属性几乎2.000节点的整个模型的方式。

记住从您可以通过添加到您的CSV更多标题

两个标签

例中的一个节点一个节点上添加你想要的标签,并尽可能多的性能手册:

PropertyTest,:LABEL,:LABEL 
proptest,TEST,SECOND_LABEL 
两个标签和逗号Neo4jImport.bat的

例分隔CSV文件:

Neo4jImport.bat --into path-to-save-your-neo4j-database --nodes path-to-your-csv\test.csv 
--delimiter "," 

我希望,你会发现它有用的标签从.CSV FIL这个一定的问题并请阅读官方手册,它帮助我找到解决我的问题的很多方法。

1

取决于你如何动态需要的是,对于小的变化:

LOAD CSV WITH HEADERS FROM "file:c:/Users/Test/test.csv" AS line 
WHERE line.FROM = "Foo" 
CREATE (n:Foo) 

从Java中,你可以使用node.addLabel(DynamicLabel.label(line.from))

否则,你可以看看我的Neo4j壳工具,它允许动态标签和Rel-类型:与#{FROM}

看到:https://github.com/jexp/neo4j-shell-tools#cypher-import

相关问题