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

用于查找在两个方向上连接的顶点的Gremlin查询

百里飞捷
2023-03-14

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

共有1个答案

阮俊弼
2023-03-14

搜索具有平行边的顶点是循环检测的一种特殊情况。

你可以在这里找到循环检测的方法。

代码的简化版本与您的案例相匹配:

g.V().as('a').
  out().simplePath().where(out().as('a')).
  path().dedup().by(unfold().
    order().by(id).
    dedup().fold())

例子:https://gremlify.com/8c

 类似资料:
  • 如何在Gremlin查询中检索从根顶点开始的所有顶点属性? 我们有以下结构: 根顶点:Employee 边缘:EdCompany,EdDepartment,EdRole顶点:公司,部门,角色 我们试图接收与根顶点连接的其他顶点的数据。有人这样想: 我们尝试了该查询,但返回了一个复杂的JSON: 编辑: 我们还尝试了Kelvin建议的查询: 堆栈跟踪:提交查询失败:g.V().hasLabel(“E

  • Azure Cosmos DB中的Gremlin API允许我们在不同分区(p1、p2)中创建具有相同id(v1)的顶点。当我为一个分区(p1)中的顶点(v1)创建自边(e1)时,两个分区(p1的v1和p2的v2)中的顶点都创建了两条边。但实际上,p1的顶点(v1)只需要创建一条边。我使用gremlin版本3.4.10创建边。在Azure Portal中为顶点添加源和目标时,观察到了创建重复边的相

  • 我是gremlin查询的新手。我有一个如下图,我的源顶点是P3,我想编写一个查询,它将获取所有父\祖先顶点(如果有一条从该顶点到P3的路径,其边缘类型为“包含”)类型为“部分”,并与它们关联一个Owner。所以在这种情况下,查询应该返回P1和P2,而不是P。 查询以创建样本数据: 这是我提出的查询,但遍历一旦找到一个具有相关所有者顶点的零件顶点,就会停止。如何更新它以返回P1和P2。 我还尝试了使

  • 问题内容: 我有和桌子。 询问: 返回474条记录 对于这些记录,我想添加的表成的表。 示例 :如果对于第一条记录,客户的id是9 ,地址的也是9,那么我想在地址表的cid列中插入9。 我试过了: 但这似乎不起作用。 问题答案: 这是Postgres UPDATE JOIN格式: 这是其他变体:http : //mssql-to- postgresql.blogspot.com/2007/12/u

  • 我只是在玩Cosmos DB中的Graph API,它使用Gremlin语法进行查询。 我在图中有许多用户(顶点),每个用户对其他用户都有“知道”的属性。其中一些是外边缘(outE),另一些是内边缘(inE),具体取决于关系的创建方式。我现在尝试创建一个查询,该查询将返回给定用户(顶点)的所有“已知”关系。我可以通过以下方式轻松获取inE或outE的ID: 其中是我正在查询的用户的ID,但我无法提

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