2015-04-28 78 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

相關問題