🤯

Kùzu Explorerを動かす

に公開

https://zenn.dev/headwaters/articles/56f53f6c191d03
Edgeで動くGraphDBとしてKuzuがあります。

https://github.com/kuzudb/explorer

Neo4j Browserのように、KuzuにもExplorerがあります。

cypherを実行できて、グラフのUIやcsvをインポートできたりとできることはほぼ同じような感じかと思いますが、少し触ってみます。

データ準備

まずはサンプルデータを配置します。

sample_data/の配下に下記のファイルを用意しました。
(github copilotに全て作ってもらいました)

friendships.csv

from,to,since
1,2,2018
2,3,2020
1,3,2019
3,4,2017

persons.csv

id,name,age
1,Alice,30
2,Bob,28
3,Carol,35
4,Dan,40

Explorerを起動

docker run -p 8092:8000 \
  -v "$(pwd)":/database \
  -e KUZU_FILE=database.kz \
  --rm --name kuzu-explorer \
  kuzudb/explorer:latest

なんとなくlocalhost:8092でアクセスしたくなったので、そうしています。

docker起動したら、下記にアクセスするだけです。
http://localhost:8092

データを取り込む

## テーブル作成
CREATE NODE TABLE Person(id INT64, name STRING, age INT64, PRIMARY KEY(id));
CREATE REL TABLE FRIEND_OF(FROM Person TO Person, since INT64);

## csvファイルロード
COPY Person FROM "/database/sample_data/persons.csv";
COPY FRIEND_OF FROM "/database/sample_data/friendships.csv";

## 確認クエリ
MATCH (p:Person) RETURN p LIMIT 10;
MATCH (a:Person)-[r:FRIEND_OF]->(b:Person) RETURN a.name AS from, b.name AS to, r.since ORDER BY r.since;

## グラフ可視化
MATCH (a:Person)-[r:FRIEND_OF]->(b:Person) RETURN a, r, b;

めちゃくちゃシンプルですが、schema機能とか

普通にCypherが実行できます。

ちなみに、こんな感じのディレクトリ構成になりましたが、
database.kzのファイルサイズは1.3Mでした。

ヘッドウォータース

Discussion