不使用gremlin从使用cassandra后端的titan图中加载数据。

时间:2015-08-18 11:29:29

标签: cassandra titan gremlin tinkerpop-blueprint

我使用带有java的blueprint api在titan(cassandra后端)中添加了数据。我在java中使用了以下配置来插入数据。

 TitanGraph getTitanGraph()
{
    conf2 = new BaseConfiguration();
    conf2.setProperty("storage.backend", "cassandra");
    conf2.setProperty("storage.directory","/some/directory");
    conf2.setProperty("storage.read-only", "false");
    conf2.setProperty("attributes.allow-all", true);
    return TitanFactory.open(conf2);
}

现在我正在尝试使用gremlin查询该数据库。我使用以下cmd来加载它

 g = TitanFactory.open("bin/cassandra.local");

以下是我的cassandra.local文件

 conf = new BaseConfiguration();
 conf.setProperty("storage.backend","cassandra");
 conf.setProperty("storage.hostname","127.0.0.1");
 conf.setProperty("storage.read-only", "false");
 conf.setProperty("attributes.allow-all", true)

但是当我运行“g.V”时,我得到空图。请帮忙

感谢

1 个答案:

答案 0 :(得分:2)

确保在Java程序中进行图形突变后将更改提交给TitanGraph。如果您使用的是Titan 0.5.x,则呼叫为graph.commit()。如果您使用的是Titan 0.9.x,则呼叫为graph.tx().commit()

请注意,storage.directory对Cassandra后端无效,但storage.hostname的默认值为127.0.0.1,因此Java程序和cassandra.local之间的默认值应该相同。使用属性文件存储连接属性可能更容易。