• 検索結果がありません。

QLoid は重み付きオントロジーマッピング [10] を利用 するクエリを生成するために 既存の SPARQL の文法 を拡張したクエリ言語 および その変換エンジンのこ とを呼ぶ SPARQLoid では ユーザがマッピングの条 件を記述するために THRESHOLD 句や CRITERIA 句

N/A
N/A
Protected

Academic year: 2021

シェア "QLoid は重み付きオントロジーマッピング [10] を利用 するクエリを生成するために 既存の SPARQL の文法 を拡張したクエリ言語 および その変換エンジンのこ とを呼ぶ SPARQLoid では ユーザがマッピングの条 件を記述するために THRESHOLD 句や CRITERIA 句"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

人工知能学会研究会資料 SIG-SWO-038-13

オントロジーマッピングに基づく

SPARQL

クエリ記述支援シス

テムの拡張機構の試作

Toward to Extended Mechanism of Support System Writing

SPARQL Queries on Ontology Mappings

足立拓也

1

山田直希

1

野口宙毅

2

福田直樹

2

Takuya Adachi

1

Naoki Yamada

1

Hiroki Noguchi

2

Naoki Fukuta

2

1

静岡大学情報学部

1

Faculty of Informatics, Shizuoka University

2

静岡大学大学院情報学研究科

2

Graduate School of Informatics, Shizuoka University

Abstract: SPARQLoid is an extended query language that allows SPARQL users to utilize weigthed ontology mappings on the queries. Those queries are extended to specify reliability de-grees to limit unnecessary area of searches effectively when using ontology mappings. However, existing approach assumed that the users have a right ontology mapping as well as enough skills to adjust necessary parameters in the queries. Addionally, writing SPARQL queries detailed en-tities (URIs) is difficult not to know detailed ontologies. Also SPARQLoid is nessecary to unilize SPARQL endpoint on ontology mapping data. This paper presents our preliminary implemen-tation of SPARQLoid query coding support system that can utilize familiar vocabularies as well as term similarlities, and prepare the execution environment about execute SPARQL endpoint on mappings data. In this paper, we show our initial idea and preliminary mechanism to support writing such extended queries with ontology mappings.

1

はじめに

Linked Open Data(LOD)として公開されるデータ を検索するためのクエリ言語 SPARQL を通してデータ を取得できる SPARQL エンドポイントは,SPARQL エンドポイントの状態をモニタリングする SPARQL Endpoint Status1によると,2016 年 2 月 1 日現在で 545のエンドポイントのうち 241 のエンドポイントが 利用可能とされる.SPARQL において,クエリを記述 するためには,対象となるオントロジーに関する知識 を必要とする場合がある [2].クエリ記述者が対象で 使われるオントロジーに関する知識を理解していない 場合におけるクエリ記述を行えるようにするために, オントロジーマッピングに基づく SPARQL クエリを 行う手法として SPARQLoid[1, 2, 3] があり,マッピ ングを利用できるように拡張された SPARQL クエリ 連絡先: 静岡大学        静岡県浜松市城北 3-5-1        E-mail: cs13007@s.inf.shizuoka.ac.jp 1http://sparqles.ai.wu.ac.at を通常の SPARQL エンドポイント上で実行させる手 法が提案されている.SPARQLoid では,クエリを実 行するためには,マッピングデータの生成やマッピン グデータを格納した SPARQL エンドポイントの起動 が必要な場合がある.また,拡張された SPARQL ク エリである SPARQLoid クエリを記述することは,記 述が SPARQL クエリより複雑になる部分があり,初 めて SPARQL を知った人や SPARQL を利用する人に とって,それらの拡張構文の記述のみならず,適切な語 彙の選択にも何らかの支援があることが望ましいと考 える.本論文では,これらの課題に対して,SPARQL クエリの語彙・エンドポイント検索支援の手法である SuPARQooL[4, 5]を拡張し,その試作について述べる.

2

SPARQLoid

クエリ記述の難しさ

オントロジーマッピングに基いて SPARQL クエリ を行う手法として SPARQLoid[1, 2, 3]

(2)

