OpenCypher - 获取所有未连接到图中心的节点
OpenCypher - Get all nodes that not connect to the center of the graph
我有一张关于 Neptune 的图表,我使用 OpenCypher 对其进行了查询。
在图的中间我有一个很大的连接节点,
在边缘,您可以看到我有一些单个节点/仅连接到 1-5 个其他节点的节点。 (见图片)
我想获得所有这些,有这样做的选项吗?
我试着考虑一些选项,比如从中心取一个随机 ID,并检查所有没有从它们到该节点的路径的节点,或者说获取所有节点的 table以及连接到它们的节点数,并询问所有不包含超过 10 个连接节点的节点
但是我没有找到写这个查询的方法,
必须知道 Neptune 上的 opencypher 并不包含所有像 'all' 谓词函数这样的魔法键,所以需要想办法使用 neptune 支持的函数
理想情况下,您需要 运行 弱连通分量算法来识别最大的分量,然后 return 不属于它的所有节点。 Neptune 似乎不支持该算法 out-of-the-box,但您可以使用 gremlin 实现它,如另一个 SO 问题中所述:Find largest connected components AWS Neptune
我有一张关于 Neptune 的图表,我使用 OpenCypher 对其进行了查询。
在图的中间我有一个很大的连接节点, 在边缘,您可以看到我有一些单个节点/仅连接到 1-5 个其他节点的节点。 (见图片)
我想获得所有这些,有这样做的选项吗?
我试着考虑一些选项,比如从中心取一个随机 ID,并检查所有没有从它们到该节点的路径的节点,或者说获取所有节点的 table以及连接到它们的节点数,并询问所有不包含超过 10 个连接节点的节点
但是我没有找到写这个查询的方法, 必须知道 Neptune 上的 opencypher 并不包含所有像 'all' 谓词函数这样的魔法键,所以需要想办法使用 neptune 支持的函数
理想情况下,您需要 运行 弱连通分量算法来识别最大的分量,然后 return 不属于它的所有节点。 Neptune 似乎不支持该算法 out-of-the-box,但您可以使用 gremlin 实现它,如另一个 SO 问题中所述:Find largest connected components AWS Neptune