我是一个Neo4J新手,我有一个简单的CSV源码和目标IP . 我想在具有相同标签的节点之间创建关系 .
像... source_ip >> ALERTS >> dest_ip,或者相反 .
"dest_ip","source_ip"
"130.102.82.16","54.231.19.32"
"130.102.82.116","114.30.64.11"
"130.102.82.116","114.30.64.11"
...
LOAD CSV WITH HEADERS
FROM "file:///Users/me/Desktop/query_result.csv" AS csvLine
CREATE (alert:Alert { source_ip: csvLine.source_ip, dest_ip: csvLine.dest_ip})
MATCH (n:Alert) RETURN n LIMIT 25
dest_ip 130.102.82.16 source_ip 54.231.19.32
....
这很好用 . 我的问题是如何在警报内部创建标签之间的关系?我已经尝试过很多次失败了 . 我猜我需要为Source和Dest设置单独的节点然后链接它们,只是不确定如何 .
提前致谢!
和平,汤姆
2 回答
首先创建这样的约束,以保证唯一性并加快
MERGE
操作 .您可以根据需要使用尽可能多的
CREATE
语句,然后使用MERGE
关系,如下所示:顺便提一下,我建议在大多数地方使用
MERGE
以确保每次创建时都不想要一个新节点,你可能希望在这一个IP地址下进行所有引用,因此MERGE
而不是CREATE
假设你的图模型是这样的
以下Cypher查询将创建该关系