【发布时间】:2019-09-21 08:18:42
【问题描述】:
我对 arango 图比较陌生,我正在尝试为我的图问题找到解决方案。 我的图表如下所示:
我有多个起始节点,它们都应该连接到我不知道的结束节点。 我正在搜索 AQL 以在我的图中找到这些连接端节点。 是否可以使用 arango 找到这些节点?谁能帮帮我?
【问题讨论】:
我对 arango 图比较陌生,我正在尝试为我的图问题找到解决方案。 我的图表如下所示:
我有多个起始节点,它们都应该连接到我不知道的结束节点。 我正在搜索 AQL 以在我的图中找到这些连接端节点。 是否可以使用 arango 找到这些节点?谁能帮帮我?
【问题讨论】:
LET startingNodes = ['nid1', 'nid2', ...] //or @nids
LET vArrs = (
FOR snode in startingNodes
RETURN (
FOR v, e, p in 0..@maxDepth
OUTBOUND snode
GRAPH @graphName //or list of edge collections
OPTIONS {uniqueVertices: 'path'}
RETURN {id: v._id, dist: length(p.vertices)}
)
)
LET vidArrs = (
FOR vArr in vArrs
RETURN (
FOR v in vArr RETURN v.id
)
)
LET vCommon = APPLY('INTERSECTION', vidArrs)
FOR v in FLATTEN(vArrs)
FILTER v.id in vCommon
SORT v.dist ASC
LIMIT 1
RETURN v.id
【讨论】: