在 scala gremlin 中获取两个顶点之间的传出边 属性 值
Fetch outgoing edge property value between two vertices in scala gremlin
我正在尝试获取两个顶点之间的边 属性 值。例如。 A-->B
A 和 B 是两个顶点,它的边为 属性(name).
我的代码如下:
graph.V().hasLabel(A).outE().value("name").headOption()
它给了我名称的 属性 值。
在给定的两个顶点中,我得到 None 作为输出
graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()
'test' - 边缘标签
'名称' - 边属性
知道我的查询有什么问题吗。
很抱歉无法在您对上一个问题的评论中回答这个问题。我想你要找的是:
graph.traversal().V()
.hasLabel("A").outE("test").as("x").otherV()
.hasLabel("B").select("x").properties("name");
如果您只想要边缘上的属性值,您可以执行以下操作:
graph.traversal().V()
.hasLabel("A").outE("test").as("x").otherV()
.hasLabel("B").select("x").values("name");
旁注(为什么你原来遍历错了):你原来遍历:
graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()
正在执行以下操作:
获取标签为"A"
的所有顶点
从这些顶点沿着标签为 "test"
的向外边到标签为 "B"
的顶点
然后从那些顶点得到属性"name"
你实际上是在请求顶点的属性。
我正在尝试获取两个顶点之间的边 属性 值。例如。 A-->B A 和 B 是两个顶点,它的边为 属性(name).
我的代码如下:
graph.V().hasLabel(A).outE().value("name").headOption()
它给了我名称的 属性 值。
在给定的两个顶点中,我得到 None 作为输出
graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()
'test' - 边缘标签 '名称' - 边属性
知道我的查询有什么问题吗。
很抱歉无法在您对上一个问题的评论中回答这个问题。我想你要找的是:
graph.traversal().V()
.hasLabel("A").outE("test").as("x").otherV()
.hasLabel("B").select("x").properties("name");
如果您只想要边缘上的属性值,您可以执行以下操作:
graph.traversal().V()
.hasLabel("A").outE("test").as("x").otherV()
.hasLabel("B").select("x").values("name");
旁注(为什么你原来遍历错了):你原来遍历:
graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()
正在执行以下操作:
获取标签为
"A"
的所有顶点
从这些顶点沿着标签为
"test"
的向外边到标签为 "B" 的顶点
然后从那些顶点得到属性
"name"
你实际上是在请求顶点的属性。