1

我目前正在使用 gremlin-python 来研究图表。我想获得所有具有两个以上出边的顶点。我正在使用匿名遍历根据边缘计数过滤掉用户,但下面是我得到的错误。

AttributeError: 'list' 对象没有属性 'out'

我是新手,不确定我在这里做错了什么。这是可用的有限 gremlin-python 教程/文档中描述的方式。

Jupyter NB shell 的屏幕截图。

4

1 回答 1

5

如果您可以包含一个显示您使用的导入以及查询的代码片段,那将会很有帮助。你记得在你的 Python 代码中导入这个类吗?

from gremlin_python.process.graph_traversal import __

我可以使用我的一张图表毫无问题地运行您的查询

g.V().hasLabel('airport').where(__.out().count().is_(P.gte(2))).count().next()

如果您没有该导入,您将看到与您所看到的错误类似的错误。

在此位置使用 gremlin-python 时,有一个最常用的导入列表

编辑添加:

正如斯蒂芬在下面的评论中指出的那样,您只需要知道是否至少有两个传出边,您可以通过添加一个limit步骤来减少查询引擎必须做的工作(一些优化器可能不需要这个)。

g.V().hasLabel('airport').where(__.out().limit(2).count().is_(P.gt(1))).count().next()
于 2020-03-23T13:57:58.140 回答