当前位置: 首页 > 知识库问答 >
问题:

如何在单个gremlin查询中合并两个顶点细节和边缘属性细节

曾翰飞
2023-03-14

如何在单个gremlin查询中合并两个顶点详细信息和边缘属性详细信息。

我有两个顶点:

使用Gremlin查询:g.v(2569472).out('\u label','WallPost')[0..1]

我正在获取UserPost顶点细节,我想在响应中添加UserVertex细节(即性别)和边缘属性细节(即EdgeMessage)

我试图将sql等价的innerjoin操作与sql2gremlin中的gremlin进行比较,但我无法得到预期的结果。

共有1个答案

赫连琦
2023-03-14

SQL2Gremlin是为TinkerPop 3编写的,您仍然在使用TinkerPop 2(在我看来,这要复杂得多)。无论如何,以下是您在TP2中的实现方式:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.v(1).outE("knows")
==>e[7][1-knows->2]
==>e[8][1-knows->4]
gremlin> g.v(1).outE("knows").inV().retain([g.v(4)])
==>v[4]
gremlin> g.v(1).as("x").outE("knows").as("y").inV().retain([g.v(4)]).select(["x","y"]) {it.map()} {it.weight}
==>[x:{name=marko, age=29}, y:1.0]
 类似资料:
  • 我有一个这样的图表 也就是说,每个“事件”顶点有两条传入边:一条终止于“工程师”顶点,另一条终止于“生产者”顶点。但生产者顶点的函数因边缘标签而异。 我想得到原始制作人,事件,工程师和终止制作人。 我有一个小精灵的密码: 也就是说,我选择了一个给定的生产者,获取事件和工程师,然后返回关于每个顶点的一些细节。 我还希望生产者与同一查询中的事件对齐,但不确定如何做到这一点。 非常感谢您的帮助。

  • 我在我的应用程序中使用gremlin REST服务器,我想在单个查询中为一个顶点创建多个边。我有从哪里创建边缘到单个顶点的顶点ID列表。 对于eg-g.V(12,13,14,15)。添加(“使用”,g.V(100)) 我已经尝试了许多遍历步骤,但无法使其工作。

  • 我的场景是在单个查询中在顶点之间添加多条边: 假设下面的节点:这些是我拥有的标签和ID 用户: 4100 歌曲: 4200 4355 4676 我必须在这些顶点之间建立边 我们通常可以通过在节点之间创建单条边来实现。如果我们想一次在50多个顶点之间创建边,这不是一种有效的方法。我正在使用Tinkerpop 3.0.1。

  • 我有一个“用户”顶点,其中有几个用户。我有一个“邀请”顶点,它基本上讲述了一个用户发送给另一个用户的邀请。我有一个“sentTo”边,将邀请顶点与用户顶点(邀请的接收者)连接起来。我有一个“sentBy”边,将邀请顶点连接到用户顶点(发送邀请的用户)。sentBy edge有一个“on”属性,它是一个日期对象。sentBy edge还具有“inviterCount”属性,基本上是收件人用户(接收邀

  • 小精灵:计算连接忽略边,在这个问题中,平行边在相反的方向,我想知道是否有方法找到从给定顶点以两种方式连接的顶点。我们知道重复数据消除()是为了避免重复。但是有没有办法找到具有平行边的顶点?

  • 我正在研究合并两个二叉树的问题(https://www.geeksforgeeks.org/merge-two-binary-trees-node-sum/)我很难理解一些递归。为什么要将递归语句设置为和?当你这样做的时候,是否等于两个值? 我只是不确定为什么我们要将递归语句设置为t1.leftt1.right'