从此示例中获取但已修改样本:http://neo4j.com/docs/2.2.2/cypherdoc-importing-csv-files-with-cypher.html
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文件中的数据包含空格?
答案 0 :(得分: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
答案 1 :(得分:0)
请参阅 this post 以获得问题的答案。
如果链接无效,请阅读 "UserTimestamps" : {
"User1" : {
"2021" : {
"1":{
"30": {
"2:10 pm": {
"wasTappedBy":{
"User2":true
"User3":true
}
}
"2:15 pm": {
"wasTappedBy":{
"User5":true
"User2":true
}
},
},
},
},
},
"User2" : {
"2021" : {
"2":{
"20": {
"1:00 pm": {
"wasTappedBy":{
"User2":true
"User3":true
}
},
},
},
},
},
}
。更具体地说,("UserTimeStamps").child("UserName").child("YearTapped").child("MonthOfYearTapped").child("DayOfMonthTapped").child("TimeOfDayTapped").child("wasTappedBy").child("userWhoDidTheTapping").child(true)
。
APOC Procedure