• Drop us line:

    info@mdiua.com

  • Visit Our Office:

    Tokyo-Opera-City-Tower 24F, Nishishinjyuku, Shinjyuku-ward, Tokyo, Japan

  • Phone number:

    03-6859-2346

SPARQL:オントロジーの問い合わせ言語

SPARQL:オントロジーの問い合わせ言語

セマンティックWebのレイヤケーキ上で、オントロジーを表現するための構成要素としてRDF、RDFS、OWLなどがあり、これらによりオントロジーの意味の記述と、概念の関係性の推測が出来るようになります。但し、これらの構成要素だけでは、オントロジーの構成についての問い合わせはできず、その役目を担うのが以下に説明をするSPARQLです。

 

SPARQL

SPARQL(SPARQL Protocol and RDF Query Languageの略)はセマンティックWebのレイヤケーキ上では、OWL、RDFS、RIF等と並び、推測を担う構成要素の位置付けとなりますが、上の図の「Query:SPARQL」という表記からもお気づきになるかと思いますが、オントロジーに対して問い合わせを実行する言語となります。また、そのシンタクスは非常にSQLに似ています。

具体的には、リンクトデータのTripleの値(「主語:S」「述語:P」「目的語:O」)のいずれかが不明な場合に、現在わかっている情報から、不明な値の問い合わせを行います。

DBPedia

引用:https://wiki.dbpedia.org/

SPARQLの活用先として、最も有名なセマンティックWebのプロジェクトの1つがDBpediaです。その名前の類似性からも推測できるかと思いますが、DBpediaはWikipediaをベースにしたプロジェクトで、Wikipediaの情報を整理し、概念ごとにオントロジーを作成し、そのリンクトデータに対して問い合わせを可能にしているセマンティックWebのプロジェクトです。

既に、364万件以上の事物を取り扱い可能で、そのうちの183万件が一貫したオントロジーとして整理されています。また、DBpediaへのクエリ言語としてSPARQLが使用されています。以下、SPARQLでDBpediaに問い合わせを行う例を示します。

DBpediaのendpointへのクエリ例

それでは実際にDBpediaに問い合わせを行い、リンクトデータを取得する方法について解説致します。以下の例は「日本の国歌」に関して問い合わせを行った例です。構文がSQLに非常に良く似ている様子がわかるかと思います。

  • 「主語:S」:dbp:日本
  • 「述語:P」:dbp-prop:国歌
  • 「目的語:O」:?o

という形で、「目的語:O」にあたる日本の国歌一覧に関して、問い合わせを行っている例となります。SPARQLのシンタクスは、前述の通りSQLに非常に良く似ているため、詳細の説明は割愛させて頂きます。

 

まとめ

リンクトデータへの問い合わせの言語として、SPARQLの使用方法をDBpediaの説明を交えて簡単に説明させて頂きました。SPARQLの構文はSQLに類似したものであるため、SQLに慣れている方であれば問題なく使用できるかと思います。SPARQLは、言わば、セマンティックWeb上での検索エンジンの役割を果たします。