Category Archives: お知らせ

オントロジーエディタprotégéを使う

2013年10月8日に行われた第7回LinkedData勉強会にて「オントロジーエディタprotégéを使う」と題してprotégéの使い方を簡単に紹介しました。時間がおしていたことなどから非常に駆け足の説明となり、分かりにくい点が多々あったと思います。その後、スライドを見るだけでもなるべく分かるようにするために若干加筆修正をしてslideshareにアップしました。


protégé全体の説明を詳細にすることは困難なので、ひとまず、起動して何をしていいのか分からない、という状況にならないような紹介にしようと思いました。非常に簡単な事例を除いて、最初から思い描いていた通りのオントロジーを構築することはほぼ無理なので、実際の作業としては、オントロジーを作る → それを利用したデータセットを構築する → アプリケーションなどから利用する → 問題を見つける → オントロジーを更新する、の繰り返しが何度か続くことになると思います。なお、今回の資料では推論について全く触れていません。これはprotégéを使い始めるにあたり、推論の知識は必ずしも必要ではないとの判断からです。

また、プロパティの特徴としてFunctional以外については説明を省略しています。これについては、W3CのOWLリファレンスを参照して頂ければと思います。日本語訳もあります。本リファレンスは文字通りOWLについて、プロパティの特徴だけでなく、OWLについて全般的に書かれており、勉強会で紹介したprotégéがOWL2オントロジーをサポートし、Protege-OWLと呼ばれていることも併せて、protégéの提供する編集機能がOWLの仕様と非常によく対応づけられていることが分かります。protégéを利用する際にはこちらを参照するとその操作方法について理解が深まると思います。

参考資料として、スライド中で紹介したもののほかに、古いものもありますが、開発元のサイトに載せられている文書も読んでみると良いと思います。

とはいえ、オントロジーを作るという課題は資料を読むだけでなく、実際に自分で手を動かしてみないと理解しにくいものなのでしょうね。

なお、protégéのダウンロードはここから出来ます。

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キーワードや複雑なグラフパターンが含まれてなく、そのパターンがそのままトリプルとして取り出せる様なクエリであることが条件になります。詳細は上記リンク先をご確認ください。

既存DBをRDF化してSPARQLエンドポイントを立ち上げました

第2回LinkedData勉強会に参加して、最近行った略語のアリーのRDF化およびSPARQLエンドポイントの構築について発表してきました。

トリプルストアにはVirtuosoを利用しました。OWLIM-SEも試しましたが、動作の安定性という点から前者を選択しています。

勉強会のページからも発表資料を閲覧出来ますが、こちらにも張っておきます。

自動アノテーション(注釈)ブックマークレット

ウェブコンテンツに情報を自動的に付加するブックマークレット(bookmarklet)を作りました。

閲覧しているページに自身の興味を持つキーワードが多数含まれているとき、クリック一つで各キーワードがハイライト表示され、更には関連情報が得られるリンクが新たに加えられるなら便利と思いませんか?
Read more »

Allie 検索間口を拡大

少しでも多くのエントリポイントを Allie に持たせるために、片っ端から閲覧可能な入り口を追加。

http://allie.dbcls.jp/cgi-bin/browse.cgi

従来版だと全ての結果が、その内容と直接は無関係の余り有益ではないタイトルとURLとなってしまうのでよろしくない (そして現状直ぐには修正不可)。
そのため、今回は全てのページのタイトルやURLに結果を含む形にし、検索エンジンでヒットした時には実際にアクセスする前にタイトルと抜粋(スニペット)を見ることで予めどのような情報が得られるかを簡単に利用者が想像出来るようにした。

下記の検索結果をこまめにチェックしていこう。

http://www.google.com/webhp?hl=en#hl=en&source=hp&q=allie.dbcls.jp%2Fcgi-bin&btnG=Google+Search&aq=f&aqi=&oq=&fp=8ec9ea851cee2c5b

Allieマイナーバージョンアップ

Allieで使っているツールALICEの生みの親が訪れた日と奇しくも重なっていますが、Allieがマイナーバージョンアップしました。

  • 直リン機能の追加: http://allie.dbcls.jp/?s=iPS みたいにして使えます。
  • メッセージの日本語化: UA(ブラウザ)の言語設定に応じて表示されるメッセージが日英自動的に変わります。
  • 言語設定を明示的に指示する場合にはURLのパスの冒頭に en もしくは ja を含めます。http://allie.dbcls.jp/en のように。

次はコンテンツの国際化です。