がある.SPAR-QLoidは重み付きオントロジーマッピング [10] を利用 するクエリを生成するために,既存の SPARQL の文法 を拡張したクエリ言語,および,その変換エンジンのこ とを呼ぶ.SPARQLoid では,ユーザがマッピングの条 件を記述するために,THRESHOLD 句や CRITERIA 句,RANKING 句などが用意している.こうした句を 用いて,重み付きオントロジーマッピングの利用範囲 を指定し,ランキングの方法などを指定することが可 能である. 図 1 に SPARQLoid の起動例を示す.この例では, SPARQLoidは,Ubuntu14.04 を VirtualBox 上で起動 し,オントロジーマッピングを格納するエンドポイン トとクエリ対象のエンドポイントは,Ubuntu12.04 を VirtualBox上で起動し,そこで Fuseki0.2.5 を用いて 起動させている. 図 1: SPARQLoid の起動例. Listing 1に,SPARQLoid クエリの例を示す.このク エリは,source:TechnicalSession のインスタンスを取 得するものである.このとき,source:TechnicalSession に対するマッピング候補を検索を行っている.オントロ ジーマッピングに基づく SPARQL クエリである SPAR-QLoidクエリでは,拡張された SPARQL クエリを記 述可能である.これらの拡張されたクエリは新しい構 文を含んでおり,マッピングの重みを加味してクエリ の動作を調節することができる一方で,対象となるオ ントロジーやマッピングの特性に関する知識が必要と なる. PREFIX r d f :< h t t p : / /www. w3 . o r g /1999/02/22− rdf − s y n t a x−ns#> PREFIX s o u r c e :< h t t p : / / example / s o u r c e O n t o l o g y /> SELECT ? s e s s i o n WHERE{ ? s e s s i o n r d f : t y p e s o u r c e : T e c h n i c a l S e s s i o n . THRESHOLD { s o u r c e : T e c h n i c a l S e s s i o n >= 0 . 0 } CRITERIA ? c { s o u r c e : T e c h n i c a l S e s s i o n ∗ 100 } RANKING ? s c o r e { ? c } } Listing 1: SPARQLoidクエリの例

3

SPARQL

クエリ記述支援システ

ムの拡張機構

SPARQLクエリの語彙・エンドポイント検索支援の手 法として SuPARQooL[4, 5] がある.SuPARQooL(SUP-port system for spARql Query cOding with Ontol-ogy mapping on sparqLoid)は,語彙発見手法を用い て WOM(weighted ontology mapping)[10] に基づく SPARQLクエリ支援を実現するための種々の機構を実 装している.ユーザが概念やプロパティの代わりにキー ワードを入力した SPARQL もしくは SPARQLoid ク エリを記述すると,キーワードに対応する URI 候補を 提示する.対応 URI の検索の記述としてレーベンシュ タイン距離を用いられており,ユーザは順位付けされ た URI から,クエリに適している URI を選択するこ とで,クエリ中でキーワードとして記述した箇所で実 際に使用する URI を指定することができる.これによ り,対象オントロジーに関する詳細な知識を理解して いない場合でも,SPARQL クエリを記述することを可 能とする.本研究では前述した SuPARQooL の拡張を 行う.本研究で行うオントロジーマッピングに基づく SPARQLクエリ記述支援システムの拡張機構として, SPARQLoidクエリ記述支援機構,エンドポイント探 索機構,オンデマンドマッピング生成機構,および内 蔵マッピングデータエンドポイント管理機構が挙げら れる.

3.1

SPARQLoid

クエリ記述支援機構

SPARQLoidでは,オントロジーマッピングを利用 するために拡張された SPARQL クエリを記述する必 要がある.クエリ作成者は拡張された SPARQL クエリ を適切に記述するためにはマッピングの情報を確認で きることが必要であると考えられている.本機構では, クエリの中に用いられたエンティティに対するマッピ ングされたエンティティとマッピングで施された値を 提示する.また,Word2Vec[16]2を用いて,クエリの 中に用いられたエンティティに対する概念的類似性の 高いエンティティと類似度を提示する.

3.2

エンドポイント探索機構

