🤓

GraphDBをインストールする

2023/12/15に公開

グラフデータベースの種類

モノやコトの間のつながり(関係)をグラフネットワークの形式でモデル化したデータは、広くナレッジグラフと呼ばれます。ナレッジグラフのデータを格納するグラフデータベースは、グラフモデルが持つ構造的な違いから、大きく4種類に分類されます。

  • RDF:セマンティックWeb標準のグラフモデル
  • ラベル付きプロパティグラフ(LPG):関係に属性を持たせたグラフモデル
  • キー・バリュー型:データを識別する一意のキーと、キーと組になる値を結びつけて格納
  • ドキュメント型:事前に構造を決めることなく、データを自由な形式(JSONやXMLなど)で格納

ここでは、RDFのグラフモデルを扱える代表的なグラフデータベースの1つである、Ontotext社のGraphDBをインストールしてみます。


出典:https://www.zdnet.com/article/knowledge-graph-evolution-platforms-that-speak-your-language/

GraphDB

GraphDBは欧州のOntotext社が提供する、セマンティックWeb標準のRDFとSPARQLに準拠したグラフデータベースです。エンジンは、データを格納するストレージ、クエリ最適化、推論を基本機能とし、Webベースの管理ツール、および各種プラグインで構成されています。また、コネクターを介して外部の検索エンジンからデータを取り込むことができます。動作確認していませんが、ChatGPTと接続するコネクタも提供しているようです。


出典:https://graphdb.ontotext.com/documentation/10.4/architecture-components.html

エディションは、フリー版(Free)とエンタープライズ版(EE)の2種類があり、いずれもオンプレで実行できます。最新版10.4のドキュメントにはスタンダード版(SE)の記載がありますが、9.11版を最後にSEの提供はなくなったようです。フリー版はシングルコアで無料利用できますが、いわゆるコミュニティ版の位置づけで商用利用はできません。エンタープライズ版はクラスタ構成を組むことができる他、AWS Marketplaceで提供されるSaaS版も利用できます。

実行環境

お試しで実行するだけなので、お手軽なDockerを利用します。

macOS 14.2 (arm64)
Docker Desktop 4.25.2
GraphDB 10.4.3

インストール手順

コンテナイメージを入手します。GraphDBのドキュメントにDockerコンテナの情報がありますので、ここからリンクをたどってDocker Hubへ飛びます。

指示に従ってプルします。タグ名を指定しなかった場合、Dockerはデフォルトとして :latest タグを使用しますが、エラーとなりました。

% docker pull ontotext/graphdb
Using default tag: latest
Error response from daemon: manifest for ontotext/graphdb:latest not found: manifest unknown: manifest unknown

バージョンタグを指定しないといけないようです。

% docker pull ontotext/graphdb:10.4.3-arm64
10.4.3-arm64: Pulling from ontotext/graphdb
 (中略)
Status: Downloaded newer image for ontotext/graphdb:10.4.3-arm64
docker.io/ontotext/graphdb:10.4.3-arm64

イメージを入手できました。続いて、コンテナを起動してGraphDBを実行します。

% docker run -d -it -p 127.0.0.1:7200:7200 --name mygraphdb ontotext/graphdb:10.4.2-arm64

ブラウザで、localhost:7200 を開いてみましょう。

無事に起動しました。

チュートリアル

これだけだと何ですので、チュートリアルを見てみましょう。初心者向けのガイドツアーがあり、指示に従ってボタンをポチポチするだけでGraphDBの基本を学べるようになっています。スターウォーズと映画データセットの2つのガイドがあり、ここではスターウォーズのガイドを紹介します。

ガイドは、リポジトリの作成、ファイルからRDFデータの読み込み、グラフの可視化、SPARQLクエリの実行で構成されていて、ガイドに沿ってボタンをクリックしていきます。全体で55のステップがあり、約30分かかると書かれています。

まず、リポジトリを作成しました。

RDFファイルを読み込みました。

グラフを可視化しました。

SPARQLクエリを実行しました。

ガイドに沿ってメニューをクリックするだけなら、10分程度で終了しました。

まとめ

GraphDBはGUIが洗練化されていて、RDFやSPARQLを初めて学ぶ初心者でも操作しやすいと思います。いろいろな機能があるので、別の機会に紹介したいと思います。

Discussion