Creativity Sharing and
Entrepreneurial Support

SPARQList

SPARQListは、SPARQLエンドポイントにアクセスし、検索結果をJavaScriptで加工して返すようなREST APIを、Markdown形式で記述するだけで容易に開発・公開できるサービスを提供します。セマンティック・ウェブのデータを活用するウェブアプリケーション開発において、作り込まれたSPARQLクエリやよく使うSPARQLクエリを再利用することができると効率的ですが、SPARQListはこのようにして開発されたAPIのレポジトリにもなりますので、その内容を誰でも閲覧できるほか、書き込み権限があるユーザはフォークして改変することも可能です。APIの定義はMarkdown形式で記述できるため、APIの実行内容が自然にドキュメント化されます。また、APIで受け取ったパラメータの処理や、SPARQL検索結果をcontent-typeネゴシエーションに応じて異なるデータ型に変換するなどの処理にJavaScriptが利用できるため、高度なREST APIを容易に構築することができます。作成したREST APIは、SPARQListのウェブインターフェイス上でパラメータを変えながら実行できる他、開発中に生じるエラーについてはトレースを確認することもできます。もちろんREST APIなのでクライアントのウェブアプリケーションからAPIのURLを叩くだけで結果が得られます。 クエリ実行の高速化についてはキャッシュ機能をもつプロキシーサーバSPARQL-proxyを併用することで実現できますし、SPARQL検索結果の可視化にはd3sparql.jsなどと組み合わせるのも効果的です。
Update: Jan 12, 2018

Slide detail
Semantic Web Applications and Tools for Health Care and Life Sciences学会で発表したスライドです。
Web page detail
SPARQListサーバはどこでも容易にデプロイできますが、我々の使っているデモサイトをこちらで公開しています。たとえばヒトゲノムのアノテーションを取得するAPIの例は http://biohackathon.org/rest/vg_gene_annotation のようになります。
Update: Jan 12, 2018 (Toshiaki Katayama)
Web page detail
SPARQL検索のジョブを管理しエンドポイントの負荷を低減したり、安全でないクエリを排除したり、検索結果をキャッシュすることで同じクエリに高速なレスポンスを行うことができるSPARQL専用のプロキシーサーバ。
GitHub - dbcls/sparql-proxy https://github.com/dbcls/sparql-proxy
Contribute to sparql-proxy development by creating an account on GitHub.
Update: Jan 12, 2018 (Toshiaki Katayama)
Web page detail
SPARQL検索結果をD3.jsで容易に可視化するためのJavaScriptライブラリ。
Update: Jan 12, 2018 (Toshiaki Katayama)

Grant Information

Suggested fund information for realizing the idea.

Comments