下面是我的密码
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文件指定关系。
我不知道我是否完全理解您的问题,但我猜您正在尝试基于。csv文件的列“relations”创建与类型的关系。
您可以安装APOC过程并使用APOC.create.relationship
过程来完成此操作。
此外,您的密码查询可以简化。您不需要调用load CSV
3次。尝试如下所示:
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 *
我从几个csv文件迭代上传节点和边,每个节点类型一个。加载节点工作得很好,但加载边并不总是有效。实际上,有些节点有数字作为标识符--如果是这样的话,所有这种类型的节点都有数字--但加载为字符串,因此创建边失败。手动创建一个边,添加用双引号包装标识符,效果很好。 边缘: 密码命令:
我使用以下命令将数据从csv文件加载到Neo4j中。输入文件很大,有数百万行。当这个查询运行时,我可以查询节点的数量并检查进度。但是一旦它停止创建节点,我想它就会继续创建关系。但我无法检查这一步的进展。 我有两个疑问: 它是否处理每一行文件的命令,即为每一行源码创建节点和关系等?? 或者它一次创建所有节点,然后创建关系。 下面是加载文件的密码器。
我是一个新的4J新手,我有一个简单的CSV与来源和dest IPS。我想在具有相同标签的节点之间创建一个关系。 类似于…source_ip>>ALERTS>>dest_ip,或者相反。 ....