我是Neptune DB的新手,我创建了顶点并将两个顶点与边连接在一起,并且为边和值赋予了一些属性
我想同时获取边和顶点属性值
有人可以向我提供示例查询吗?
谢谢。
例如: 顶点:p1,P2,p3 边缘E1连接P1和P2,边缘E2连接P2和P3 顶点属性:名称 边缘属性:关系
现在,我需要为连接到P1的所有顶点提取名称和关系
答案 0 :(得分:2)
path
步骤就是您要寻找的。使用by
调制器,您可以循环方式选择属性,即顶点边缘。
首先找到p1顶点:
g.V().hasLabel("testV").has("name","p1")
使用“关系”属性沿边重复遍历:
.repeat(outE("testE").has("relation").inV()).until(__.not(outE("testE")))
获取遍历path
(或tree
),并使用by
调制器为顶点选择“名称”,为边选择“关系”:
.path().by("name").by("relation")
要查看字符串数组中的结果:
.local(unfold().fold())
请注意,这种遍历不能处理循环,但这是另一个问题。
如果仅需要一级邻居,则可以采用其他方法:
g.V().hasLabel("testV").has("name","p2").bothE()
.project("relation","name")
.by(values("relation"))
.by(otherV().values("name"))