【发布时间】:2017-07-31 12:37:05
【问题描述】:
我在 ArangoDB 中有一个图,其中包含两个顶点集合 P 和 F,以及一个包含两种类型边的边集合:fp 和 hp。
请注意,上面的图像已经过简化 - “F”节点通过更多“fp”边连接到其他 F 节点。换句话说,我事先不知道(例如)“F4”是否有入站“fp”边缘或更多。
我想使用一个 AQL 查询来遍历图形,从节点 PA 开始,但在没有入站“hp”边的任何顶点处停止。 Documentation 表示停止遍历的方法是使用如下查询:
FOR v, e, p IN 0..100 OUTBOUND 'P/PA'GRAPH 'test'
FILTER p.<vertices|edges>... <condition>
RETURN v
我想看看:
PA, PC, PE, PF
但如果不首先在“P”节点上填充一个新属性,表明它们具有入站“fp”边缘,我不知道如何实现这一点。如果我这样做了,那么这将是可能的:
FOR v, e, p IN 0..100 OUTBOUND 'P/PA'GRAPH 'test'
FILTER p.vertices[*].hasFP ALL == true
RETURN v
有没有一种方法可以在一个 AQL 查询中实现这一目标而无需预处理步骤?
【问题讨论】:
标签: graph-databases arangodb graph-traversal