SPARQL(スパークル、SPARQL Protocol and RDF Query Languageの再帰的頭字語)は、RDF問合せ言語の1つである。RDF問合せ言語は、Resource Description Framework (RDF) で記述されたXMLやTurtleなどのRDFデータのリソースを取り扱うためのコンピュータ言語である。

SPARQL は、クエリの基本的なパターンである論理積や論理和をはじめ、文字列操作やフィルターなどのその他のパターンを指定可能であり、PythonやRubyなどのプログラミング言語でSPARQLを利用できるライブラリが存在する。

ティム・バーナーズ=リーは2006年5月のインタビューで「SPARQL によって大きな違いが生まれるだろう」と述べている。

例 次のSPARQLクエリは、アフリカ諸国の首都のリストを返す。 PREFIX abc: <http://mynamespace.com/exampleOntologie#> SELECT ?capital ?country WHERE { ?x abc:cityname ?capital. ?y abc:countryname ?country. ?x abc:isCapitalOf ?y. ?y abc:isInContinent abc:africa. }

変数は頭に "?" を付けることで表される("$" でもよい)。?capital と ?country がクエリ結果として返される(SELECTの部分)。SPARQL のクエリプロセッサはその全てについて4つの RDF トリプルのパターンにマッチするものを選ぶ(WHEREの部分)。URI を毎回フルに記述すると読みにくくなるので、"abc" というプレフィックスが "http://mynamespace.com/exampleOntologie#" を表すようになっている(PREFIXの部分)。

標準化 SPARQL は World Wide Web Consortium (W3C) の RDF Data Access Working Group (DAWG) によって標準化された。

W3C勧告に至る過程は以下の通りである 2006年4月 勧告候補 2006年10月 2つの問題により草案に戻される 2007年6月 SPARQL 1.0 再び勧告候補http://www.w3.org/blog/SW/2007/06/15/sparql_is_a_candidate_recommendation 2008年1月15日 SPARQL 1.0 W3C勧告W3C Semantic Web Activity News - SPARQL is a Recommendation 2013年3月21日 SPARQL 1.1 W3C勧告

SPARQL Endpoint SPARQL Endpointは、SPARQLによるリソースの検索や分析の機能を提供するインタフェースである。

代表的な日本国内のSPARQL Endpoint DBpedia Japanese: http://ja.dbpedia.org/sparql 文献検索システムI-Scover: https://i-scover-api.ieice.org/iscover/api/sparql J-GLOBAL knowledge: https://stirdf.jglobal.jst.go.jp/sparql ジャパンサーチ: https://jpsearch.go.jp/rdf/sparql/

脚注

関連項目 DBペディア ウィキデータ

外部リンク

書籍

仕様、記事、チュートリアル SPARQLの主な特徴 W3C RDF Data Access Working Group XML.com: Introducing SPARQL: Querying the Semantic Web SPARQL Query language SPARQL Query Languageの日本語版 SPARQL Protocol SPARQL Protocolの日本語版 SPARQL Query XML Results Format SPARQL Query XML Results Formatの日本語版 SPARQL Frequently Asked Questions

ツールサポート AllegroGraph RDFStore Protégé RDF api for PHP TopBraid Composer

SPARQLクエリサービス・エンドポイント Pellet OWL Reasoner ARC SPARQLer Virtuoso Universal Server DBpedia

SPARQLデモ SPARQL Calendar Demo SPARQL & Web Clipboard Demo