Neo4j

 

Neo4jは、グラフデータベースの一つです。グラフデータベースは、データをノードとリレーションシップで表現し、ノード同士のノード関係性をデータベースに保持します。Neo4jはオープンソース・ソフトウェアです。

Neo4jのWebサイト

特徴

Neo4jはノードを作成し、その関係性をリレーションシップで定義します。RDBMSとは異なるデータの定義、保持方法を持っています。

特徴としては以下が挙げられます。

  • スキーマレス
  • ACIDトランザクション
  • リレーショナルデータベースとの連携
  • クエリ言語Cypher

Neo4j自体はJavaで開発されていますが、REST APIを提供しているため、他のプログラミング言語からも利用できます。

CypherはSQLに似たクエリ言語で、グラフデータベースに特化したクエリ言語です。例は以下の通りです。

MATCH (p:Product)-[:CATEGORY]->(l:ProductCategory)-[:PARENT*0..]
->(:ProductCategory {name:"Dairy Products"})
RETURN p.name

料金

Neo4jはオープンソース・ソフトウェアなので自分でホスティングもできますが、各種パブリッククラウドでも提供されています。また、Neo4j AuraDBというマネージドサービスも提供されています。

Fully Managed Graph Database Service | Neo4j AuraDB

URL

Neo4j Graph Database & Analytics | Graph Database Management System