4

Cassandra で Titan を使い始めたばかりです。私は Titan の初心者であり、Graph Database Concept の初心者でもあります。github と wiki の指示に従ってください。

Configuration conf = new BaseConfiguration();
conf.setProperty("storage.backend", "cassandra");
conf.setProperty("storage.hostname", "127.0.0.1");
TitanGraph g = TitanFactory.open(conf);

こんな感じでグラフを開いた。

デフォルトのキー スペースが であることを理解していますtitan。デフォルトのキー スペースにいくつかのノードとリレーションを作成しました。頂点でインデックス作成を行い、ノードをクエリして、結果を反復処理することができました。

今私の質問 -

1) 新しいキー スペースを設定するにはどうすればよいですか?

物件を利用してみた

conf.setProperty("storage.keyspace ", "newkeyspace");

残念ながら、cassandra キースペースを確認したところ、titan. という名前のキースペースはありませんでしたnewkeyspace。その理由は何ですか?

2) 作成されたグラフを保持するにはどうすればよいですか?

例えば、

g.createKeyIndex("name", Vertex.class);
Vertex juno = g.addVertex(null);
juno.setProperty("name", "juno");
juno.setProperty("type", "node");
Vertex juno1 = g.addVertex(null);
juno1.setProperty("name", "juno");
juno1.setProperty("type", "node1");

これは 1 つのサンプル グラフです。フォームのクエリを発行したら

Iterator<Vertex> junoIterator = g.getVertices("name", "juno")
                .iterator();
        while (junoIterator.hasNext()) {
            Vertex vertex = (Vertex) junoIterator.next();
            System.out.println(vertex.getProperty("type"));
        }

私の期待される結果は

node 
node1

次のセグメントにコメントすると、同じクエリが正常に機能するはずです-

    /*g.createKeyIndex("name", Vertex.class);
        Vertex juno = g.addVertex(null);
        juno.setProperty("name", "juno");
        juno.setProperty("type", "node");
        Vertex juno1 = g.addVertex(null);
        juno1.setProperty("name", "juno");
        juno1.setProperty("type", "node1");*/

ここで私が信じているのは、ノード、関係、およびインデックスがすでに構築されており、一部のデータストアに保持されているということです。私は間違った信念を持っていますか?

ご意見をお聞かせください。

4

2 に答える 2

0

新しい Titan テーブル (cassandra のキースペース) を作成するには、次のプロパティを使用してください。

set("storage.cassandra.keyspace","TitanTest")

コマンド全体は次のようになります。

グラフ = TitanFactory.build()。set("storage.backend","cassandra")。set("storage.hostname","127.0.0.1").set("index.search.backend","elasticsearch").set("storage.cassandra.astyanax.cluster-name","Test Cluster"). set("storage.cassandra.keyspace","TitanTest").set("cache.db-cache","true").open();

于 2016-04-12T09:09:49.713 に答える