2015-06-01 86 views
1

將樣品取出,但被修改,從這個例子:http://neo4j.com/docs/2.2.2/cypherdoc-importing-csv-files-with-cypher.html在neo4j中進行CSV導入時,可以根據數據定義關係類型嗎?

USING PERIODIC COMMIT 500 LOAD CSV 
WITH HEADERS FROM "http://neo4j.com/docs/2.2.2/csv/import/roles.csv" AS csvLine 
MATCH (person:Person { id: toInt(csvLine.personId)}),(movie:Movie { id: toInt(csvLine.movieId)}) 
CREATE (person)-[:csvLine.role { role: csvLine.role }]->(movie) 

上述不起作用,因爲我嘗試從CSV文件使用該數據來定義關係類型,它不似乎受到了譴責。或者是因爲CSV文件中的數據包含空間?

回答

1

據我所知,這是不可能的。它是非常多的關係類型?如果沒有,你可以做這樣的事情:

USING PERIODIC COMMIT 500 LOAD CSV 
WITH HEADERS FROM "http://neo4j.com/docs/2.2.2/csv/import/roles.csv" AS csvLine 
WHERE csvLine.role = 'VALUE' 
MATCH (person:Person { id: toInt(csvLine.personId)}),(movie:Movie { id: toInt(csvLine.movieId)}) 
CREATE (person)-[:VALUE { role: csvLine.role }]->(movie) 

顯然,你需要複製/粘貼該位爲許多獨特價值,你有。我之前沒有試過,所以你可能需要WITH之後(也許之前?)WHERE

+0

這就是我所期望的。我寧願有關係告訴我它是什麼,而不是關係上的財產。感謝您的回覆。 –

+0

是的,當然。另一個要記住的是'neo4j-import'命令。這可讓您以特定格式定義CSV,並且還可以讓您將類型指定爲CSV中的其中一列。唯一的問題是你可能需要將CSV轉換成一些。 http://neo4j.com/docs/stable/import-tool.html –

相關問題