クラウド
上級

Neo4j (グラフDB)(ネオフォージェイ)

Neo Technology (現Neo4j Inc.) 2007年公開のグラフデータベース。Cypher 言語・Nodes / Relationships でソーシャルグラフ・推薦・知識グラフに特化、グラフDB 最大手。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
DB
Neo4j
グラフ

概要

Neo4j はNeo Technology (現Neo4j Inc.・スウェーデン・Emil Eifrem 創業) が2007年に公開した、世界初の本格的グラフデータベース。Nodes (頂点) と Relationships (辺) で構成、Cypher (Neo4j 開発の宣言型グラフクエリ言語) でSQL のような書きやすさを実現。ソーシャルグラフ・推薦システム・知識グラフ・不正検知・サプライチェーン・薬学研究等のRDBMS では困難な「関係性主体」クエリで圧倒的性能、世界500社以上のFortune 500 企業が採用するグラフDB 最大手。

グラフDB の基本概念

[Node A: "Alice"]
        |
[Relationship: "FRIENDS_WITH" 確立日 2020-01-01]
        |
[Node B: "Bob"]
  • Node (頂点・Vertex): 実体 (人・場所・物・概念)
  • Relationship (辺・Edge): 関係 (友人・購入・所属)
  • Property (属性): キー値ペア
  • Label (ラベル): Nodeの型 (Person / Product / City)
  • Direction (方向): Relationship は方向あり (a → b)

Cypher クエリ言語

Neo4j 独自のクエリ言語 (SQL風):

// Node 作成
CREATE (alice:Person {name: 'Alice', age: 30})
CREATE (bob:Person {name: 'Bob', age: 32})

// Relationship 作成
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[:FRIENDS_WITH {since: '2020-01-01'}]->(b)

// クエリ: Alice の友人の友人
MATCH (alice:Person {name: 'Alice'})-[:FRIENDS_WITH]->(friend)-[:FRIENDS_WITH]->(fof)
WHERE fof <> alice
RETURN fof.name AS friends_of_friend

直感的・パターンマッチング指向で「2 ホップ友達」「最短経路」等のクエリが圧倒的に書きやすい。

主要マイルストーン

年月出来事
2007Neo Technology 設立
2010-02Neo4j 1.0 公開
2015-09Neo4j 2.3 (Cypher 強化)
2017-09Neo4j 3.3 (Multi-DC)
2019-09Neo4j 4.0 (Multi-database)
2020-04Neo4j AuraDB Cloud 公開
2022-11Neo4j 5.0
2023-04$200M ファンディング ($2B 評価)
2024Neo4j 5.x シリーズ

グラフDB vs RDBMS

ワークロードRDBMSNeo4j
単純行検索◎○
JOIN 1段◎◎
JOIN 3-5段△ (遅)◎
JOIN 7-10段✕ (実用不可)◎
最短経路✕◎
関係性集計△◎
集計 (SUM/AVG)◎○
取引 (OLTP)◎◎

主要採用先

企業用途
LinkedInプロフェッショナルネットワーク
eBay商品レコメンド
NASA宇宙ミッション知識グラフ
Marriott顧客関係
Airbnbホスト/ゲスト関係
米国DoD諜報分析
GSK / Pfizer薬物発見
Walmartサプライチェーン
eBayリアルタイム推薦
Ciscoネットワーク管理

主要ユースケース

ソーシャルグラフ

// 「友人の友人」推薦
MATCH (me:User {id: $userId})-[:FRIENDS_WITH]->(friend)-[:FRIENDS_WITH]->(fof)
WHERE NOT (me)-[:FRIENDS_WITH]->(fof) AND me <> fof
RETURN fof, COUNT(*) AS mutual_friends
ORDER BY mutual_friends DESC LIMIT 10

推薦システム

// 「この本買った人はこれも買っている」
MATCH (me:User)-[:BOUGHT]->(book:Book)<-[:BOUGHT]-(other:User)-[:BOUGHT]->(rec:Book)
WHERE NOT (me)-[:BOUGHT]->(rec)
RETURN rec.title, COUNT(*) AS frequency
ORDER BY frequency DESC LIMIT 5

不正検知

// 不審な金融取引パターン
MATCH path = (a:Account)-[:TRANSFER*1..5]-(b:Account)
WHERE a.flagged = true OR b.flagged = true
RETURN path

グラフDB 競合

DB主要特徴
Neo4jグラフDB 最大手 / Cypher
ArangoDBMulti-Model (Document/Graph/KV)
Amazon NeptuneAWSマネージド・openCypher / SPARQL
TigerGraph高速分散・GSQL
JanusGraph分散版TinkerPop
MemgraphNeo4j互換高速版 (C++)
OrientDBMulti-Model

AuraDB (Cloud)

2020年4月公開のマネージドサービス:

  • AWS / GCP / Azure
  • Free Tier (50MB)
  • $65-2,000+ / 月
  • 自動スケール・バックアップ
  • データ可視化付き

関連用語との違い

  • vs PostgreSQL Recursive CTE: 限定的 / 専門
  • vs MongoDB: 関係性 / Document
  • vs ベクトルDB (pgvector): ノード関係 / ベクトル類似

FAQ

Q1: ソーシャルアプリで必要? A: 「友人推薦」「フォロー関係分析」「コミュニティ検出」等のグラフクエリ多いなら絶対必要。100万ユーザ以上のSNSではほぼ必須。

Q2: 個人で学ぶ価値? A: 高い。Knowledge Graph / Recommendation Engine の理解・LLM の Retrieval / RAG ・ソーシャルグラフ分析等の現代AI 技術の前提知識。

Q3: GraphQL との違い? A: 別概念。GraphQL は API クエリ言語・Neo4j はDB。両者組合せで使うことも (Apollo + Neo4j 等)。

この記事について
カテゴリークラウド
難易度上級
作成日2026/5/15