我有一个具有Airport
个节点和Flight
关系的图,我想从特定的节点中找到三角形,这些三角形的边缘之间的距离都在10%以内。
MATCH path = (first:Airport{ID: 12953})-[f1:Flight]->
(second:Airport)-[f2:Flight]->
(third:Airport)-[f3:Flight]->
(last:Airport{ID: 12953})
WHERE second.ID <>first.ID AND
third.ID <>first.ID AND
f1.Distance<=(1.1*f2.Distance) AND
f1.Distance<=(1.1*f3.Distance) AND
f2.Distance<=(1.1*f1.Distance) AND
f2.Distance<=(1.1*f3.Distance) AND
f3.Distance<=(1.1*f1.Distance) AND
f3.Distance<=(1.1*f2.Distance)
WITH (first.ID,second.ID,third.ID) as triplet
return count(DISTINCT triplet)
我只想返回一次节点集(无论它们之间有多少不同的飞行),但是with
行不起作用。基本上,我要创建的是一种新型的变量“对象”,它具有三个ID作为其属性,并在其上运行。在neo4j中有可能吗?如果没有,有什么解决方法吗?