SuPARQooLでは,クエリ中に含まれるキーワード に基づくエンドポイント推薦の仕組みがある.この仕 組みを拡張し,SPARQL クエリ実行可能なエンドポイ ントを探索することを可能にする.本研究ではこの機 構を拡張し,推薦を行うエンドポイントについての有 益性を,エンドポイントの可用性などの情報を得られ 2https://code.google.com/archive/p/word2vec/

(3)

るウェブサービス3上のデータを利用することで,探 索対象の絞り込みを可能とする.また,マッピングデー タやマッピングされたオントロジーが LOD としてエ ンドポイントに通じて広くアクセス可能になる状況で あれば,この機構を利用して,エンドポイントの探索 を行わせるという使い方も考えられる.

3.3

オンデマンドマッピング生成機構

オントロジーマッピングに基づく SPARQL クエリを 行う場合,マッピングデータを必要とする.本研究で はこれらのマッピングを生成するソフトウェアを組み 込み,拡張することによって,マッピング生成を一連の 流れとして行うことを可能にし,利用者がマッピング データを用意するという煩わしさを軽減できるように している.オントロジーの異種性を解決するための技 術として,オントロジーマッピングが挙げられる.異な るオントロジーのエンティティ間の関係や一致を発見 するプロセスであり,オントロジーマッピングを行うソ フトウェアが存在する.オントロジーマッピングを行う ソフトウェアとして LogMap[13, 14, 15] や Alignment API4などがある.LogMap は推論器として HermiT5 を採用しており,推論に基づく高性能なマッピング生 成を実現している.Alignment API は文字列の類似度 などに基いてマッピング生成を実現している.

3.4

マッピングデータエンドポイントの内蔵

SPARQLoidがオントロジーマッピングに基づく SPA-RQLクエリを発行するには 2 通りの方法があり,マッ ピングデータを外部のエンドポイントに格納しておき, クエリ実行時にそのマッピングを参照する方法を利用 することがある.現時点では,SPARQLoid が想定する 使用に従ったマッピングデータを格納したオープンな オントロジーマッピングデータエンドポイントがない ため,マッピングデータを格納したエンドポイントをど こかで起動させておく必要がある.マッピングデータを 格納したエンドポイントを起動させる方法は煩雑な場 合があり,また,SPARQL クエリを記述できる程度の スキルを持つユーザでも,そのユーザがマッピングデー タを格納したエンドポイントの起動の手順を知らない 場合がある.本機構では,SPARQL エンドポイントを スタンドアローンで起動させることができる Fuseki を 必要に応じてマッピングデータエンドポイントとして 起動できるようにしている.Fuseki は,オントロジー データが記述されているファイル (RDF, OWL) を指定 3http://sparqles.ai.wu.ac.at/ 4http://alignapi.gforge.inria.fr 5http://www.hermit-reasoner.com することにより,指定されたファイルのデータを格納 した SPARQL エンドポイントを起動できる.これらの 機構を 1 つのアプリケーションに内蔵させ,生成され たマッピングデータを格納した SPARQL エンドポイン トを SPARQLoid クエリ実行時に自動で起動させるこ とにより,クエリ実行時にマッピングデータ格納エン ドポイントを起動するわずらわしさを軽減できるよう にしている.

4

試作した拡張機構の動作

図 2 では,オントロジーマッピングを簡易的に生成 する機構の動作を示しており,オントロジーマッピン グを行うオントロジーデータである RDF データまた は OWL データが存在する絶対パスを指定する.2 つの オントロジーデータを指定後,それらのオントロジー に含まれる語彙間のマッピング生成を行う.マッピン グ生成のために,文字列の類似度に基づくマッピング を行う Alignment API を用いている. 図 2: オントロジー選択画面. 図 3 では,マッピング生成機構で生成したマッピン グを格納した SPARQL エンドポイントをスタンドア ローン環境で動作する fuseki6上で起動した例を示して いる. 図 3: Fuseki-server 実行画面. 図 4 に,SPARQL クエリのコーディングを行う際 の入力画面の例を示す.ここで入力可能クエリには, SuPARQooLの拡張表現である,”<<”と”>>”で囲ま れたキーワードの記述を含めることができる. 6https://jena.apache.org/documentation/serving data/

(4)

