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