Neo4j Sandbox Introduction

★ introductory

September 27, 2021

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 テンプレートを利用した利用例について紹介しました。

Recommended Posts

  1. ★★★ advanced
    neo4j-causal-clustering-introduced-routing
    本記事では、Neo4j における Causal Clustering (因果クラスタリング) について説明します。 クラスタリングの目的 データベースを運用する場合、単一のインスタンスを稼働させるか、Causal Clustering を用いてクラスター構成を組むか(クラスタリング)のいずれかを選択することになるでしょう。 Single Instance…
  2. ★★★ advanced
    neo4j-bolt-handshake-protocol-introduced
    Bolt Protocol において、サーバーとクライアントが接続を開始するためのプロトコルとして、Bolt Handshake Protocol Specification の仕様が策定されています。 本記事では、Bolt Handshake Protocol の概要について説明します。 Handshake Workflow…