図 4: SPARQL クエリ記述画面例. Listing 2に”<<”と”>>”で囲まれたキーワードを含 んだクエリの例を提示する.このようなクエリに対し て,”<<”と”>>”で囲まれたキーワードの抽出が行わ れ,キーワードに対する URI が実行される. PRIFEX r d f :< h t t p : / /www. w3 . o r g /1999/02/22− rdf − s y n t a x−ns#> SELECT DISTINCT ? s e s s i o n WHERE{ ? s e s s i o n r d f : t y p e <<s e s s i o n >> } limit 100 Listing 2: キーワード記述を施したクエリの例 図 5 では,クエリ中に拡張表現として入力したキー ワードそれぞれに適する URI を選択する際の画面表示 例を示している.推薦するのに適した候補を順序付け するための評価値の計算には,キーワードを含んだク エリの実行などを行う場合もある. 図 5: キーワード補完. Listing 3に,キーワードとして”KEYOWORD”を含 んだ場合の評価クエリの例を示す.本試作システムは, このようなクエリを DBpedia のエンドポイントなどに 発行した後に,結果を取得している.得られた各 URI の末尾にくるスラッシュ以降の文字列について,指定 したキーワードである”KEYWORD”との距離をレー ベンシュタイン距離などにより計算し提示する.提示 された URI から補完する URI を選択すると,クエリ 中のキーワードがその URI によって置き換えられる. SELECT DISTINCT ? s WHERE { { ? s ?p ”KEYWORD”@en } UNION { ? s ? p ”KEYWORD” @ja } UNION { ? s ? p <h t t p : / / d b p e d i a . o r g / c l a s s / ”KEYWORD”> } UNION { ? s ? p <h t t p : / / d b p e d i a . o r g / i n s t a n c e / ”KEYWORD ”> } UNION { ? s ? p <h t t p : / / d b p e d i a . o r g / r e s o u r c e / ”KEYWORD ”> } UNION { ? s ? p <h t t p : / / d b p e d i a . o r g / o n t o l o g y / ”KEYWORD ”> } Listing 3: キーワードを含んだクエリの例 図 6 では,エンドポイント推薦を行う際の,動作の 様子を示している.キーワードと補完された URI は, クエリ中に拡張表現として入力した,それぞれに登録 されたエンドポイントに対して,その URI を含んだク エリを実行し,エンドポイントで得られた結果の要素 数などをもとにして評価値を提示する.また,登録さ れたエンドポイントを取得して,アクティブでないエ ンドポイントをできるだけ推薦しない仕組みようにし ている. 図 6: エンドポイント推薦画面例. 図 7 では,SPARQLoid クエリを記述する上で必要に なる可能性が高いマッピングの情報の提示を行う.クエ リの中で記述された URI を選択し,マッピングの情報 を検索することにより,マッピングされた URI とマッ ピングで付与された値を提示する.また,Word2Vec を 用いて,クエリの中で記述された URI を選択し,概念 的類似度が高い URI と類似度を提示する機構を試作し ている.

Listing 4では,クエリの中で記述された URI を”URI” として,選択された URI に対してマッピングされた URI とマッピング時に付与された値を求めるクエリの例を 提示する.マッピングデータは Alignment Format で 記述されていることを前提とし,ターゲットオントロ ジーへの該当するエンティティとマッピング時に付与 された値を抽出する.

(5)

図 7: SPARQLoid クエリ記述支援画面例 PREFIX a l i g n :< h t t p : / / knowledgeweb . s e m a n t i c w e b . o r g / h e t e r o g e n e i t y / a l i g n m e n t#> SELECT DISTINCT ? e n t i t y ? f l o a t WHERE{ ? s a l i g n : e n t i t y 2 ? e n t i t y . ? s a l i g n : e n t i t y 1 <”URI”> . ? s a l i g n : measure ? f l o a t } Listing 4: マッピングに関するクエリの例

5

議論

