如何使用Cassandra存储后端删除Titan中的图形?

Aut*_*ico 9 cassandra titan tinkerpop rexster

我使用Titan 0.4.0 All,在Ubuntu 12.04上以共享VM模式运行Rexster.

我怎样才能正确删除使用Cassandra存储后端的Titan中的图形?

我试过了TitanCleanup.clear(graph),但它并没有删除所有内容.指数仍在那里.我真正的问题是我有一个我不想要的索引(它会崩溃每个查询),但是我了解Titan的文档,一旦创建了索引就不可能删除它.

ste*_*tte 10

您可以使用以下方法清除所有边/顶点:

g.V.remove()
Run Code Online (Sandbox Code Playgroud)

但是你发现它不会清除以前创建的类型/索引.最干净的选择是删除Cassandra数据目录.

如果您通过单元测试执行删除,您可能会尝试在测试设置中执行此操作:

this.config = new BaseConfiguration(){{
    addProperty("storage.backend", "berkeleyje")
    addProperty("storage.directory", "/tmp/titan-schema-test")
}}
GraphDatabaseConfiguration graphconfig = new GraphDatabaseConfiguration(config)
graphconfig.getBackend().clearStorage()
g = (StandardTitanGraph) TitanFactory.open(config)
Run Code Online (Sandbox Code Playgroud)

一定要打电话给g.shutdown()你的测试拆解方法.

  • 终于有了这个工作.我删除了机器上同名的每个文件夹.我怀疑ubuntu正在缓存这个过程或类似的东西.我在嵌入模式下使用Titan-rexster,你可以这样做:`sudo bin/titan.sh clean`来重置数据库. (3认同)

Fil*_*ira 5

只是为了更新这个答案.

有了Titan 1.0.0 这个可以通过编程来实现在Java中有:

TitanGraph graph = TitanFactory.open(config);
graph.close();
TitanCleanup.clear(graph);
Run Code Online (Sandbox Code Playgroud)