idで頂点を削除する方法は知っていますが、複数の頂点を削除する必要があります(データベースをクリーンアップします)。
1vの削除は次のようになります。
ver = g.v(1)
g.removeVertex(ver)
Gremlin 2.3.0 の最新の用語では、すべての頂点の削除は次の方法で行うのが最適です。
g.V.remove()
更新:バージョン Gremlin 3.x では、drop()を使用します:
gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().drop().iterate()
gremlin> graph
==>tinkergraph[vertices:0 edges:0]
が自動的に反復しdrop()
ないことに注意してください。そのため、削除が発生するように明示的に呼び出す必要があります。Gremlin コンソールでのイテレーションについては、このチュートリアルで詳しく説明しています。Traversal
remove()
iterate()
また、さまざまなグラフ システムには、そのシステム内のすべてのデータをより迅速かつ効率的に削除するための独自の方法がある可能性があることを考慮してください。たとえば、JanusGraph には次のアプローチがあります。
JanusGraphFactory.drop(graph)
ここで、「グラフ」はJanusGraph
クリアしたいインスタンスです。
前に述べたように、Tinkerpop3 (Titan 1.0.0) を使用している場合、コマンドは次のとおりです。
g.V().drop()
これは、Gremlin インタラクティブ REPL インターフェイスを使用している場合にのみ機能します。なんで?drop
適用するためにトラバースする必要があるイテレータを返し、Gremlin REPL インターフェイスは返されたイテレータを自動的に反復処理します。
(私のように) HTTP または WebSocket インターフェイスを Gremlin に使用している場合は、返されたイテレータを明示的に反復処理する必要があります。
g.V().drop().iterate()
...トランザクションをコミットします。Titan では、トランザクションは暗黙的に開かれますが、明示的に閉じる必要があります。
g.tx().commit()
あなたが試すことができます
g.V.each{g.removeVertex(it)}
g.commit()
ブループリントには、このための clear() メソッドがありました...
g.clear()
しかし、最近削除されました:
TinkerPop3 では:
drop()-step (filter/sideEffect) は、要素とプロパティをグラフから削除する (つまり、削除する) ために使用されます。
g.V().drop()
TinkerPop3 では、Titan-1.0.0 を使用して、
g.V().drop()
g.tx().commit() (commit the changes)
私のために働きます。あなたは試してみることができます