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");*/
ここで私が信じているのは、ノード、関係、およびインデックスがすでに構築されており、一部のデータストアに保持されているということです。私は間違った信念を持っていますか?
ご意見をお聞かせください。