それではデータベースに新たなノードを作成する簡単なサンプルプログラムを書いてみよう。以下のコードでは新しいノードを1つだけ作成している。
// DBの保存先ディレクトリを指定してDBのインスタンスを生成
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("db");
// トランザクションを開始
Transaction tx = graphDb.beginTx();
try {
// ノードを作成
Node firstNode = graphDb.createNode();
firstNode.setProperty("name", "Naoki Takezoe");
firstNode.setProperty("mail", "takezoe@gmail.com");
// 処理が成功
tx.success();
} catch(Exception ex){
// 処理が失敗
tx.failure();
throw ex;
} finally {
// トランザクションを終了してDBをシャットダウン
tx.finish();
graphDb.shutdown();
}
ノードが本当に追加されていることを確認するために、以下のようなコードですべてのノードを表示してみよう。
// すべてのノードを表示
for(Node node: graphDb.getAllNodes()){
System.out.println("ID=" + node.getId());
for(String key: node.getPropertyKeys()){
System.out.println(key + "=" + node.getProperty(key));
}
System.out.println("--");
}
実行結果は以下のようになり、ノードが追加されていることがわかるはずだ。
ID=0
--
ID=1
mail=takezoe@gmail.com
name=Naoki Takezoe
--