我试图了解如何在 ArangoDB 中相交两个结果,我的场景如下所示。
我可以通过查询轻松找到居住在西班牙、岛屿或欧洲的用户:
FOR x IN 1..3 INBOUND "places/Europe" situedIn,livesIn
FILTER IS_SAME_COLLECTION('users',x)
return x
我想了解的是扩展搜索功能以包括职业的最佳方式:
示例:
感谢您的帮助
经过更多搜索后,答案是 INTERSECTION
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
_commonNeighbors
功能可能就是您正在寻找的功能。它返回两组顶点之间的交集。
https://docs.arangodb.com/3.11/graphs/general-graphs/functions/#_commonneighbors