微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当图具有0个顶点时,如何向上插入?

如何解决当图具有0个顶点时,如何向上插入?

我有一个upsert查询,可以在图形中插入顶点,如下所示:

V().coalesce(
    __.V().hasLabel("Person").has(id,"ABC"),__.addV(_a).property(id,"ABC")
).limit(1)

但是,当图形有0个顶点作为起点时,它不起作用。

如何调整此查询,以便在图表为空时成功执行?

解决方法

您可以使用Gremlin食谱中显示的element existence模式进行此操作。在您的示例中为:

g.V().hasLabel("Person").has(id,"ABC").fold().coalesce(
    unfold()
    addV(_a).property(id,"ABC")
).limit(1)

折叠将确保至少有一个遍历。

,

为此通常推荐使用以下配方的配方:

g.V().hasLabel("Person").has(id,"ABC").
      fold().
      coalesce(
        unfold(),addV("Person").property(id,"ABC"))

给出的ID是唯一的,您也可以这样做:

g.V().has(id,"ABC"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。