考虑以下示例图:
鉴于顶点A
,B
和C
(创作者),如何找出他们的共同邻居?(所有3个参与的项目)< br />
对于两个顶点,我可以简单地使用GRAPH_COMMON_NEIGHBORS("myGraph", A, B)
,但如果我想查询3个或更多,该怎么办?
预期结果:1
和2
。
给定相同的顶点,如何让它返回没有其他连接的公共邻居?(创建者专门参与项目,不允许附加边缘)?
预期结果:1
,因为2的边缘来自D,它不是起始顶点之一。
答案 0 :(得分:2)
您可以简单地将同一组顶点作为常用邻居的两个参数传递。然后以更好的AQL格式重新打包结果以计算交集:
let res = (
let nodes = ["a/A","a/B","a/C"]
for n in GRAPH_COMMON_NEIGHBORS("g",nodes , nodes)
for f in VALUES(n)
return VALUES(f)
)
return CALL("intersection", res[0])