導入
数あるグラフデータベースの中でも、最も広く使われているのが Neo4j です。ここでNeo4jの位置づけをざっと押さえて、次章から実際に触っていきましょう。
説明
Neo4j は2007年に登場した、プロパティグラフモデルを採用するグラフデータベースです。専用のクエリ言語 Cypher を使ってデータを読み書きします。オープンソースの Community Edition と、クラスタリングや高度な運用機能を備えた Enterprise Edition、フルマネージドのクラウドサービス Aura など、複数の提供形態があります。
graph LR
N[Neo4j] --> C["Cypher<br/>(クエリ言語)"]
N --> CE["Community Edition<br/>(無料・OSS)"]
N --> EE["Enterprise Edition<br/>(商用・大規模向け)"]
N --> AU["Aura<br/>(フルマネージドcrowd)"]
Cypherは「グラフの形をそのまま文字で描く」ような、直感的で宣言的な言語です。SQLが「SELECT … FROM … WHERE …」で表を操作するのに対し、Cypherは MATCH (a)-[:REL]->(b) RETURN a, b のように、丸括弧をノード、矢印つき角括弧をリレーションシップに見立てて「探したい形」をそのまま書きます。この発想は次章以降で体験していきます。
Neo4jはグラフデータベース市場で最も知名度が高く、ドキュメントやコミュニティも豊富なため、グラフデータベースを学ぶ最初の一歩として最適です。次章では、実際にNeo4jを触る方法と、画面の使い方を見ていきます。