Word2Vecは語彙間の類似度を計算し,ベクトルに よって語彙間の意味的な関係を表現することができるプ ログラムである.その Word2Vec の仕組みを,SPARQL クエリの記述における支援に用いることを考える. Word2Vecはベクトルによって語彙間の意味的な関係 を表現することができる点から,語彙の加算・減算が可 能である.例えば,適切に構成されたベクトル表現に対 して king−man+woman という計算を行うと,queen といった語彙が類似度として上位にくるような計算が行 われる.このベクトル計算を利用して,クエリ中の語彙 の選択に補助が必要な箇所に対してベクトル計算を行 い,URI を補完する機構を実現することで,クエリ中の 特定の部分で使う語彙を,そのクエリの周囲の語彙との 関係性を考慮して推測するという支援の実現が考えられ る.例えば,Listing 5 で示されたクエリ中にある”UN-KNOWN”という不明な箇所に対して,クエリ中に記述 されている”http://casas.wsu.edu/owl/cose.owl#Surfa-ce”と”http://elite.polito.it/ontologies/dogont.owl#Tv” 及び”http://www.w3.org/2000/01/rdf-schema#label” を用いてベクトル計算を行う.表 1 に word2vec のベク トル計算の結果を示す. SELECT DISTINCT WHERE{

<h t t p : / / c a s a s . wsu . edu / owl / c o s e . owl#S u r f a c e > <h t t p : / /www . w3 . o r g /2000/01/ r d f−schema#

l a b e l > ? o1 .

”UNKNOWN” ? p2 ? o2 .

