ArangoDB 边收集方向
ArangoDB edge collection direction
使用ArangoDB,如何为AQL查询中的边集合设置不同的搜索方向?例如,在此查询中,我希望 'trusts' 边缘方向限制为出站,而 'likes' 边缘方向可以是任何方向。从文档看来我只能设置一个全局方向,但我只是想确保我没有遗漏任何东西。
FOR p IN GRAPH_SHORTEST_PATH('myGraph', 'users/PeterB', 'marks/Moon',
{edgeCollectionRestriction : ['trusts', 'likes']})
您不能直接(还)以简单的方式为每个集合设置方向,因此您不会遗漏文档中的任何内容。
虽然我的 "to implement" 列表中有此功能。
在 ArangoDB v3 中,您可以使用 OUTBOUND、INBOUND 或 ANY 之一指定要在 AQL 查询中遍历的方向。基本语法是:
FOR v,e,p IN @MN .. @MX @DIRECTION @start @edges
但是如果您的查询有多个 Edge 集合,您可以在每个 Edge 集合的基础上指定方向。有关详细信息,请参阅 AQL 文档,例如https://docs.arangodb.com/3.2/AQL/Graphs/Traversals.html
使用ArangoDB,如何为AQL查询中的边集合设置不同的搜索方向?例如,在此查询中,我希望 'trusts' 边缘方向限制为出站,而 'likes' 边缘方向可以是任何方向。从文档看来我只能设置一个全局方向,但我只是想确保我没有遗漏任何东西。
FOR p IN GRAPH_SHORTEST_PATH('myGraph', 'users/PeterB', 'marks/Moon',
{edgeCollectionRestriction : ['trusts', 'likes']})
您不能直接(还)以简单的方式为每个集合设置方向,因此您不会遗漏文档中的任何内容。
虽然我的 "to implement" 列表中有此功能。
在 ArangoDB v3 中,您可以使用 OUTBOUND、INBOUND 或 ANY 之一指定要在 AQL 查询中遍历的方向。基本语法是:
FOR v,e,p IN @MN .. @MX @DIRECTION @start @edges
但是如果您的查询有多个 Edge 集合,您可以在每个 Edge 集合的基础上指定方向。有关详细信息,请参阅 AQL 文档,例如https://docs.arangodb.com/3.2/AQL/Graphs/Traversals.html