Neo4j が提供する開発環境・デモ・学習用のグラフデータベースとして、Neo4j Sandbox が提供されています。本ブログでは、Neo4j Sandbox の基本機能について紹介します。
Neo4j Sandbox の特徴として、以下の点が挙げられます。
開発環境やデモ、学習用のグラフデータベースとして最適ですが、仮にその後 Neo4j Aura やオンプレミスのデータベースへの移行を行いたい場合、データの移行も可能です。
バックアップも作成可能で、30 日間ダウンロード可能なリンクが生成されます。
また、メールアドレスを招待することで他のユーザーにアクセス権限を付与することもできます。
Neo4j Sandbox のユースケースとして、以下の点が挙げられます。
最大 10 日間無料で利用できるので、意外と利用できるユースケースは多いことでしょう。
例えば、新しいプロジェクトとして自分の Twitter アカウントを利用したケースについて考えてみましょう。
Neo4j Sandbox から新規プロジェクトを作成する場合、雛形として Twitter Graph を利用できます。ぜひ試してみてください。
今回は、筆者自身の Twitter アカウント (@kenwagatsua) のデータを利用した例を紹介します。
はじめの例として、相互フォローをしているユーザーを 10 人抽出してみましょう。グラフで結果を表示させます。
MATCH (m:Me)<-[:FOLLOWS]->(u:User)
RETURN m, u
LIMIT 10
次に、お気に入り数が 5 つ以上の Tweet に含まれる URL の一覧をテーブルで表示させてみましょう。
どんな URL がより多くの人に閲覧されたかがわかります。
MATCH (t:Tweet)-[:CONTAINS]->(l:Link)
WHERE t.favorites > 5
RETURN t.text, l.url
自分のフォロワーの内、最もフォロワー数が多いユーザーの TOP 10 を表示させてみましょう。
MATCH (follower:User)-[:FOLLOWS]->(u:User:Me)
RETURN follower.screen_name AS user, follower.followers AS followers
ORDER BY followers DESC
LIMIT 5
以上、Neo4j Sandbox の特徴とユースケース、及び Twitter Graph テンプレートを利用した利用例について紹介しました。