如何通过NGQL筛选出没有建立边关系的所有点、没建立指定边关系的所有点

如题:求教如何通过NGQL筛选出没有建立边关系的所有点、没建立指定边关系的所有点

目前还不支持。

1 个赞

您好。感谢回答。
我看管方文档来说,通过go或者match的方式,获得的必定是有边关系的数据
现在如果没有直接支持的方案,那对于没有边关系的孤点,能否通过其他的组合拆分的替代方案,实现孤点的查询呢?

谢谢解答~

ngql 还不支持孤点查询,你的需求可以用 cypher 表达为以下语句:

MATCH (v:label) WHERE NOT (v)-[:unexpectedEdge]-() RETURN v

可以关注一下后续的版本发布

neo4j可以直接取点的出入度

对的,通过 PatternExpression 和 size 函数可以查找指定出入度的点,出入度为零的点就是孤点。目前 nebula 还不支持。

不止,内部有个数据结构。直接拿。

内部的数据结构咋拿?sdk 吗?

不嫌慢的话是不是可以用MINUS集合操作,就是所有点减掉有边(或有指定边)的点。

如果这个点没有任何边呢?

没关系啊,比如在basketballplayer中:
match(v:player) return id(v) MINUS match(v:player)–() return id(v)
可以取到所有没有边的player

2 个赞

确实是可以的

太强了,这么减,这个能在牺牲性能的前提下实现一些多 pattern 才能表达的查询,会非常慢么?

basketballplayer小数据量下还是很快的 :joy:,大数据量下一个不带条件的match就够呛啦

1 个赞

好滴好滴,多谢!:sob:

是的亲,我是这么做的,通过总体的VID扣掉存在边的VID

这个会导致慢查询

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。