簡體   English   中英

gremlin-python-獲取大於兩條邊的節點

[英]gremlin-python-gets nodes with greater than two edges

我目前正在使用 gremlin-python 來研究圖表。 我想獲得所有具有兩個以上出邊的頂點。 我正在使用匿名遍歷根據邊緣計數過濾掉用戶,但下面是我得到的錯誤。

AttributeError: 'list' object 沒有屬性 'out'

我是新手,不確定我在這里做錯了什么。 這是可用的有限 gremlin-python 教程/文檔中描述的方式。

Jupyter NB shell 的屏幕截圖。

如果您可以包含一個代碼片段,顯示您使用的導入以及查詢,那將會很有幫助。 在你的 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()
from gremlin_python.structure.graph import Graph
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection


graph = Graph()
graph_db_uri = 'ws://localhost:8182/gremlin'

      
g = graph.traversal().withRemote(DriverRemoteConnection(graph_db_uri,'g'))
c=g.V().hasLabel('node_name').count().next()
print(c)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM