删除顶点的所有边和顶点本身



我正在尝试编写一个 gremlin 表达式,对于给定的顶点,该表达式将删除进出它的所有边,然后删除顶点本身。

我正在使用OrientDB 1.3-SNAPSHOT作为我的图形数据库。

这是我到目前为止的表达:

//The #8:1 just refers to a vertex
g.v('#8:1').bothE.each{ g.removeEdge(it) }.back(2)

我希望上面删除边缘,然后返回 2,这应该打印出节点#8:1.但是,由于某种原因,我收到此错误:

Error: java.lang.NullPointerException

为什么会这样?

最后,如何删除顶点?文档显示removeVertex()需要一个参数(即顶点)。如何将顶点从back(2)传递到removeVertex()

如果您删除顶点,Gremlin 实际上会为您删除所有边。就我而言,我只需要做:

g.removeVertex(g.v('#8:1')); g.stopTransaction(SUCCESS);

这将删除顶点以及与顶点关联的任何边。gremlin 需要停止转换才能提交更改。

现在,至于为什么在我的语句的查询中抛出错误。这是因为each{}是一个 grovvy 结构,所以我们退出管道。若要在管道中继续,请改用sideEffect{}

最新更新