gpt4 book ai didi

gremlin - 在 Gremlin 中的现有节点之间添加边

转载 作者:行者123 更新时间:2023-12-04 13:32:53 27 4
gpt4 key购买 nike

我是 Gremlin 的新手,只是想建立一个基本的图表。我已经能够在新顶点上做一个基本的 addEdge,即

gremlin> v1 = g.addVertex()
==>v[200004]
gremlin> v2 = g.addVertex()
==>v[200008]
gremlin> e = g.addEdge(v1, v2, 'edge label')
==>e[4c9f-Q1S-2F0LaTPQN8][200004-edge label->200008]

我还能够在通过 id 查找的顶点之间创建一条边:
gremlin> v1 = g.v(200004)
==>v[200004]
gremlin> v2 = g.v(200008)
==>v[200008]
gremlin> e = g.addEdge(v1, v2, 'edge label')
==>e[4c9f-Q1S-2F0LaTPQN8][200004-edge label->200008]

但是,我现在想根据多个属性查找顶点,这就是棘手的地方。为了查找正确的顶点,我对 .has 进行了两次调用.似乎找到了正确的顶点,但添加边失败。
gremlin> v1 = g.V.has("x",5).has('y",7)
==>v[200004]
gremlin> v2 = g.V.has("x",3).has('y",5)
==>v[200008]

gremlin> e = g.addEdge(v1, v2, 'edge label')
No signature of method: groovy.lang.MissingMethodException.addEdge() is applicable for argument types: () values: []

基于属性值查找,在两个现有顶点之间添加简单边的最简单方法是什么?

最佳答案

关键问题是.has返回 Pipe :为了获得特定的顶点实例,简单调用 .next()诀窍:

gremlin> v1 = g.V.has("x",5).has('y",7).next()
==>v[200004]
gremlin> v2 = g.V.has("x",3).has('y",5).next()
==>v[200008]

gremlin> e = g.addEdge(v1, v2, 'edge label')
==>e[4c9f-Q1S-2F0LaTPQN8][200004-edge label->200008]

请注意 .next()将简单地返回管道中的下一个项目。在这种情况下,将忽略与属性值匹配的任何其他顶点。

关于gremlin - 在 Gremlin 中的现有节点之间添加边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17117683/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com