我有一个简单的图形,带有两个顶点,具有IDS'a'和'b'。
我分配了两个边缘从" a"到'b',其中每个边缘都有标签=" foo"
[1] gremlin> g.v('a')。oute()
==> E [F4B4B71D-CA98-5302-3EB1-7F99A7E74081] [a-foo-> b]
==> e [98B4B71D-C8C9-4CA2-9FBE-2F58E33D25E4] [a-foo-> b]
每个边缘都有一个属性="委托"。
[2] gremlin> g.e()。properties()
==> p [consited-> 2]
==> p [consited-> 1]
我的问题:我想列举边缘并像步骤[2]一样返回其各自的属性,但是如何将结果中的边缘属性匹配到其各自的边缘(IDS)?我回来的只是属性键值分配;与边缘ID有关的没有任何关系。
谢谢,
乔尔·斯特维克
您应该避免返回诸如顶点和边缘之类的图形元素,而是将结果转换为需要它的特定形式。您可以通过多种方式做到这一点。在这种情况下,project()
效果很好:
gremlin> g.V().outE().project('id','weight').by(id).by('weight')
==>[id:9,weight:0.4]
==>[id:7,weight:0.5]
==>[id:8,weight:1.0]
==>[id:10,weight:1.0]
==>[id:11,weight:0.4]
==>[id:12,weight:0.2]
或者您可以使用valueMap()
-在3.4.0上,您有with()
语法:
gremlin> g.V().outE().valueMap('weight').with(WithOptions.tokens)
==>[id:9,label:created,weight:0.4]
==>[id:7,label:knows,weight:0.5]
==>[id:8,label:knows,weight:1.0]