gpt4 book ai didi

database - 图遍历 : How do I query for "friends and friends of friends" using Gremlin

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:30 28 4
gpt4 key购买 nike

在我的图形数据库中,我有 Twig 和树叶。分支可以“包含”叶子,分支可以“包含”分支。

如何使用 Gremlin 找到与给定分支直接或间接相关的所有叶子?

我让这个在 Cypher 中工作:

START v=node(1) MATCH v-[:contains*1..2]->i RETURN v,i

*1..2 表示“ friend 和 friend 的 friend ”。

我想也许 LoopV 是前进的方向,但我只是得到一个 Exception:

Error reading JArray from JsonReader. Current JsonReader item is not an array: String

最佳答案

您可以在 Gremlin 1.4+ 中执行以下操作。

g.v(1).out('contains').loop(1){true}{it.out('contains').count() == 0}

这是说:

  1. 从 id 为 1 的顶点开始
  2. 取传出的“包含”边。
  3. 循环 out('contains') 部分。
  4. “无限”循环(确保你的树中没有循环)
  5. 仅发射那些接触到的没有更多传出“包含”边的顶点。 (即叶子)

但是,从您对 Cypher 的需求来看,您似乎只需要 2 个步骤。因此,要做到这一点,只需执行以下操作:

g.v(1).out('contains').loop(1){it.loops < 3}

也许我误解了您的问题 --- 无论哪种方式,这都足以让您玩转。

关于database - 图遍历 : How do I query for "friends and friends of friends" using Gremlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486201/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com