- 2008-05-28 (水) 23:40
Swoogle を用いた既存オントロジーの獲得
本項では,オントロジー検索エンジンを用いた既存オントロジーの獲得の実装について述べる.
オントロジー検索エンジンSwoogle は19 種類のREST 形式のWeb サービス(Swoogle Web サービス)を提供している.ユーザはURL を用いてクエリーを作成し,RDF/XML形式の検索結果を得ることができる.表1 に領域オントロジー構築支援に利用可能なSwoogle Web サービスとその入出力を示す.表1 のSWT (Semantic Web Term) はクラスまたはプロパティを表す.SWD (Semantic Web Document) はRDF/XML,N-Triple,N3 形式で記述されたRDF 文書を表す.SWO (Semantic Web Ontology) はクラスおよびプロパティの定義の割合が8 割以上のSWD を表す.
オントロジー検索エンジンSwoogle は19 種類のREST 形式のWeb サービス(Swoogle Web サービス)を提供している.ユーザはURL を用いてクエリーを作成し,RDF/XML形式の検索結果を得ることができる.表1 に領域オントロジー構築支援に利用可能なSwoogle Web サービスとその入出力を示す.表1 のSWT (Semantic Web Term) はクラスまたはプロパティを表す.SWD (Semantic Web Document) はRDF/XML,N-Triple,N3 形式で記述されたRDF 文書を表す.SWO (Semantic Web Ontology) はクラスおよびプロパティの定義の割合が8 割以上のSWD を表す.
表2 は,オントロジー選択モジュールの設計 図1 で示した既存オントロジー獲得の手順1 から4 の各手順で利用するSwoogle Web サービスのタイプおよび実行条件を示す.表2 の手順は,オントロジー選択モジュールの設計 図1 の手順と一致している.表2 の各手順で利用するSwoogle Web サービスのタイプは,表1 のタイプの番号と一致している.また,計算時間を削減するために,各手順において実行条件を設定している.
| タイプ |
Swoogle Web サービス |
入力 |
出力 |
| (1) |
Search ontology |
検索キーワード |
検索キーワードに関連するSWO のリスト |
| (3) |
Search terms |
検索キーワード | 検索キーワードに関連するSWT のリスト |
| (4) |
Digest semantic web document |
SWD |
SWD のSwoogle メタデータ |
| (13) |
List documents using term |
SWT |
SWT を定義,参照,populate しているSWD のリスト |
| (16) |
List domain classes of a property |
プロパティ |
入力したプロパティの定義域のリスト |
| (17) |
List properties of a domain class |
クラス |
入力したクラスを定義域とするプロパティのリスト |
| (18) |
List range classes of a property |
プロパティ |
入力したプロパティの値域のリスト |
| (19) |
List properties of a range class |
クラス |
入力したクラスを値域とするプロパティのリスト |
表2: 既存オントロジー獲得の各手順で利用するSwoogle Web サービスのタイプおよび実行条件
| 手順 |
各手順で利用する Swoogle Web サービスのタイプ |
実行条件 |
| 1 |
(3) |
各入力語について,獲得するクラスおよびプロパティ数は, TermRank によりランク付けされた上位5 個までとする. |
| 2 |
(17), (19) |
手順1 で獲得したクラスをrdfs:domain またはrdfs:range プロパティの値として持つ プロパティの獲得数は,各クラスごとに上位100 個までとする. |
| 3 |
(16), (18) |
手順1 および2 で獲得したプロパティの定義域および値域の獲得数は, 各プロパティごとに上位100 個までとする. |
| 4 |
(1), (4), (13) |
各入力語について獲得するオントロジー数は,OntoRank でランク付けされた 上位10 個までとする. |
SPARQL テンプレートを用いたオントロジー要素抽出
図1 から図5 にRDFS,DAML,OWL語彙におけるオントロジーの要素を抽出するためのSPARQLで記述したテンプレートを示す.図3 の見出しと説明抽出テンプレートを直接SPARQL のクエリーとした場合,OWLオントロジー中のすべてのrdfs:labelおよびrdfs:comment プロパティの値を抽出してしまう.オントロジー選択モジュールでは?concept 変数の部分を取得したい概念(クラスまたはプロパティ)のURIに置換することにより,特定の概念の見出しおよび説明のみを抽出できるようにしている.他のテンプレートも同様にテンプレートを直接SPARQLのクエリーとして用いるのではなく,変数部分をオントロジー選択モジュールが適切なURIに置換したものを最終的なSPARQLのクエリーとしている.?concept, ?subConcept, ?class, ?property, ?label, ?description,?domain, ?range 変数を用いてトリプルのパターンを各オントロジーの要素を抽出するテンプレートに記述し,テンプレートをOWLオントロジーに対応づけることで,様々なクラス,プロパティ,構造により表現されたオントロジーの要素を抽出することが可能となる.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX daml03: <http://www.daml.org/2001/03/daml+oil#>
PREFIX daml10: <http://www.w3.org/2001/10/daml+oil#>
SELECT ?class WHERE {
{?class rdf:type rdfs:Class} UNION {?class rdf:type owl:Class} UNION
{?class rdf:type owl:Restriction} UNION {?class rdf:type owl:DataRange} UNION
{?class rdf:type daml03:Class} UNION {?class rdf:type daml03:Datatype} UNION
{?class rdf:type daml03:Restriction} UNION {?class rdf:type daml10:Class} UNION
{?class rdf:type daml10:Datatype} UNION {?class rdf:type daml10:Restriction}
}
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX daml03: <http://www.daml.org/2001/03/daml+oil#>
PREFIX daml10: <http://www.w3.org/2001/10/daml+oil#>
SELECT ?property WHERE {
{?property rdf:type rdf:Property} UNION {?property rdf:type owl:ObjectProperty} UNION
{?property rdf:type owl:DatatypeProperty} UNION {?property rdf:type owl:AnnotationProperty} UNION
{?property rdf:type owl:FunctionalProperty} UNION {?property rdf:type owl:InverseFunctionalProperty} UNION
{?property rdf:type owl:SymmetricProperty} UNION {?property rdf:type owl:OntologyProperty} UNION
{?property rdf:type owl:TransitiveProperty} UNION {?property rdf:type daml03:Property} UNION
{?property rdf:type daml03:ObjectProperty} UNION {?property rdf:type daml03:DatatypeProperty} UNION
{?property rdf:type daml03:TransitiveProperty} UNION {?property rdf:type daml03:DatatypeProperty} UNION
{?property rdf:type daml03:UniqueProperty} UNION {?property rdf:type daml10:Property} UNION
{?property rdf:type daml10:ObjectProperty} UNION {?property rdf:type daml10:DatatypeProperty} UNION
{?property rdf:type daml10:TransitiveProperty} UNION {?property rdf:type daml10:DatatypeProperty} UNION
{?property rdf:type daml10:UniqueProperty}
}
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX daml03: <http://www.daml.org/2001/03/daml+oil#>
PREFIX daml10: <http://www.w3.org/2001/10/daml+oil#>
SELECT ?label ?description WHERE {
{?concept rdfs:label ?label} UNION {?concept rdfs:comment ?description} UNION
{?concept daml03:label ?label} UNION {?concept daml03:comment ?description} UNION
{?concept daml10:label ?label} UNION {?concept daml10:comment ?description}
}
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX daml03: <http://www.daml.org/2001/03/daml+oil#>
PREFIX daml10: <http://www.w3.org/2001/10/daml+oil#>
SELECT ?subConcept WHERE {
{?subConcept rdfs:subClassOf ?concept} UNION {?subConcept rdfs:subPropertyOf ?concept} UNION
{?subConcept daml03:subClassOf ?concept} UNION {?subConcept daml03:subPropertyOf ?concept} UNION
{?subConcept daml10:subClassOf ?concept} UNION {?subConcept daml10:subPropertyOf ?concept}
}
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX daml03: <http://www.daml.org/2001/03/daml+oil#>
PREFIX daml10: <http://www.w3.org/2001/10/daml+oil#>
SELECT ?property ?domain ?range WHERE {
{?property rdfs:domain ?domain} UNION {?property rdfs:range ?range} UNION
{?property daml03:domain ?domain} UNION {?property daml03:range ?range} UNION
{?property daml10:domain ?domain} UNION {?property daml10:range ?range}
}
汎用オントロジー選択パネル
図6 に汎用オントロジー選択パネルを示す.図6(1) に示す,3 種類の汎用オントロジー(EDR 一般辞書,EDR 専門辞書,WordNet)の中から参照オントロジーを選択する.チェックボックスにチェックをつけた汎用オントロジーを用いて,その後領域オントロジーにおける概念階層を構築する.複数の汎用オントロジーが選択可能な利点としては,領域によっては,一つの汎用オントロジーだけでは語彙を網羅しきれない場合があるため,複数の汎用オントロジーを組み合わせて利用できるようにしている.図6(2)の名前空間テーブルは,名前空間URI とその名前空間接頭辞の対応関係を管理している.図6(3) に接頭辞と名前空間を入力し,図6(3) 右側の「追加」ボタンで追加することができる.

OWLオントロジー選択パネル
図7 にOWL オントロジー選択パネルを示す.図7(1) の「追加(ファイル)」または「追加(URI)」ボタンにより,参照オントロジーとする既存OWLオントロジーを選択する.図7(3) には,図7(1) のオントロジーリスト中で選択したオントロジーのOWLメタデータが表示される.また,図7(2) において,OWLオントロジー中から抽出する要素を決定するためのSPARQL テンプレートを指定する.SPARQL テンプレートの種類として,SPARQL テンプレートを用いたオントロジー要素抽出で述べた5 種類が利用できる.
