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クエリは、アフリカ諸国の首都のリストを返す。

変数は頭に "?" を付けることで表される("$" でもよい)。?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勧告に至る過程は以下の通りである

  1. 2006年4月 勧告候補
  2. 2006年10月 2つの問題により草案に戻される
  3. 2007年6月 SPARQL 1.0 再び勧告候補
  4. 2008年1月15日 SPARQL 1.0 W3C勧告
  5. 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ペディア
  • ウィキデータ

外部リンク

書籍

  • 加藤 文彦、川島 秀一、岡別府 陽子、山本 泰智、片山 俊明 (著)『オープンデータ時代の標準Web API SPARQL』(オンデマンド (ペーパーバック))インプレスR&D、2015年11月13日。ISBN 978-4802090438。 

仕様、記事、チュートリアル

  • 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
  • SPARQL Tutorial on the Jena/ARQ site

ツールサポート

  • 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

GitHub SPARQLAnything/sparql.anything SPARQL Anything is a system

Wikidata Sparql

Searching data with SPARQL data.europa.eu

SPARQL — GraphDB SE 9.2 documentation

Sparql teminates its IPTV service