BH16.12/SPARQLBuilder
提供:TogoWiki
目次 |
参画者
山口、桝屋、小林
課題
- オープンソース化
- subClassOf, OWL対応
オープンソース化
- https://github.com/sparqlbuilder/sparqlbuilder 本体
- https://github.com/sparqlbuilder/metadata メタデータ取得クローラ
- https://github.com/sparqlbuilder/sbmprocessor メタデータ前処理ツール
やったこと
- Apache 2 ライセンスに決める
- 不要なコードの削除
- 環境依存性の削除
TODO
- ドキュメントの作成/更新
subClassOf, OWL対応
例題: MGI_gene <-- subclassOf -- MGI:12345 -- type --> rdfs:Class
MGI_geneのインスタンスはMGI:12345であるが、MGI:12345はクラスでもある(puning in OWL)
SPARQL Builderでは MGI:12345はインスタンスを持たないクラスとして認識されるので、MGI:12345は無視される。 ところが、MGI_geneをユーザがクラスとして選択とし、MGI:12345をSPARQLで検索できるようなクエリを作りたい。
この機構をMGI特有のものとして対応するのではなく、グラフ構造を調べて上記の検索を達成させたい。
- subClassOf問題,別名インスタンス-クラス問題への対応
OWLの語彙でClassに関連するものは以下の通り:
(Class) --- type ---> rdfs:Class (Class) --- type ---> owl:Class (Class) --- subclassOf ---> (Class) (Property) --- range ---> (Class) (Property) --- domain ---> (Class) (Class) --- equivalentClass ---> (Class) (Class) --- oneOf ---> () () --- allValuesFrom --> (Class) () --- someValuesFrom --> (Class) (Class) --- intersectionOf --> () (Class) --- unionOf --> () (Class) --- complementOf---> (Class) (Class) --- disjointOf (Class)
このうち、SPARQL Builderで対応済のものは以下の通り:
(Class) --- type ---> rdfs:Class (Property) --- range ---> (Class) (Property) --- domain ---> (Class)
次のステップとして、以下に対応する:
(Class) --- type ---> owl:Class (Class) --- subclassOf ---> (Class)
その他のプロパティについては順次対応する。