概要
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の応用にあたり、参考になりましたら幸いです。