Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在neo4j中进行CSV导入时,是否可以根据数据定义关系类型?_Neo4j - Fatal编程技术网

在neo4j中进行CSV导入时,是否可以根据数据定义关系类型?

在neo4j中进行CSV导入时,是否可以根据数据定义关系类型?,neo4j,Neo4j,此示例中的样本已采集,但已修改: 由于我试图使用CSV文件中的数据来定义关系类型,所以上面的方法不起作用,这似乎是不允许的。还是因为CSV文件中的数据包含空间?据我所知,这是不可能的。有很多关系类型吗?如果没有,您可以这样做: 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 =

此示例中的样本已采集,但已修改:


由于我试图使用CSV文件中的数据来定义关系类型,所以上面的方法不起作用,这似乎是不允许的。还是因为CSV文件中的数据包含空间?

据我所知,这是不可能的。有很多关系类型吗?如果没有,您可以这样做:

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)
显然,您需要复制/粘贴该位,以获得尽可能多的唯一值。我以前没有尝试过这一点,因此您可能需要在
WHERE
之后(可能是之前?)添加
,以获取问题的答案

如果链接不起作用,请阅读有关APOC程序的信息。更具体地说,
apoc.create.relationship()


这正是我所期望的。我宁愿让关系告诉我它是什么,而不是关系中的财产。谢谢你的回复。是的,当然。要记住的另一件事是
neo4j import
命令。这允许您以特定格式定义CSV,还允许您将类型指定为CSV中的一列。唯一的问题是,您可能需要对CSV进行一些转换。
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)
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)}) 
WITH person, movie, csvLine
CALL apoc.create.relationship(person, csvLine.role, {role: csvLine.role}, movie) YIELD rel
RETURN *