如何获得海王星数据库中的顶点和边值

时间:2019-09-16 19:50:09

标签: gremlin amazon-neptune

我是Neptune DB的新手,我创建了顶点并将两个顶点与边连接在一起,并且为边和值赋予了一些属性

我想同时获取边和顶点属性值

有人可以向我提供示例查询吗?

谢谢。

例如: 顶点:p1,P2,p3 边缘E1连接P1和P2,边缘E2连接P2和P3 顶点属性:名称 边缘属性:关系

现在,我需要为连接到P1的所有顶点提取名称和关系

1 个答案:

答案 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"))