LinkedOpenData
Linked Open Data の普及 Web 上で公開され, 相互に連結し合っている RDF データ これまで多く研究されてきた抽象的な概念構造が現実的な有用性を生むには依然高いハードルがある 具体物であるインスタンスの記述をした RDF(Linked Open Data) のデータベースを公開 共有し合うべきという風潮が高まっている 2007 年 5 月 2008 年 5 月 2011 年 9 月
Linked Data Cloud メディア ユーザー生成コンテンツ 政府 出版物 地理 クロスドメイン 生命科学 295 のデータセット 310 億を超えるトリプル
DBpedia http://www.dbpedia.org Wikipedia の Infobox を利用し 大規模な DB を構築 LOD において ハブとして広く利用されている
GeoNames http://www.geonames.org 世界中の地理情報に関する大規模 DB
NewYorkTimes http://data.nytimes.com NewYorkTimes 誌の人 組織 土地等の情報を RDF 化
UniProt http://www.uniprot.org タンパク質の配列と機能に関する情報を集めた大規模 DB
DATA.GOV.UK http://data.gov.uk 英国政府による政府情報のオープン化のための大規模 DB
SPARQL RDF クエリ言語 接頭辞指定 クエリ PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX psys:<http://proton.semanticweb.org/protonsys#> PREFIX test:<http://www.keio.ac.jp/test/> PREFIX owl:<http://www.w3.org/2002/07/owl#> PREFIX xsd:<http://www.w3.org/2001/xmlschema#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX pext:<http://proton.semanticweb.org/protonext#> SELECT?website WHERE {?website <http://www.keio.ac.jp/test/title> 'Yamaguchi Laboratory, Keio University' } SELECT 取得したい変数名 WHERE 変数を含んだトリプル
LinkedOpenData 演習 ~OWLIM~
OWLIM の利用 リポジトリの作成 (1) リポジトリの作成左上の New Repository を選択
OWLIM の利用 リポジトリの作成 (2) 以下を入力し Next を押す Type : OWLIM-Lite ID : 任意 (lod-test1) Title : 任意 (Liinked Data Test)
OWLIM の利用 リポジトリの作成 (2) Base URL を http://www.keio.ac.jp/test/ に変更その他はデフォルトで問題ありませんが例えば C ドライブ以下に owlimtest フォルダを作成し そこにデータを格納する場合 Storage folder を C://owlimtest に変更
OWLIM の利用 データの格納 (1) リポジトリが先ほど作成したものになっていることを確認したら Add を選択
OWLIM の利用 データの格納 (2) BaseURL は http://www.keio.ac.jp/test/ test.rdf をダウンロードしている場合は Select to file から test.rdf ファイルを選択する. ダウンロードしていない場合は Enter the RDF から次ページの RDF を入力する.
test.rdf <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:test="http://www.keio.ac.jp/test/"> <rdf:description rdf:about="http://www.yamaguti.comp.ae.keio.ac.jp/"> <test:title>yamaguchi Laboratory, Keio University</test:title> <test:author>yamaguchi Laboratory</test:author> </rdf:description> </rdf:rdf>
OWLIM の利用 入力データの確認 (1) リポジトリが先ほど作成したものになっていることを確認したら Contexts ->file:// を選択
OWLIM の利用 入力データの確認 (2) 先ほどの RDF が確認できます
OWLIM の利用 SPARQL クエリ (1) リポジトリが先ほど作成したものになっていることを確認したら Query から SPARQL を選択し次ページのクエリを入力
SPARQL クエリ PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX psys:<http://proton.semanticweb.org/protonsys#> PREFIX test:<http://www.keio.ac.jp/test/> PREFIX owl:<http://www.w3.org/2002/07/owl#> PREFIX xsd:<http://www.w3.org/2001/xmlschema#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX pext:<http://proton.semanticweb.org/protonext#> SELECT?website WHERE {?website <http://www.keio.ac.jp/test/title> 'Yamaguchi Laboratory, Keio University' } 赤で囲った部分以外は初期で入力されています. このクエリはあるインスタンスのうち プロパティが title の値が Yamaguchi Laboratory, Keio University となるものを呼び出すクエリです.
OWLIM の利用 SPARQL クエリ (2) 成功していれば以下のようなクエリ結果が返ってきます
Protégé からのデータ利用
Protégé で以下のデータを作成 ベースとなる名前空間 URI: http://www.yamaguti.ae.keio.ac.jp/tutorial2# クラス : University People(Student Professor) Place インスタンス (University) : Keio University Waseda University インスタンス (Place) : Hiyoshi Mita Tokorozawa Waseda Yagami インスタンス (Student) : 適宜インスタンス (Professor) : Yamaguti Iijima 等適宜プロパティ : 通う (commute) キャンパスがある (hascampus) インスタンスとプロパティを使って関係を定義
RDF/XML 形式で保存 File > Save project as Language : RDF/XML ファイル名を sample2.rdf にして保存
OWLIM で新規リポジトリの作成 New repository Type : OWLIM-Lite ID : lod-test2 Title : Linked Data Test (lod-test2) Storage : 任意 (C://owlimtest2) Base URL : http://www.yamaguti.ae.keio.ac.jp/tutorial2 その他 : デフォルト
リポジトリにデータを入力 先ほど作成した sample2.rdf をリポジトリに格納する Add Select the file を選択 RDF Data File : sample2.rdf Base URI : http://www.yamaguti.ae.keio.ac.jp/tutorial2 Context : <f://sample2.rdf>
SPARQL クエリの実行 以下のクエリを実行 PREFIX :<http://www.yamaguti.ae.keio.ac.jp/tutorial2#> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX swrl:<http://www.w3.org/2003/11/swrl#> PREFIX psys:<http://proton.semanticweb.org/protonsys#> PREFIX protege:<http://protege.stanford.edu/plugins/owl/protege#> PREFIX xsp:<http://www.owl-ontologies.com/2005/08/07/xsp.owl#> PREFIX owl:<http://www.w3.org/2002/07/owl#> PREFIX xsd:<http://www.w3.org/2001/xmlschema#> PREFIX swrlb:<http://www.w3.org/2003/11/swrlb#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX pext:<http://proton.semanticweb.org/protonext#> SELECT?student WHERE {?student rdf:type :Student. } rdf:type が Student となるインスタンスを出力