【问题标题】:Gremlin - Adding multiple child vertices in one go - addV and stepGremlin - 一次性添加多个子顶点 - addV 和 step
【发布时间】:2021-08-13 08:31:11
【问题描述】:

这是我想玩的一般主题:

  • 顶点:“父”标签
  • 边缘:“parent_to”标签
  • 顶点:“子”标签

我正在尝试通过执行以下操作来做到这一点:

  1. 创建“父”顶点并使用as("parent")
  2. 创建边“parent_to”
  3. 创建“子”顶点
  4. select("parent)
  5. 重复边和子顶点步骤

例子:

g.addV("parent").property("parent_value","value1").as("parent")
    .addE("parent_to")
        .addV("child").property("child_value","value2")
.select("parent")
    .addE("parent_to")
        .addV("child").property("child_value","value3")

问题是这给了我 1 个带有两个子顶点的父顶点,但是边缘循环往返于父顶点,使子顶点“孤立”。
我已经链接了一篇文章,它给了我一个工作模式,但这真的是在一个查询中处理层次结构而不需要递归的最佳方法吗? Other QA 注意:为了举例,添加了一个级别

g.addV("parent").as("parent")
    .and(
            addV("child").property("child_value","value2")
                .addE("parent_to").from("parent"),
            addV("child").property("child_value","value3").as("child3").and(
                        addV("grandchild").property("gchild_value","value4").addE("parent_to").from("child3"),
                        addV("grandchild").property("gchild_value","value5").addE("parent_to").from("child3")
                    )
                .addE("parent_to").from("parent")
        )

因为这将在 AWS Neptune 上使用,所以我必须将所有内容添加到一个查询中以维护事务。

【问题讨论】:

    标签: gremlin amazon-neptune


    【解决方案1】:

    您的查询已关闭,只是缺少指定 from()to() 步骤来告诉 addE() 连接哪些顶点。在这种情况下,您可能希望使用此处所示的 to() 步骤。

    g.addV("parent").
      property("parent_value", "value1").as("parent").
      addE("parent_to").to(addV("child").property("child_value", "value2")).
      select("parent").
      addE("parent_to").to(addV("child").property("child_value", "value3"))
    

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2015-07-06
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 2017-06-12
      相关资源
      最近更新 更多