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