< back

Neo4j Sandbox Introduction

Neo4j が提供する開発環境・デモ・学習用のグラフデータベースとして、Neo4j Sandbox が提供されています。本ブログでは、Neo4j Sandbox の基本機能について紹介します。

特徴

Neo4j Sandbox の特徴として、以下の点が挙げられます。

  • Download 不要、ブラウザ上で完結する開発環境を作成可能
  • 3 日間でデータベースが削除される
  • 一度だけ追加の 7 日間の期間延長を申請できる

開発環境やデモ、学習用のグラフデータベースとして最適ですが、仮にその後 Neo4j Aura やオンプレミスのデータベースへの移行を行いたい場合、データの移行も可能です。

バックアップも作成可能で、30 日間ダウンロード可能なリンクが生成されます。

また、メールアドレスを招待することで他のユーザーにアクセス権限を付与することもできます。

ユースケース

Neo4j Sandbox のユースケースとして、以下の点が挙げられます。

  • 一時的な開発環境として
  • 発表や講義用のデモとして
  • 自主学習用として
  • イベントアプリケーションのグラフデータベースとして

最大 10 日間無料で利用できるので、意外と利用できるユースケースは多いことでしょう。

利用例

例えば、新しいプロジェクトとして自分の Twitter アカウントを利用したケースについて考えてみましょう。

Twitter Graph

Neo4j Sandbox から新規プロジェクトを作成する場合、雛形として Twitter Graph を利用できます。ぜひ試してみてください。

今回は、筆者自身の Twitter アカウント (@kenwagatsua) のデータを利用した例を紹介します。

相互フォロー

はじめの例として、相互フォローをしているユーザーを 10 人抽出してみましょう。グラフで結果を表示させます。

MATCH (m:Me)<-[:FOLLOWS]->(u:User)
RETURN m, u
LIMIT 10

Twitter Mutual follow

人気 Tweet に含まれる URL

次に、お気に入り数が 5 つ以上の Tweet に含まれる URL の一覧をテーブルで表示させてみましょう。

どんな URL がより多くの人に閲覧されたかがわかります。

MATCH (t:Tweet)-[:CONTAINS]->(l:Link)
WHERE t.favorites > 5
RETURN t.text, l.url

Twitter favorite tweets URL

Follower の中のインフルエンサー

自分のフォロワーの内、最もフォロワー数が多いユーザーの 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

Twitter influencers within followers

最後に

以上、Neo4j Sandbox の特徴とユースケース、及び Twitter Graph テンプレートを利用した利用例について紹介しました。

September 27, 2021

Recommended

  1. Neo4j を VectorDB として使う

    Neo4j は v5.13 で Vector search index を実装した。使い方は他の VectorDB と同様で、ベクタライズしたデータを Vector Index に格納する。Cypher クエリを通じて近似解を導出する。 この記事では、Vector Index の使い方について紹介する。具体例では、ノ…
  2. Neo4j Causal Clustering 紹介

    本記事では、Neo4j における Causal Clustering (因果クラスタリング) について説明します。 クラスタリングの目的 データベースを運用する場合、単一のインスタンスを稼働させるか、Causal Clustering を用いてクラスター構成を組むか(クラスタリング)のいずれかを選択することになるでし…
  3. Neo4j Bolt Handshake Protocol Introduced

    Bolt Protocol において、サーバーとクライアントが接続を開始するためのプロトコルとして、Bolt Handshake Protocol Specification の仕様が策定されています。 本記事では、Bolt Handshake Protocol の概要について説明します。 Handshake Wor…