我在ArangoDB中有一个根节点为“X”的图形。现在,“a,b,c,d,e,f”是'X'直接或盛大的兄弟姐妹的兄弟姐妹。现在从给定的兄弟节点“a,b,c,d,e或f”我想到节点'X'。是否有任何通用AQL查询直接遍历任何图的根节点?
为了提供一个确切的例子,我需要了解更多,但这是几个解决方案之一。
假设节点通过“子”边连接,并且边的方向从父节点到子节点。你会穿过树或INBOUND
FOR v,e,p IN 1..50 INBOUND '(id of starting node a,b,etc.)' child RETURN p.vertices
如果您知道root的最大跳数,请将50更改为该值。
此语句将返回从起始节点到子节点到头节点的所有路径和中间路径。要仅返回头节点的路径,您必须过滤掉中间路径。这可以通过检查来查看没有父顶点。
FOR v,e,p IN 1..50 INBOUND '(id of starting node a,b,etc.)' child
FILTER LENGTH(EDGES(child,v._id,'inbound'))==0 RETURN p.vertices
这将过滤掉所有不以根顶点结束的路径。
我遇到了这个,因为我遇到了同样的问题,但上面已经过时了:
我做了以下事情:
let ref_items = (for s in skills
return s._id)
let c = (for item in ref_skills
for sk in skill_skill
filter item == sk._to
return item)
return MINUS(ref_skills, c)