概要

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クエリです。

#+ endpoint: https://jpsearch.go.jp/rdf/sparql/
#+ summary: 利用可能な文化財タイプ一覧
#+ description: Japan Searchで利用可能な文化財タイプの一覧を取得します
#+ tags:
#+   - タイプ一覧
#+   - メタデータ

PREFIX jps: <https://jpsearch.go.jp/term/property#>

SELECT ?type (COUNT(?cho) as ?count) WHERE {
	?cho a ?type ;
		jps:sourceInfo ?source .
} GROUP BY ?type
ORDER BY DESC(?count)

デコレータ構文を使用することで、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の応用にあたり、参考になりましたら幸いです。