如何在ArangoDB中找到顶点的独立度?
我正在尝试查找顶点集合中所有悬空的文档。为此,我想我必须找到indegree=0的所有顶点。我如何使用AQL实现这一点。假设您在集合如何在ArangoDB中找到顶点的独立度?,arangodb,Arangodb,我正在尝试查找顶点集合中所有悬空的文档。为此,我想我必须找到indegree=0的所有顶点。我如何使用AQL实现这一点。假设您在集合顶点和边缘集合边缘中有一个带有U键的文档,那么您可以确定如下索引: RETURN LENGTH(FOR v IN INBOUND 'Verts/A' Edges RETURN true) 如果您有一个命名图MyGraph,请使用以下命令: RETURN LENGTH(FOR v IN INBOUND 'Verts/A' GRAPH 'MyGraph' RETURN
顶点和边缘集合边缘中有一个带有U键的文档,那么您可以确定如下索引:
RETURN LENGTH(FOR v IN INBOUND 'Verts/A' Edges RETURN true)
如果您有一个命名图MyGraph
,请使用以下命令:
RETURN LENGTH(FOR v IN INBOUND 'Verts/A' GRAPH 'MyGraph' RETURN true)
要确定哪些顶点没有入站边,可以执行以下操作:
FOR s IN Verts
FILTER NOT FIRST(FOR v IN INBOUND s._id Edges LIMIT 1 RETURN true)
RETURN s._id
要查找悬挂顶点(没有任何连接的边),您必须将入站
更改为任何
与其进行子查询遍历,不如在不进行遍历的情况下利用边缘索引:
FOR v IN Verts
FILTER NOT FIRST(FOR e IN Edges
FILTER v._id == e._from || v._id == e._to
LIMIT 1
RETURN true)
RETURN v._id
使用命名图进行遍历的好处是可以考虑图的所有边集合。如果它有多个顶点集合,则仍然需要单独检查每个集合