Graph 如何使用csv加载从Neo4J/Cypher中的csv获取关系

Graph 如何使用csv加载从Neo4J/Cypher中的csv获取关系,graph,neo4j,cypher,graph-databases,Graph,Neo4j,Cypher,Graph Databases,我使用的是Neo4J社区版3.2.1 请考虑此具有边的CSV文件: node1,relation,node2,type 1,RELATED_TO,2,Married 2,RELATED_TO,1,Married 1,RELATED_TO,3,Child 2,RELATED_TO,3,Child 3,RELATED_TO,4,Sibling 3,RELATED_TO,5,Sibling 4,RELATED_TO,5,Sibling 我已经准备好为此创建节点。然后运行以下csv加载命令: load

我使用的是Neo4J社区版3.2.1

请考虑此具有边的CSV文件:

node1,relation,node2,type
1,RELATED_TO,2,Married
2,RELATED_TO,1,Married
1,RELATED_TO,3,Child
2,RELATED_TO,3,Child
3,RELATED_TO,4,Sibling
3,RELATED_TO,5,Sibling
4,RELATED_TO,5,Sibling
我已经准备好为此创建节点。然后运行以下csv加载命令:

load csv with headers from
"file:///test_dataset/edges.csv" as line
match (person1:Person {pid:line.node1}),
    (person2:Person {pid:line.node2})
create (person1)-[:line.relation {type:line.type}]->(person2)
但这将返回以下错误:

Invalid input '.': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 5, column 24 (offset: 167))
"create (person1)-[:line.relation {type:line.type}]->(person2)"
看来我不能用这样的直线关系。如何使用csv加载使用csv文件第二列中的关系

我已经看到了,但是我想使用本机查询语言来实现这一点

为了验证查询的其余部分是否正确,我已通过如下硬编码关系成功地创建了正确的边:

load csv with headers from
"file:///test_dataset/edges.csv" as line
match (person1:Person {pid:line.node1}),
    (person2:Person {pid:line.node2})
create (person1)-[:RELATED_TO {type:line.type}]->(person2)
本机不可能创建具有动态标签的节点和具有动态类型的关系

这就是为什么有一个程序

如果您希望以本机方式执行此操作,并且您知道关系列的所有不同值,则可以创建许多类似于每个值一个的密码脚本:

LOAD CSV WITH HEADERS FROM "file:///test_dataset/edges.csv" AS line
WITH line WHERE line.relation ='RELATED_TO'
MATCH (person1:Person {pid:line.node1})
MATCH (person2:Person {pid:line.node2})
CREATE (person1)-[:RELATED_TO {type:line.type}]->(person2)
本机不可能创建具有动态标签的节点和具有动态类型的关系

这就是为什么有一个程序

如果您希望以本机方式执行此操作,并且您知道关系列的所有不同值,则可以创建许多类似于每个值一个的密码脚本:

LOAD CSV WITH HEADERS FROM "file:///test_dataset/edges.csv" AS line
WITH line WHERE line.relation ='RELATED_TO'
MATCH (person1:Person {pid:line.node1})
MATCH (person2:Person {pid:line.node2})
CREATE (person1)-[:RELATED_TO {type:line.type}]->(person2)

谢谢然后我会查看导入工具。谢谢。然后我将研究导入工具。