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

Gremlin 递归删除顶点

如何解决Gremlin 递归删除顶点

我尝试使用 gremlin 查询删除包含所有子节点的顶点:

g.V()
    .hasId(someId)
    .union(fold().unfold(),repeat(in()).emit())
    .drop()
    .iterate()

不幸的是我收到一个错误

org.apache.tinkerpop.gremlin.driver.exception.ResponseException:删除 ID 为“someId”的顶点

但是“someId”存在于数据库中!

Java + JanusGraph:

org.janusgraph:janusgraph-driver:0.5.3

org.apache.tinkerpop:gremlin-driver:3.5.0

解决方法

aggregate(local) 先放下东西然后再移除它们可能会有所帮助 - 例如:

g.withSideEffect('x',[] as Set).
  V().hasId(someId).aggregate(local,'x').
  repeat(in()).emit()).aggregate(local,'x').
  cap('x').
  drop()

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