Tag Archives: Linked Data

Linked Open Dataの構築に関する論文の出版

2013年の3月13日にLinked Open Dataの構築についての論文が出版されました。これは、生命科学分野の略語に関するデータベースAllieとRDF化されたWikipediaのデータベースDBpediaの間のリンクを自動生成する試みを報告したものです。

Allieを検索すると分かりますが、1つの略語に対して、その本来の表現である展開形が複数存在することは多く(略語の多義性、例えばSPF)、複数の候補が提示された場合には、実際に自分が求めている展開形がそれらのうちのどれに当たるのかを簡単に知ることが出来れば有益であると思います。しかし現時点ではAllieで略語を検索しても、各展開形の意味は書かれていません。本機能を実現するためには各展開形の辞書が必要となるわけですが、その数は180万弱と膨大で全てを我々が構築することは不可能です。しかも、既に同様の資源があり、それを適切に利用できるならば、新たに手間と暇をかける必要は無いわけです。そしてDBpediaがまさにそれに当たるものと考えました。何故ならば、自由にデータベースを丸ごとダウンロード可能だからです。首尾よくAllie中の展開形に対応するDBpediaのエントリがあれば、そこには解説記事が書かれていることになり、Allieの利用者は効率的に自身の求めている略語の意味を知ることが出来るようになるでしょう。
Read more »

セマンティックWebコンファレンス2013での発表

先日、2013年3月7日(木)に開催されましたセマンティックWebコンファレンス2013にて発表する機会を頂きました。関係者の皆様、どうもありがとうございます。
コンファレンスのページからでもPDFファイルとして発表資料を取得できますが、slideshareにもアップしましたのでこちらに告知します。引き続きLODが普及し、様々な知識の再利用性が高まるよう、出来ることを行っていきたいとお思います。

発表時間としてはギリギリだったので、詳しく説明しませんでしたが、LODを基盤として知のReduce、Reuse、Recycleが進むことを願っています。
これは、すなわち、LODの普及に伴い、車輪の再発明を減らし(Reduce)、先人の知恵を再利用し(Reuse)、それに基づく新しい知識を生み出す(Recycle)ことが以前よりも増して効率的に実現されれば、という私の考えです。


SPARQLを使い込む 補足

第5回LinkedData勉強会が先日開かれて「SPARQLを使い込む」と題した発表をさせていただきました。


ここでは発表中に口頭でのみお伝えした点やお伝えしきれなかった点について補足しておきます。
SERVICEキーワードを利用したfederated queriesではリモートのSPARQLエンドポイントに対して容易に大量のデータを返す様なクエリを発行出来てしまいます。従ってこの便利な機能を使う際には、実際にリモートに投げられるクエリを想定して行うのが良いと思います。
クエリの構造として同じスコープにある変数の場合、実際にクエリに書かれている順番にバインドされていくわけではないので、リモートに投げられる時点で、記述したクエリの変数のいずれかがバインドされていることを想定することが出来ません。従って、探索空間が非常に広くなりえることに注意が必要と思います。

SELECT * WHERE {
  ?s ?p ex:obj1213 .
  SERVICE  {
    ?s xe:pred22 ?o .
  }
}

このような場合で、仮に ex:obj1213 を目的語にもつ主語が一つしかなかったとしても、リモートに投げられるクエリには ?s に当該主語がバインドされているとは限らないので、xe:pred22 を述語にもつ全ての主語と目的語の組を探すことになり得ます。

それから、SPARQL1.1で加わった機能のうち、発表中に触れなかった主な項目としてデータベースの更新系があります。CRUDの、Create / Update / Delete が出来るようになっています (参考)。その他、クエリに関しては、以下の機能が1.1になり新たに加わっています (参考)。

このうち、まず、Aggregatesについては、数値処理の集合演算であるCOUNTSUMなどを除いて紹介していませんが、これらに加え、SQLでお馴染みのGROUP BYHAVINGが使えるようになっています。
また、一つのクエリ表現で複数の述語にマッチさせられる表記法法、Property Pathsについて全く触れておりません。これについては去年の第2回LinkedData勉強会で加藤さんがSPARQLの基礎と題して説明されていますのでご参照願います。
その他、CONSTRUCTの短縮表現についても扱っていません。これはCONSTRUCT WHEREと記述するもので、CONSTRUCTキーワード後のグラフパターンを省略出来る表現方法です。これは、WHERE直後のグラフパターンが単純であるときに使えます。つまり、FILTERキーワードや複雑なグラフパターンが含まれてなく、そのパターンがそのままトリプルとして取り出せる様なクエリであることが条件になります。詳細は上記リンク先をご確認ください。