我正在尝试获取两个顶点之间的边属性值。例如。 A - >乙 A和B是两个顶点,它有边缘属性(名称)。
我的代码如下:
graph.V().hasLabel(A).outE().value("name").headOption()
它为我提供了名称的属性值。
在给定的两个顶点中,我得到None作为输出
graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()
'测试' - 边缘标签 '名称' - 边缘属性
知道我的查询有什么问题。
答案 0 :(得分:1)
对您在上一个问题的评论中无法回答此问题表示歉意。我认为你在寻找的是:
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"
您实际上是在询问顶点上的属性。