Neo4j ver2以降について書かれたものはこちらにあります。
グラフDBのNeo4JはREST APIを実装しています。
しかも、すでにJosh Adellという方がneo4jphp.pharというラッパーをgitに公開してくださってるので、さっそく使ってみました。(https://github.com/jadell/neo4jphp)
インストール方法は実に簡単で、phar形式のパッケージをダウンロードし、適当なところに置き、それを自分のPHPからrequireするだけです。
【準備するもの】
- OS
- PHP5.3以上
- Neo4J
- neo4jphp.phar
【手順】
既にOS, PHP, Neo4Jは準備されているものとします。
Neo4Jはインストール完了後、ブラウザからhttp://localhost:7474/にアクセスできることを確認しておいてください。
(1) neo4jphp.pharのダウンロード
最新版のダウンロードはこちらから:http://github.com/downloads/jadell/neo4jphp/neo4jphp.phar
(2) neo4jphp.pharの設置
適当なところに置いてください。1プロジェクトでしか使わない場合はそのプロジェクトのソースと一緒に置いてもかまいませんし、何度も使うようでしたらどこか共通の場所に置いた方がいいと思います。
私は/usr/share/php/に置きました。
(3) neo4jphp.pharのコネクションテスト
コンソールで、
php neo4jphp.phar localhost
と打ってみてください。
Array ( [extensions] => Array ( [CypherPlugin] => Array ( [execute_query] => http://localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query ) [GremlinPlugin] => Array ( [execute_script] => http://localhost:7474/db/data/ext/GremlinPlugin/graphdb/execute_script ) ) [node] => http://localhost:7474/db/data/node [reference_node] => http://localhost:7474/db/data/node/0 [node_index] => http://localhost:7474/db/data/index/node [relationship_index] => http://localhost:7474/db/data/index/relationship [extensions_info] => http://localhost:7474/db/data/ext [relationship_types] => http://localhost:7474/db/data/relationship/types [batch] => http://localhost:7474/db/data/batch [cypher] => http://localhost:7474/db/data/cypher [neo4j_version] => 1.9.1 [version] => Array ( [full] => 1.9.1 [major] => 1 [minor] => 9 [release] => 1 ) )
みたいなものが表示されれば、OKです。neo4jphp.pharにパスが通ってない場合もあるので、その時はphp /usr/share/php/neo4jphp.phar localhostと打ってみてください。
php /usr/share/php/neo4jphp.pharとだけ打つと、
Neo4jPHP version 0.1.0 /usr/share/php/neo4jphp.phar [-help|-license|-readme|-version|] -help Display help text -license Display software license -readme Display README -version Display version information () Test connection to Neo4j instance on host (port defaults to 7474)
のようなヘルプが表示されます。
とりあえず、設置方法はここまで。
次からは実際にPHPからNeo4Jにアクセスして、ノードの追加、リレーションの追加、プロパティーの追加、変更、削除などをやってみたいと思います。