我有一个neo4j数据库正在运行。 我还有一个每5分钟运行一次的过程,它的作用是创建“ Point”类型的节点。
“点”具有以下属性:
pointId,cameraId,classId,groupId,datetime
类型为“点”的节点与其自身相关,如果: pointId 和 cameraId & classId 和 groupId 一样。
是否有可能以某种方式获取与其自身相关的所有节点“ Point”,并基于该节点组创建一个新节点“ Line”,其中“ Line”-[:CONTAINS]->“ Point”?
更新:下图显示了我所拥有的和我所需要的。为简单起见,我刚刚定义了属性“ camera”,如果节点Point共享相机,则需要将其分组。
答案 0 :(得分:1)
是的,有可能。
您需要为每对这些属性收集所有点。然后创建Line
节点,然后在创建的线和所有分组点之间创建关系。
在以下查询中将必需的属性添加到行节点。
MATCH (p:Point)
WITH p.pointId as pointId, p.cameraId as cameraId, p.classId as classId, p.groupId as groupId, collect(p) as related_points
CREATE (line:Line)
WITH line, related_points
UNWIND related_points as point
CREATE (line)-[:CONTAINS]->(point)