Neo4j-无法从csv加载关系 [英] Neo4j - Unable to load Relations from csv
问题描述
我正在尝试从csv加载数据,并在Neo4j中将节点以及关系显示为图形.我能够在Neo4j中加载entity1和entity2,但是无法从csv中加载关系. 我的csv文件如下所示:
I am trying to load the data from the csv and display the nodes along with the relations as the graph in Neo4j. I am able to load the entity1 and entity2 in Neo4j, but unable to load the relations from the csv. My csv file looks like this
下面是我的CYPHER代码
Below is my CYPHER Code
LOAD CSV WITH HEADERS FROM "file:////csvFiles/Fraud_Triplets_Neo4j.csv" AS csvLine
MERGE (a:Subject {
Object1:csvLine.Entity1
,display:csvLine.Entity1
});
LOAD CSV WITH HEADERS FROM
"file:////csvFiles/Fraud_Triplets_Neo4j.csv" AS csvLine
MERGE (b:Object { Object2:csvLine.Entity2 ,display:csvLine.Entity2 });
LOAD CSV WITH HEADERS FROM "file:////csvFiles/Fraud_Triplets_Neo4j.csv" AS csvLine
MATCH (a:Subject { Object1: csvLine.Entity1})
MATCH (b:Object { Object2: csvLine.Entity2})
MERGE ((a) -[:Relation{r:csvLine.Relation}]-> (b))
我正在获取
请告诉我,我应该如何从csv文件中指定关系.
Kindly let me know, how should i specify relation from csv file.
推荐答案
我不知道我是否完全理解您的问题,但是我想您正在尝试根据您的的关系"列创建具有类型的关系. CSV文件.
I don't know if I understood you question completely, but I guess you are trying to create the relationship with types based on column "Relation" of your .CSV file.
您可以安装 APOC程序并使用apoc.create.relationship
程序.
You can do it installing APOC Procedures and using apoc.create.relationship
procedure.
此外,您的Cypher查询也可以简化.您无需呼叫LOAD CSV
3次.尝试这样的事情:
Also, your Cypher query can be simplified. You don't need to call LOAD CSV
3 times. Try something like this:
LOAD CSV WITH HEADERS FROM "file:////csvFiles/Fraud_Triplets_Neo4j.csv" AS csvLine
MERGE (a:Subject {
Object1:csvLine.Entity1,
display:csvLine.Entity1
});
MERGE (b:Object {
Object2:csvLine.Entity2,
display:csvLine.Entity2
});
CALL apoc.create.relationship(a, csvLine.Relation, {}, b) YIELD rel
RETURN *
注意:请记住要根据所使用的Neo4j版本安装APOC过程.看看版本兼容性列表..
这篇关于Neo4j-无法从csv加载关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!