SERVISE<h t t p : / / 1 9 2 . 1 6 8 . 0 . 1 0 2 : 3 0 3 0 / dog / query >{ <h t t p : / / e l i t e . p o l i t o . i t / o n t o l o g i e s / d o g o n t . owl#Tv> <h t t p : / /www . w3 . o r g /2000/01/ r d f− schema#l a b e l > ? o3 . } } Listing 5: クエリ例 表 1: ベクトル計算の例 Word Distance http://casas.wsu.edu/owl/cose.owl #ClothesWasher 0.737154 http://casas.wsu.edu/owl/cose.owl #ElectricalToaste0^^ http://www.w3.org/2001/XMLSchema #integer 0.732600 http://casas.wsu.edu/owl/cose.owl #Oven 0.731950 http://casas.wsu.edu/owl/cose.owl #1icrowaveOven 0.729925 http://casas.wsu.edu/owl/cose.owl #Refrigerator 0.728692 http://casas.wsu.edu/owl/cose.owl #CookingRange 0.726758

6

おわりに

本アプリケーションと SPARQLoid を組み合わせる ことで,単体で実行環境を整えたオントロジーマッピ ングに基づく SPARQL クエリ実行アプリケーション を構成可能になると考えられる.これにより,アプリ ケーションとしてスタンドアローンで動作させた場合 でもマッピングに基づくクエリを発行可能にし,LOD の活用を容易とすることが考えられる.SPARQL クエ リの出力結果のビジュアライズとしては d3sparql[6] と いったソフトウェアライブラリも提案されてきており, これらを組み合わせて,クエリ記述者がクエリ内容の みでなく,その語彙やデータの使われ方を含めた理解 容易性を実現することは,今後の課題である.マッピ ング選択時に Word2Vec のような自然言語処理に由来 する単語間関係抽出手法を利用することは,クエリ記 述時の語彙選択を容易することで,オントロジー間に 複数の種類のマッピング関係があるような場合(これ を異種マッピングと呼ぶ)におけるクエリ記述支援に も役立つことが考えられる.異種マッピングデータに 基づくクエリ記述支援に関しては,今後の課題である.

(6)

謝辞

本研究の一部は,JST CREST の支援を受けたもの である.

参考文献

[1] Fujino, T., Fukuta N.: A SPARQL Query Rewriting Approach on Heterogeneous Ontolo-gies with Mapping Reliability, In: Proc. of the IIAI International Conference on e-Services and Knowledge Management (IIAI-ESKM2012), pp. 230-235, 2012

[2] Fujino, T., Fukuta, N.: SPARQLoid - a Query-ing System usQuery-ing Own Ontology and Ontology Mappings with Reliability, In: Proc. of the 11th International Semantic Web Conference (Posters & Demos) (ISWC2012), 2012

[3] Fujino, T., Fukuta, N.: Utilizing Weighted On-tology Mappings on Federated SPARQL Query-ing, In: Proc. of the 3rd Joint International Se-mantic Technology Conference (JIST2013), 2013 [4] Noguchi Hiroki., Fukuta Naoki.: On Implement-ing a SPARQLoid Query CodImplement-ing Support Vocab-ulary Discovery for Queries with Weighted On-tology Mappings, In: Proc. International Work-shop on Linked Data in Practice (LDPW2013), pp.33–38, 2013.

[5] H. Noguchi, T.Fujino, and N. Fukuta.: ”On Im-plementing SPARQLoid and its Query Coding Support Framework – Querying with Weighted Ontology Mappings”, Proc. The 3rd Joint International Semantic Technology Conference (JIST2013), 2013.(demonstration)

[6] 片山 俊明.: JavaScript による SPARQL 検索結果 可視化ライブラリ, 第 29 回人工知能学会全国大会 (JSAI2015), 2015.

[7] Atsuko Y., Kouji K., Kai L., Hongyan W., Norio K.: An Intelligent SPARQL Query Builder for Exploration of Various Life-science Databases, The 3rd International Workshop on Intelligent Exploration of Semantic Data (IESD 2014) co-located with the 13th International Semantic Web Conference (ISWC 2014), 2014.

[8] Norio K., Kai L., Hongyan W., Kouji K., At-suko Y.: Prototype implementation of SPARQL Builder for Life-science Databases by intelligent schema analysis on RDF datasets, International Workshop on Semantic Web Applications and Tools for the Life Sciences (SWAT4LS 2014), 2014.

[9] Atuko Y., Katsuhiko O., Norio K., Kouji K., Sadahiro K., Kai L., Tomoe N., Hongyan W., Yasunori Y., Hideki H.: RDF-Based Integration with SPARQL Building System for Life Science Database Archive, 8th International Workshop on Semantic Web Applications and Tools for the Life Sciences (SWAT4LS 2015), 2015.

[10] Atencia M., Borgida A., Euzenat J., Ghidini C., Serafini L.: A Formal Semantics for Weighted Ontology Mappings, In: Proc. of the 11th Inter-national Semantic Web Conference (ISWC2012), 2012.

[11] Pan, J. Z.: Resource Description Framework. In Steffen, S., Rudi, S., eds.: Handbook on Ontolo-gies. (2009) 71-90

[12] Auer, S., Bizer, C., Kobilarov, G., Lehmann, J., Cyganiak, R., Ives, Z.G.: DBpedia: A Nu-cleus for a Web of Open Data. In: Proc. of the 6th International Semantic Web Conference (ISWC2007). (2007) 722-735

[13] Ernesto, R., Bernardo, G., Yujiao Z., Ian H.: Large-scale Interactive Ontology Matching: Al-gorithms and Implementation, In the 20th Euro-pean Conference on Artificial Intelligence (ECAI 2012), 2012.

[14] Ernesto, R., Bernardo, G.: LogMap: Logic-based and Scalable Ontology Matching, In the 10th International Semantic Web Confernece (ISWC 2011), 2011.

[15] Ernesto, R., Christian M., Bernardo, G., Ian H.: Evaluating Mapping Repair Systems with Large Biomedical Ontologies, In 26th Inter-national Workshop on Description Logics (DL 2013), 2013.

[16] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean.: Distributed Repre-sentations of Words and Phrases and their Com-positionality. In Proceedings of NIPS, 2013.

参照

関連したドキュメント

ているためである。 このことを説明するため、 【図 1-1-8】に一般的なソフトウェア・システム開発プロセス を示した。なお、

して活動する権能を受ける能力を与えることはできるが︑それを行使する権利を与えることはできない︒連邦政府の

過交通を制限することや.そのためのゲートを設 置することは,日本において不可能となっている [竹井2005: 91】。

商標または製品の権利を主張する事業体を表すためにその他の商標および社名が使用され

外声の前述した譜諺的なパセージをより効果的 に表出せんがための考えによるものと解釈でき

2Tは、、王人公のイメージをより鮮明にするため、視点をそこ C木の棒を杖にして、とぼと

従って、こ こでは「嬉 しい」と「 楽しい」の 間にも差が あると考え られる。こ のような差 は語を区別 するために 決しておざ

ASTM E2500-07 ISPE は、2005 年初頭、FDA から奨励され、設備や施設が意図された使用に適しているこ