我正在尝试理解如何在ArangoDB中交叉两个结果,我的场景看起来像这样。
我可以通过查询轻松找到居住在西班牙,岛屿或欧洲的用户:
FOR x IN 1..3 INBOUND "places/Europe" situedIn,livesIn
FILTER IS_SAME_COLLECTION('users',x)
return x
我想了解的是扩展搜索功能的最佳方式,包括专业:
示例:
感谢任何帮助
答案 0 :(得分:3)
经过一番搜索,答案是“交叉”
FOR a IN INTERSECTION (
(FOR x IN 1..3 INBOUND "places/Europe" situedIn
FOR p IN INBOUND x livesIn
return p),
(FOR x IN 1..3 INBOUND "profession/Medical" specializes
FOR p IN INBOUND x worksWith
return p)
) RETURN a
答案 1 :(得分:1)
_commonNeighbors
功能可能是您正在寻找的功能。它返回两组顶点之间的交集。
https://docs.arangodb.com/3.0.10/Manual/Graphs/GeneralGraphs/Functions.html#commonneighbors