本文へスキップ
BecomeCoder

Neo4jコース · 第8章 実践とエコシステム · レッスン42

APOC ― 便利関数ライブラリ

ローカル実施

導入

Cypher標準の機能だけでは少し手間がかかる処理を、簡単に行えるようにしてくれる定番の拡張ライブラリが APOC です。

説明

APOC(Awesome Procedures On Cypher) は、Neo4jコミュニティが開発している関数・プロシージャ(手続き)の集合ライブラリです。データの変換、一括処理、外部データとの連携など、幅広い用途をカバーしています。多くのNeo4j環境(SandboxやAuraを含む)に標準で用意されています。

代表的な使用例を2つ紹介します。

日時の変換 ― Cypher標準では少し面倒な日時のフォーマット変換を簡単に行えます。

RETURN apoc.date.format(timestamp(), 'ms', 'yyyy-MM-dd') AS today

CSVやJSONの読み込み ― 外部データを取り込む際に便利な関数が揃っています。

CALL apoc.load.json('https://example.com/movies.json') YIELD value
MERGE (m:Movie {title: value.title})
SET m.released = value.released

このクエリは、外部のJSONデータを読み込み、その値を使って Movie ノードを MERGE で作成・更新します(第5章で学んだ「安全にデータを育てる」パターンがここでも活きています)。

APOCの関数は「apoc. から始まる」という命名になっており、公式ドキュメントには数百種類もの関数が掲載されています。すべてを覚える必要はなく、「Cypher標準でやりづらいことがあれば、まずAPOCに同じような機能がないか探してみる」という姿勢を持っておくとよいでしょう。