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

Gremlin查询:查找所有与边属性匹配的相关顶点直到结束

段宏毅
2023-03-14

我需要从一个顶点开始,找到所有相关的顶点,直到结束。标准是匹配边inV顶点中的任何一个边属性(属性)。如果边缘属性“value”与inV顶点“attribute”名称不匹配,我应该跳过该顶点。边的属性值作为属性名称传播到inV顶点中

我使用下面的查询,但这给了我父节点、下一个节点和之间的边的json输出。通过输出am写入逻辑,仅拾取与边缘属性匹配的下一个属性。如果属性匹配可以通过gremlin查询完成,那就太好了

var graph Query="g. V(). has('sPath','/Assided/CSurvey/CSurvey.ss'). as('父母流'). out. inV(). as('边缘'). map(select('Edges'). inV(). fol()). as('NextStream'). select('父母流','NextStream','边缘')";

在下面/所附的图片中。我需要获取顶点1和顶点2并跳过顶点3,因为没有与边缘图像链接匹配的属性

共有1个答案

毛博
2023-03-14

使用图遍历和过滤器

Scala中的示例:

graph.traversal().V().has().bothE('sPath').filter{it:Edge =>
(it.property('sPath').value() == '/Assisted/CSurvey/CSurvey.ss')}.toList()

希望这有帮助

 类似资料:
  • 我有一个图,我想沿着包含与顶点上的属性匹配的属性的边。例如。 所以在上面的情况下,假设我从第一个顶点开始,我想跟随属性“version”等于它的“vertValue”的边。 我已经使用进行了一个查询,其中能够跟踪边缘: 问题是,我想返回实际的边缘对象。然而,当我需要在边的“vert”值上做“where”时,在查询中我正在做一个值(“vert”),所以我得到的结果只是我正在测试的值,而不是边对象。我

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

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

  • 问题内容: 我目前正在做类似物物交换系统的系统。这样的情况。客户(茉莉花)需要输入“ NAME”属性(她必须寻找的内容)并输入“ SEEK”属性(她需要寻找的内容)。为了获得结果,“ SEEK”属性必须与其他客户的“名称”属性匹配,而其他客户的“ SEEK”属性必须与Jasmine的“ HAVE”属性匹配。 例如我有表项(已经在数据库中) 例如,茉莉花具有“名称”属性的耳机和“搜索”属性的笔记本电

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

  • 我正在运行一个gremlin匹配查询,该查询根据图的某些属性的值来限制结果。当我在gremlin控制台中运行查询时,我得到了91个与模式匹配的顶点。当我通过javascript websocket连接运行相同的查询时,只返回了64个。如果我向查询中添加.count(),则得到预期的91。是否有允许检索所有结果的设置? g、 V().match(_uu.as('Patient')。hasLabel(