
【入門】とりあえずNeo4j+Docker Composeの構築と実行まで行う方法
投稿日:2026.01.08
はじめに
Neo4jのコンテナを作成し、簡単なクエリを実行するまでを解説します。
構築
最終的なディレクトリ構成です。
.
├── neo4j/
│ ├── conf/ # 設定
│ ├── data/ # データ永続化
│ └── logs/ # ログ
└── docker-compose.yml
docker-compose.yml
services:
neo4j:
image: neo4j:community
volumes:
- ./neo4j/conf:/conf
- ./neo4j/data:/data
- ./neo4j/logs:/logs
ports:
- 7474:7474 # HTTP
- 7687:7687 # Bolt
environment:
- NEO4J_AUTH=none
image
imageについては大まかにneo4j:communityとneo4j:enterpriseがあります。
今回はコンテナの作成のみなのでcommunityを利用します。
volumes
- conf: 設定ファイルを配置するディレクトリ
本記事では使いませんが、neo4j.confなどの設定ファイルを置くことができます。 - data: データの永続化を行うディレクトリ
- logs: ログの出力を行うディレクトリ
ports
- 7474: HTTPアクセス用のポート
localhost:7474にブラウザで管理画面にアクセスできます。
HTTP APIでのリクエストも同様のポートで行います。

environment
- NEO4J_AUTH=none:
UsernameとPasswordによる認証無しでアクセス・実行を行うための環境変数
実行
ブラウザ
localhost:7474にブラウザでアクセスして、直接クエリを入力して実行
Nodeを作成
CREATE (n)を実行

Nodeを取得
MATCH (n) RETURN nを実行

HTTP API
localhost:7474にCurlでAPIを飛ばしてクエリを実行
Nodeを作成
$ curl -X POST http://localhost:7474/db/neo4j/tx/commit \
-H "Content-Type: application/json" \
-d '{"statements":[{"statement":"CREATE (n)"}]}'
{"results":[{"columns":[],"data":[]}],"errors":[],"lastBookmarks":["FB:kcwQDTqPx64sTr+eTW7nRw/oHhiQ"]}
Nodeを取得
$ curl -X POST http://localhost:7474/db/neo4j/tx/commit \
-H "Content-Type: application/json" \
-d '{"statements":[{"statement":"MATCH (n) RETURN n"}]}'
{"results":[{"columns":["n"],"data":[{"row":[{}],"meta":[{"id":1,"elementId":"4:0d3a8fc7-ae2c-4ebf-9e4d-6ee7470fe81e:1","type":"node","deleted":false}]}]}],"errors":[],"lastBookmarks":["FB:kcwQDTqPx64sTr+eTW7nRw/oHhiQ"]}
まとめ
Docker Composeを使ったNeo4jのコンテナ作成と、ブラウザやHTTP APIを使ったクエリの実行を行いました。
グラフDBの使い方は全然学習ができていないので、これから学んでいこうと思います。