Gremlin 如何在neptune db中同时获得顶点和边值

Gremlin 如何在neptune db中同时获得顶点和边值,gremlin,amazon-neptune,Gremlin,Amazon Neptune,我是Neptune DB的新手,我已经创建了顶点并用边连接了两个顶点,并且我已经给了边和值一些属性 我想检索边和顶点属性值 有人能为我提供一个示例查询吗 提前谢谢 例如: 顶点:p1、P2、p3 连接P1和P2的边缘E1,连接P2和P3的边缘E2 顶点属性:名称 边属性:关系 现在,我需要取出连接到P1的所有顶点的名称和关系。步骤就是您要查找的。使用by调制器,您可以按循环方式选择属性,即顶点边 首先定位p1顶点: g.V().hasLabel("testV").has("name","p1")

我是Neptune DB的新手,我已经创建了顶点并用边连接了两个顶点,并且我已经给了边和值一些属性

我想检索边和顶点属性值

有人能为我提供一个示例查询吗

提前谢谢

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


现在,我需要取出连接到P1的所有顶点的名称和关系。步骤就是您要查找的。使用
by
调制器,您可以按循环方式选择属性,即顶点边

首先定位p1顶点:

g.V().hasLabel("testV").has("name","p1")
使用“关系”属性沿边重复遍历:

.repeat(outE("testE").has("relation").inV()).until(__.not(outE("testE")))
通过调制器获取遍历路径(或树),并使用调制器为顶点选择“名称”,为边选择“关系”:

.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"))

你的问题很模糊。你能提供示例图、起始顶点或属性以及预期结果吗?我能链接thisg.V().hasLabel(“testV”).has(“name”,“p1”).bothE().otherV().path().by(“name”).by(“relation”)哪一个是最好的,有人能解释为什么吗?当然可以,但你只能得到一级邻居,所以在你的示例中只有p2,您将无法获得p3。请打开一个新问题,并共享有关图形中有多少顶点和边、有多少第一级邻居、DB引擎版本等的信息。路径非常昂贵,因此最好使用我建议的其他方法。