それではデータベースに新たなノードを作成する簡単なサンプルプログラムを書いてみよう。以下のコードでは新しいノードを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
--