0

gremlin-python では、次のことができます。

for e in g.E().toList():
        print(e)

そして、次のような結果が得られます

e[11][4-created->3]
e[12][6-created->3]
e[7][1-knows->2]
e[8][1-knows->4]
e[9][1-created->3]
e[10][4-created->5]

によると

http://tinkerpop.apache.org/javadocs/3.4.3/core/org/apache/tinkerpop/gremlin/structure/Edge.html

Edge には inVertex() アクセサーがあります。このアイデアを python に変換すると、次のようになります。

for e in g.E().toList():
        print (e.inVertex().id)

そしてエラー

AttributeError: 'Edge' object has no attribute 'inVertex'

同じことが、他のかなりの数の「単純な」API 呼び出しにも当てはまります。

for e in g.E().toList():
        print(e.property('weight'))

失敗する

これは何ですか?また、回避策は何ですか?

4

3 に答える 3

1

toList()gremlin クエリを実行し、結果をリストにパックします。したがって、 で走査を続行することはできませんinVertex()

入力頂点を取得するには、次を実行する必要があります。

for v in g.E().inV().toList():
        print(v)

単一のクエリでエッジ プロパティと両方の頂点プロパティを取得するには、次を使用できますproject

g.E().project("values", "in", "out")
    .by(valueMap(true))
    .by(inV().valueMap(true))
    .by(outV().valueMap(true))
于 2019-09-24T18:25:56.480 に答える