概要

grlcのGitHubリポジトリは以下です。

https://github.com/CLARIAH/grlc

以下のように説明されています。

grlc, the git repository linked data API constructor, automatically builds Web APIs using shared SPARQL queries.

(機械翻訳)grlc(git repository linked data API constructor)は、共有されたSPARQLクエリを使用して自動的にWeb APIを構築するツールです。

このツールを試してみましたので、備忘録です。

ジャパンサーチのSPARQL Endpointを対象に作成したAPIエンドポイントは以下です。

https://grlc.io/api-git/nakamura196/grlc-jps

背景

Odeuropaを調査する過程で、以下のページで本ツールについて言及されていることを見つけました。

https://odeuropa.eu/nosebooks/

使い方

以下が今回のAPI用に作成したGitHubリポジトリです。

https://github.com/nakamura196/grlc-jps

例えば、以下はタイプの一覧を取得するAPI用のSPARQLクエリです。

######PS}O++++++RE?RELcjGDesdtFEhpREnueaICosORdmsg--XT:UpmcsasPBoar:j?oYiript?uBnypsytrYDt:t:pycE:iepe?So<eItChnh(ny(t:tC;fp?ttOoecpJpUosasN?u:p:Tsn/a/(ot/n/?u)jjcrpSphcsesoeeae)ara.rcrachcshh..?ggcooo..ujjnppt//)rtdeWfrH/mEs/RppEarro{qple/rty#>

デコレータ構文を使用することで、swagger-uiに表示・設定する値を指定できるようでした。

このようなrqファイルを用意しておくことで、以下のようなswagger-uiが作成されました。

その他、以下のように、ページネーションやクエリ、出力フォーマットの変更(csv, json, html)などを行うことができました。

参考

LICENSEファイルがない場合、以下のようにアラートが表示されました。LICENSEファイルを追加することで、解消しました。

まとめ

grlcは、以下のように説明されてます。

grlc is a lightweight server that takes SPARQL queries (stored in a GitHub or GitLab repository, in your local filesystem, or listed in a URL), and translates them to Linked Data Web APIs. This enables universal access to Linked Data. Users are not required to know SPARQL to query their data, but instead can access a web API.

(機械翻訳)grlcは、SPARQLクエリ(GitHubやGitLabリポジトリに保存されているもの、ローカルファイルシステムにあるもの、またはURLに記載されているもの)を取得し、それらをLinked Data Web APIに変換する軽量サーバーです。これにより、Linked Dataへのユニバーサルアクセスが可能になります。ユーザーはデータをクエリするためにSPARQLを知っている必要はなく、代わりにWeb APIにアクセスできます。

上記の説明の通り、SPARQLに馴染みのないユーザとのやりとりにおいて、本ツールは有用だと感じました。

RDFの応用にあたり、参考になりましたら幸いです。