How to delete graph in Titan with Cassandra storage backend?

纵然是瞬间 提交于 2019-12-03 12:27:41

You can clear all the edges/vertices with:

g.V.remove()

but as you have found that won't clear the types/indices previously created. The most cleanly option would be to just delete the Cassandra data directory.

If you are executing the delete via a unit test you might try to do this as part of your test setup:

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)

Be sure to call g.shutdown() in your test teardown method.

Just to update this answer.

With Titan 1.0.0 this can be done programmatically in Java with:

TitanGraph graph = TitanFactory.open(config);
graph.close();
TitanCleanup.clear(graph);

For the continuation of Titan called JanusGraph, the command is JanusGraphFactory.clear(graph) but is soon to be JanusGraphCleanup.clear(graph).

Jacek Laskowski

As was mentioned in one of the comments to the earlier answer DROPping a keyspace titan using cqlsh should do it:

cqlsh> DROP KEYSPACE titan;

The name of the keyspace Titan uses is set up using storage.cassandra.keyspace configuration option. You can change it to whatever name you want and is acceptable by Cassandra.

storage.cassandra.keyspace=hello_titan

When Cassandra is getting up, it prints out the keyspace's name as follows:

INFO 19:50:32 Create new Keyspace: KSMetaData{name=hello_titan, strategyClass=SimpleStrategy, strategyOptions={replication_factor=1}, cfMetaData={}, durableWrites=true, userTypes=org.apache.cassandra.config.UTMetaData@767d6a9f}

In 0.9.0-M1, the name appears in Titan's log in DEBUG (set log4j.rootLogger=DEBUG, stdout in conf/log4j-server.properties):

[DEBUG] AstyanaxStoreManager - Found keyspace titan

or the following when it doesn't:

[DEBUG] AstyanaxStoreManager - Creating keyspace titan...
[DEBUG] AstyanaxStoreManager - Created keyspace titan
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!