重み付きオントロジーマッピングを用いたSPARQLoidクエリ のための

SIG-SWO-A1302-03
重み付きオントロジーマッピングを用いた SPARQLoid クエリ
のための語彙およびエンドポイントの発見支援手法の検討
A Preliminary Approach for Query Coding Support for
Discoverying Vocabularies and Endpoints with Weighted Ontology
Mappings
野口宙毅 ∗
Hiroki Noguchi
藤野敬久
Takahisa Fujino
福田直樹
Naoki Fukuta
静岡大学大学院情報学研究科
Graduate School of Informatics, Shizuoka University
Abstract: When writing SPARQL queries that will access to multiple data sources (i.e., a
federated querying), one has to know the corresponding vocabulary where one can name the
property URIs to be used in the query. To know the exact URIs for such vocabulary is not easy
task since those vocabularies are often separately defined and managed. To avoid such a situation,
the techniques to use some ontology mappings in a SPARQL query have been actively developed.
In this paper, we present our preliminary approach on SPARQLoid query coding support system
that can utilize familiar vocabularies that may be contained in some ontology mappings by using
weighted ontology mappings associated to specified keywords in the query.
1
はじめに
オントロジーマッピングにおける技術 [5, 6, 15, 20]
を用いることで,クエリ中で使用されているオントロ
ジーとエンドポイントで使用されているオントロジー
が異なる場合にも,その差異をクエリ記述者が直接解
消しなくとも,クエリの記述および実行が可能となり
つつある [18].高度なオントロジーマッピング技術を用
いた場合であっても,正確なマッピングの生成は非常
に困難な場合があり [5, 15],特にそれは,2 つのオント
ロジーが意味的に大きな差異を持って構成されていた
場合に顕著である.いくつかのオントロジーマッピン
グ手法では,各エンティティ(概念) 間のマッピングの
確からしさとして,確信度等の値をオントロジーマッ
ピング中に付与することができる.確信度のような信
頼性情報を持ったマッピングを利用可能とし,クエリ
中でのマッピング信頼度の重要度を明示的に用いてク
エリ結果の並べ替えなどに利用したり,不要な結果を
検索しないようにコントロールするクエリ記述・変換処
理系として,SPARQLoid が提案されている [7, 8, 9].
SPARQLoid を用いる場合であっても,対象とする
オントロジー間のマッピングを準備することは,クエ
∗ 連絡先:静岡大学大学院情報学研究科情報学専攻
〒 432-8011 浜松市中区城北 3-5-1
E-mail: [email protected]
リ作成者が行う必要があった.また,クエリの記述以
前に,検索対象とする LOD(Linked Open Data) エン
ドポイントを見つけること自体が,語彙の違い,格納
データの多さ,同種のデータを持つエンドポイントそ
のものが多数公開されるようになったことなどから,容
易ではなくなってきている.本論文では,この課題に
対して,重み付きオントロジーマッピングを用いたク
エリの作成を支援するための機構の設計,およびその
実現手法の検討について述べる.
研究の背景と課題
2
2.1
Linked Open Data と SPARQL
Linked Open Data(LOD)のデータモデルは,セマ
ンティックウェブと同じく基本的に RDF で記述される.
LOD の代表的なものに,Wikipedia を Linked Data 化
した DBpedia がある.また,アメリカの data.gov を
筆頭に海外では,
「オープンガバメント」という理念の
もと,様々なデータの LOD 化が進んでいる.その他に
も多種多様なデータセットが存在しており,2013 年の
段階で,441 のデータセットと 310 億以上の RDF トリ
プル,5 億以上の RDF リンクが存在1 し,現在も増加
1 http://sparqles.okfn.org/availability
03-01
を続けている.
DBpedia[3] のような,SPARQL クエリ言語で記述
されたクエリによってデータを検索することが可能な
SPARQL エンドポイントが多く存在している.SPARQL
1.1 の Federated query を用いることによって,1 つの
エンドポイントだけでなく複数エンドポイントの検索
も可能である [11, 12, 17].しかしながら,クエリを書
くために対象エンドポイントのオントロジーを理解す
ることは容易ではない.その理由のひとつとして,オ
ントロジー中には他で使われていないような多くの専
門用語で構成されていることが挙げられる.さらに,多
くの場合,それらは詳細な文章化がされていない.
2.2
Ontology Mapping
オントロジーの異種性を解決するための技術として,
オントロジーマッピング(マッチング)が存在する.検
索対象で用意されているオントロジーとは異なるオン
トロジーを利用して検索処理を実行するためには,オ
ントロジーマッピングが適用可能であるが,質の高いオ
ントロジーマッピングを準備するのは非常に難しい課
題である [15].こうした課題を解決するため,精度,再
現率の高いオントロジーマッピングを発見するための
手法に関する競技会も開かれている [1].オントロジー
マッピングの手法では,マッピングを発見する際に類
似度や距離などが利用される.そのため,重み付きオ
ントロジーマッピングの意味論を定義する研究 [2] も行
われており,マッピングの確信度を示す値を利用する
ことにも関心が集まっている.
HermiT2 を推論機として利用する LogMap[10] など
のオントロジーマッチングツールを利用する際に,そ
の出力フォーマットとして Alignmnet Format3 などを
利用することができる.重み付きオントロジーマッピ
ングは,Alignment Format を用いて表現することが
でき,SPARQLoid では,Alignment Format で記述さ
れた重み付きオントロジーマッピングを利用して,ク
エリを行うことができる.
2.3
SPARQLoid
SPARQLoid [7, 8, 9] では,効果的に重み付きオント
ロジーマッピングを利用するために,現行で W3C に
よって標準化されている SPARQL1.1 を拡張し,ユー
ザがそのクエリの振る舞いを操作することを可能にし
ている.SPARQLoid は,重み付きオントロジーマッピ
ングを利用する SPARQL クエリを生成するクエリ言
語,およびシステムであり,そのクエリをユーザのア
2 http://hermit-reasoner.com/
3 http://alignapi.gforge.inria.fr/format.html
プリケーションの中で容易に利用できるようにする目
的で,Java のソースコードの断片も生成可能としてい
る.また,変換されたクエリを実際に動作させて,そ
の検索結果を確認できる実行・テスト環境も用意して
いる.
SELECT ? singer
WHERE
{{? singer rdf : type source : Singer
THRESHOLD { source : Singer >0.4}
CRITERIA ? criteria1 { source : Singer *100}
}
UNION
{ SERVICE < endpoint2 >
{ ? singer rdf : type source : Singer
THRESHOLD { source : Singer TOP 2}
CRITERIA ? criteria2 { source : Singer *100}
}
}
RANKING ? score {? criteria1 ||? criteria2 }
}
Listing 1: SPARQLoid のクエリ例
SPARQLoid は,重み付きオントロジーマッピングを
利用して,そのクエリ結果をフィルタリング・ランキン
グする機能を提供している.これによって,確信度の
低いデータをクエリ結果から削除したり,マッピング
の確信度に基いて結果をランキングすることができる.
Listing 1 に,SPARQLoid のクエリ例を示す.このク
エリは,検索結果として変数である?singer に一致する
データを抽出するクエリである.しかしながら,その
クエリで用いられている URI(i.e., source:Singer)は,
検索対象のエンドポイントには含まれておらず,オン
トロジーマッピングが必要な状況である.このクエリ
の場合には,source:Singer に対するマッピングの候補
を THRESHOLD 句を用いて制約している.このクエ
リは複数のエンドポイントに対して問合せを行ってい
るため,それぞれのエンドポイントごとに,利用する
マッピングの候補は異なる.そのため,このクエリの
デフォルトの検索対象については,確信度 0.4 より大
きいマッピングを利用し,endpoint2 については,確信
度が高い上位 2 件のマッピングを利用する指定を行っ
ている.それぞれのデータは,その利用されたマッピ
ングの確信度を 100 倍した値をスコア(?score)とし
て,ランキングを行う.
2.4
課題
SPARQL エンドポイントでクエリを実行させる際に
は,次の 2 つの課題がある.1 つは,クエリで使用す
る語彙を発見することの困難性である.SPARQL でク
エリを記述する場合,そのクエリは何らかの語彙かオ
ントロジーに基いて書かれていなければならない.ク
03-02
!"#$%&
0(/1.2(3&42+3!
!"#$%&'()*%+#$!
!"#$%&8$)(+*)3#$!
,#%-.$/!
:#*#63#/&0(/1.2(3!
5#6.77#(/#$!
8$)(+*)3#/&!"#$%!
!"#$%&09#6"3#$!
5#+"*3!
図 1: システムの構成
エリを実行しようとするユーザがもしそれらを知らな
かった場合,ユーザの期待した結果を得ることは難し
い.そのため SPARQL でクエリを記述しようとする
ユーザは,最低でも 1 つのオントロジーを十分に理解
している必要があった.我々はこの課題に対し,語彙
発見支援機構を実装することで,ユーザが十分に対象
語彙・オントロジーを理解していなくとも,SPARQL
または SPARQLoid のクエリを記述可能とする.
もう 1 つのの課題として,エンドポイント選択の困
難性がある.SPARQL や SPARQLoid では,複数の
SPARQL エンドポイントに対して同時アクセス可能な
Federated query を用いることも可能である.このよ
うな場合に,クエリの種類によっては,クエリで検索
対象とすべきエンドポイントの候補が無数にある場合
もあり,それらのエンドポイントに格納された具体的
なデータの内容を事前に把握しておくことには限界が
ある.
3
語彙・エンドポイント検索支援シ
ステム SuPARQooL
本章では,我々が試作を行っている SuPARQooL[14]
について述べる.本システム,SuPARQooL(SUPport
system for spARql Query cOding with Ontology mapping on sparqLoid) は,語彙発見手法を用いて WOM(weighted ontology mapping) に基づく SPARQL クエリ支
援を実現するための種々の機構を実装している.利用
者が概念やプロパティの代わりに自然言語の混じった
SPARQL もしくは SPARQLoid クエリを書くと,SuPARQooL はそれに対応する URI 候補を提示すること
ができる.他のシステム [4, 13, 19] では重み付きオン
トロジーマッピングをクエリ中で用いることは出来な
いが,本システムでは,SPARQLoid によるクエリの
記述を可能とすることで,重み付きオントロジーマッ
ピングをクエリ中で利用可能とした.
図 1 に,本システムの構成を示す.
図 2 に,本システムにおけるクエリ入力ウィンドウを
示す.SuPARQooL では,利用者は自分のよく知るオ
ントロジーに基づいてクエリを記述することを前提と
するが,もしも適切な語彙がその場では不明な場面に
おいては,その語彙を示すヒントとしての文字列を代
わりに用いることで,システムが,適切な語彙,その語
彙を含むオントロジー,それらの語彙でそのクエリによ
る検索を行うのに適すると思われる SPARQL エンドポ
イントを提示することができる.クエリは,SPARQL
クエリ言語か SPARQLoid クエリ言語で記述すること
ができる.必要なオントロジーやプロパティが不明な
場合には,該当する箇所に URI を記載する代わりに,
⟨⟨⟩⟩ で括ったキーワードを入れる.
図 3 に,本システムが,⟨⟨⟩⟩ で括られたキーワードに
対応する URI の候補を順位付けして表示した場合の実
行例を示す.この例では,対応 URI の検索の基準とし
てレーベンシュタイン距離を用いている.利用者は順
位付けされた URI から,クエリに適している URI を選
択することで,クエリ中でキーワードとして記述した
箇所で実際に使用する URI を指定することができる.
“details”表示機能を用いることで,利用者は,URI に
対する詳細な情報を得ることができる.
図 4 に,本システムにおける検索対象エンドポイン
ト推薦機構の実行例を示す.ここで,利用者はエンド
ポイント推薦のためのパラメータとして,推薦順位の
計算方法を選択できる.利用者が,複数のキーワード
をクエリ中で URI 検索対象として記述している場合に
は,そのキーワードの中で最も重要視するものを選ぶ
ことにより,エンドポイント推薦の計算において重視
するキーワードを選択できる.ここで,推薦の対象とな
るエンドポイントのリストは,システムに予め登録さ
れているものとする.エンドポイント推薦における順
序付け方法としては,現在の試作システムでは 3 つの
ものを用意している.例えば 1 つ目の “Amount”では,
各エンドポイントに存在する語彙のそれぞれの合計が
スコアとなる.この方法は,キーワードとなる URI を
含むトリプルが多く含まれているほど検索対象として
適しているということが,利用者にとって事前に明ら
かであるような場合に用いる.
4
概念要素およびエンドポイントの
検索・推薦手法
キーワードに対応する URI 検索のアルゴリズムにつ
いて述べる.URI 検索では,例えば Listing 2 に示され
るとようなクエリを指定されたオントロジーに対して
03-03
行うことで,検索対象を取得する.このクエリで得られ
た各 URI の末尾について,キーワードとの距離を,例
えばレーベンシュタイン距離などを用いて計算し,そ
のスコアの高いものをユーザに提示する.Listing3 は
その処理の概観である.
!"#$%&'()*+!,
#$%&'(!"#$%
-"&'()*+,#$%
."-./,01,
SELECT DISTINCT ? s
WHERE {{? s ? p " KEYWORD "}
UNION {? s ? p " KEYWORD " @en }
UNION {? s ? p " KEYWORD " @ja }}
Listing 2: クエリ 1
図 2: 本システムにおけるクエリの入力の例
INPUT keyword , query , target
OUTPUT score
queryresult ←
queryexecution ( target , query )
URIlabel ← split ( queryresult )
score ←
le v e n s h t e i n _ d i s t a n c e ( keyword , URIlabel )
Listing 3: URI に対する距離計算の概観(例)
エンドポイント推薦のアルゴリズムについて述べる.
エンドポイント推薦には,例えば Listing 4 に示すよう
な評価クエリをシステムに事前に登録される等により
検索対象として選択された各エンドポイントに対して,
発行する.
SELECT DISTINCT ? s
WHERE {{? s ? p <" KEYWORD " >}
UNION {? s <" KEYWORD " > ? o }
UNION { <" KEYWORD " > ? p ? s } }
Listing 4: エンドポイント推薦のための評価クエリの例
評価クエリに対して対象エンドポイントで得られた
結果の概要素数を Q,そのエンドポイントに存在する全
ての検索可能要素数を S とする.推薦基準 “Amount”
のランキングに対する評価値 PA は式 (1) で与えられる.
PA = Q
“Harmonic mean”のランキングで用いる評価値 PH は
式 (3) で与えられる.
2PA PR
PA + PR
Listing 5: エンドポイント推薦のアルゴリズムの概観
(1)
“Ratio”のランキングで用いる評価値 PR は式 (2) で与
えられる.
Q
PR =
(2)
S
PH =
INPUT endpoints [] , query , method
OUTPUT score []
FOR i = 0 TO endpoints . size
target ← endpoints [ i ]
j ← 0
queryresult ←
queryexecution ( endpoints [ i ] , query )
WHILE queryresult . hasnext
queryresult ← queryresult . next
j ← j + 1
END WHILE
point [ i ] ← j
END FOR
IF method = AMOUNT
score ← point
ELSE IF method = Ratio
score ← point / endpoints . tripleNum
ELSE
score ←
2 * point *
( point / endpoints . tripleNum ) /
( point + ( point / endpoints . tripleNum ))
END IF
(3)
エンドポイントの推薦には,登録されたエンドポイン
トを評価値 P の順に並べたものを提示することを考え
る.このアルゴリズムを,Listing 5 に示す.
5
おわりに
本研究では,重み付きオントロジーマッピングを用
いた SPARQLoid クエリ作成支援のための,語彙およ
びエンドポイントの発見支援手法について,その基本
的な支援手法の検討および試作を行った.本研究で試
作した支援システム SuPARQooL では,WOM を用い
てクエリ中に存在する語彙からエンドポイントを見つ
け,様々なエンドポイントへのクエリを可能にするた
めの,種々の手法を実装している.現時点で試作した
SuPARQooL では,エンドポイントの推薦のために必
要な計算方法として,扱いやすさの観点から,比較的
03-04
!"!"#"$%&'()
!"!"#$%&'()*'+
,-.+/
'"12345$%&%&'((
#"!"#"$*+,
-.$%&%/0)
#"!",.01/
)"$%&%6789:)
$"&'()*'+
,23456/
*"!"#"$8;<(
345$%&*=>?@)
図 3: キーワードに基づく対応概念 URI の検索
図 5: 推薦スコアに基づくエンドポイントの提示
!"!"#$%&'(#
)*+,-./0123456
!"!"#$%"&'()
*+#$%,-./
&"!"#$%"&'()
01,-./
図 4: エンドポイント推薦基準の選択
図 6: 生成クエリの確認と編集
単純な計算方法に基づいているが,それでも計算にか
なりの時間を要する場合がある.今後,精度の高い推
薦を実現するにあたって,通信遅延およびスコア計算
にかかるコストを考慮した手法の実現が,課題の 1 つ
である.たとえば,BLMAB(Budget-Limited Multi
Armed Bandit)に基づくモデル化とそのアルゴリズム
の適用は,今後の課題である.
参考文献
[1] Aguirre, J. L., Eckert, K., Euzenat, J., Ferrara,
A., Van Hage, W. R., Hollink, L., Meilicke, C.,
Nikolov, A., Ritze, D., Scharffe, F., Shvaiko, P.,
Zamazal, O. Šváb, Trojahn, C., Jiménez-Ruiz,
E., Grau, B. C. and Zapilko, B. Preliminary results of the Ontology Alignment Evaluation Initiative 2012. In: Proc. of 7th Ontology Matching
03-05
Workshop (OM2012), at International Semantic
Web Conference (ISWC2012), 2012.
[2] Atencia, M., Borgida, A., Euzenat, J., Ghidini,
C., Serafini, L.: A formal semantics for weighted
ontology mappings. In: Proc. of the 11th International semantic web conference (ISWC2012).
(2012) 17-33
[3] Auer, S., Bizer, C., Kobilarov, G., Lehmann,
J., Cyganiak, R., Ives, Z.G.: DBpedia: A Nucleus for a Web of Open Data. In: Proc. of
the 6th International Semantic Web Conference
(ISWC2007). (2007) 722-735
[4] Bizer, C., Schultz, A.: The R2R Framework:
Publishing and Discovering Mappings on the
Web. In: Proc. of the 1st International Work-
[11] Ladwig, G., Tran, T.: Linked data query processing strategies. In: Proc. of the 9th International semantic web conference (ISWC2010).
(2010) 453-469
!"!"#$%&'()*+,
-./01234
[12] Ladwig, G., Tran, T.: SIHJoin: querying remote
and local linked data. In: Proc. of the 8th European Semantic Web Conference (ESWC2011).
(2011) 139-153
[13] Makris, K., Bikakis, N., Gioldasis, N., and
Christodoulakis, S.: SPARQL-RW: Transparent
Query Access over Mapped RDF Data Sources.
In: Proc. of the 15th International Conference on
Extending Database Technology (EDBT2012),
(2012).
図 7: クエリの実行結果の提示
shop on Consuming Linked Data (COLD 2010).
(2010)
[5] Duan, S., Fokoue, A., Srinivas, K., Byrne, B.: A
clustering-based approach to ontology alignment.
In: Proc. of the 10th International Semantic Web
Conference (ISWC2011). (2011) 146-161
[6] Euzenat, J., Shvaiko, P.: Classifications of ontology matching techniques. In: Ontology matching. (2007) 61-72
[7] Fujino, T., Fukuta, N.: A SPARQL Query
Rewriting Approach on Heterogeneous Ontologies with Mapping Reliability. In: Proc. of the
IIAI International Conference on Advanced Applied Informatics (IIAI-AAI2012). (2012) 230235
[8] Fujino, T., Fukuta, N.: SPARQLoid - a querying
system using own ontology and ontology mappings with reliability. In: Proc. of the International Semantic Web Conference (Posters & Demos) (ISWC2012). (2012)
[9] Fujino, T., Fukuta, N.: Utilizing Weighted Ontology Mappings on Federated SPARQL Querying. In: Proc. of the 3rd Joint International
Semantic Technology Conference (JIST2013).
(2013)
[10] Jiménez-Ruiz, E., Grau, B, C.: LogMap: Logicbased and Scalable Ontology Matching. In: Proc.
of the 11th International Semantic Web Conference (ISWC 2011), Part I, LNCS 7031, pp.273288, 2011.
[14] Noguchi, H., Fujino, T., Fukuta, N.: On Implementing a SPARQLoid Query Coding Support –
Vocabulary Discovery for Queries with Weighted
Ontology Mappings. In: Proc. of the Linked Data
in Practice Workshop (LDPW2013). (2013)
[15] Noy, N. F.: In: Ontology mapping. In Steffen, S.,
Rudi, S., eds.: Handbook on Ontologies. (2009)
573-590
[16] Pan, J. Z.: Resource Description Framework. In
Steffen, S., Rudi, S., eds.: Handbook on Ontologies. (2009) 71-90
[17] Quilitz, B., Leser, U.: Querying distributed
RDF data sources with SPARQL. In: Proc.
of the 5th European SemanticWeb Conference
(ESWC2008). (2008) 524-538
[18] Rivero, C., Hernandez,I., Ruiz,D., and
Corchuelo, R.: Mosto: Generating SPARQL
Executable Mappings Between Ontologies. In:
Proc. of the 30th International Conference
on Conceptual Modeling Demos and Posters.
(2011).
[19] Rivero, C., Hernandez,I., Ruiz,D., and
Corchuelo, R.:
Generating SPARQL Executable Mappings to Integrate Ontologies. In:
Proc. of the 30th International Conference on
Conceptual Modeling. (2011) 118-131
[20] Seddiqui, M.H., Aono, M.: An efficient and scalable algorithm for segmented alignment of ontologies of arbitrary size. In: Web Semantics.
7(4). (2009) 344-356
03-06