Your SlideShare is downloading. ×
第7回 Linked Data 勉強会 @yayamamo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

第7回 Linked Data 勉強会 @yayamamo

7,652
views

Published on

2013年10月8日に開催された標記勉強会で使用したスライドです。オントロジーエディタprotégéの使い方について、簡単な例を用いて説明しています。内容は入門レベルです。

2013年10月8日に開催された標記勉強会で使用したスライドです。オントロジーエディタprotégéの使い方について、簡単な例を用いて説明しています。内容は入門レベルです。

Published in: Technology

2 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total Views
7,652
On Slideshare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
31
Comments
2
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. オントロジーエディタ protégéを使う 山本泰智 (@yayamamo) ライフサイエンス統合データベースセンター Rev. Ver. 20131017.0
  • 2. 今日のお題 Linked Dataを文字通り「繋ぐ」ために必要な仕組みを紹介 ウェブ上のデータを繋ぐ は共通語彙 それをここではオントロジーと呼び、オントロジーを作る 方法を紹介 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 3. 非常口 扉の属性として、「非常口」という文字か、「人の走り出 る絵」のどちらがより広く再利用され、共有され易いか 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 4. ウェブ上のデータ 様々な人々、組織が自由に作るデータ PMIDOWN STATDA DCOMLR IS VI DP TI PG LID AB - AD FAU AU FAU AU FAU AU FAU AU LA PT PT DEP - 21498548 NLM MEDLINE 20110418 20110902 20130630 1758-0463 (Electronic) 2011 2011 Allie: a database and a search service of abbreviations and long forms. bar013 10.1093/database/bar013 [doi] Many abbreviations are used in the literature especially in the life sciences, and polysemous abbreviations appear frequently, making it difficult to read and understand scientific papers that are outside of a reader's expertise. Thus, we ... constructed and updated weekly. Database URL: The Allie service is available at http://allie.dbcls.jp/. Database Center for Life Science, Bunkyo-ku, Tokyo, Japan. yy@dbcls.rois.ac.jp Yamamoto, Yasunori Yamamoto Y Yamaguchi, Atsuko Yamaguchi A Bono, Hidemasa Bono H Takagi, Toshihisa Takagi T eng Journal Article Research Support, Non-U.S. Gov't 20110415 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 5. 共通語彙: オントロジー データが表すものを分かり易く表現し データの再利用性を高め より効率の良い知識共有環境の実現へ 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 6. クラスや属性は大事 属性、プロパティ、単位、クラス、型などなど 例えば、数値 42 これは何を表すか? http:/ /en.wikipedia.org/wiki/File:Answer_to_Life.png 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 7. データの表現 山本泰智は42さい男性です。 (日本語、自然言語) 氏名 年齢 性別 山本泰智 42 男                   (表形式) ex:yayamamo foaf:age "42"^^rdfs:Literal ; (turtle, RDF) rdf:type foaf:Person ; foaf:gender "male"^^rdfs:Literal ; foaf:name "山本泰智"@ja .                  ※ 実在の人物とは関係ありません 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 8. 機械での処理もし易く 形式が同じでも表現する語彙がバラバラでは繋がりにくい 年齢? 歳? years old? age? y/o? 表現する語彙集=オントロジーを用意して皆で使うと嬉しい ウェブ上(=分散環境)でデータを交換するのに適したモデル としてRDFが作られた 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 9. protégé オープンソースのオントロジーエディタ スタンフォード大学で開発 データの属性に関する事項を編集するためのソフトウェア デスクトップアプリとウェブアプリの2本だて ウェブアプリは協調作業向け 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 10. http:/ /protege.stanford.edu/ 現時点での最新は Version 4.3.0 (Build 304) 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 11. 今日の例題 表ex 番号 名前 体重 (Kg) 身長 (m) 肥満度判定結果 BMI クラス YY 62 1.65 22.77 標準 002 A K 58 1.8 17.9 低体重 003 G P 90 1.7 31.14 肥満 001 BMIの計算について http:/ /www.cdc.gov/healthyweight/assessing/bmi/adult_bmi/index.html 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 12. の体重は xsd:decimal の身長は xsd:decimal BMI = メタボ傾向生物 体重 (kg) 身長 (m)2 の肥満度は 肥満度判定結果 のBMIは xsd:decimal の体重クラスは 人 犬 individual literal 体重クラス owl:Class 猫 owl:ObjectProperty owl:DatatypeProperty rdf:type 低体重 標準以上 rdfs:subClassOf 標準 肥満 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 13. 基本 モノやコトのクラスを表す概念は owl:Class 型 クラスの間の関係を示す概念は owl:ObjectProperty 型 モノやコトの属性を示す概念は owl:DatatypeProperty 型 ある個体 (individual) があるクラスに属するとき、rdf:type で関係を示す ex:yayamamo rdf:type foaf:Person . 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 14. 1 オントロジーの名 前(URI)をつける 例: http:/ /example.com/BMI/ 2 「Annotations」を選択 し、+をクリック 初期画面 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 15. オントロジーの概要を書く (ライセンス情報も) 日本語で書く場合、言語選択に日本語 を示す「ja」が無いので、直接書き込む 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 16. 「Classes」を選択 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 17. owl:Class 型の概念を定義 1 2 「Thing」を選択 してアクティブに  を選択してクラ スを定義 Name:に例えば「人」と入力すると下のURI:に自動的 に「http:/ /example.com/BMI/人」と表示される。 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 18. 2 1 クラスについて 記述する 4 3 「label」を選択し、「Value」 に分かり易い名前を書く それを記述する言 語の情報も併せて 第7回LinkedData勉強会 10/8 @ インフォコム 5 山本泰智
  • 19. クラスについて 記述する 「comment」の「Value」に はそのクラスについて説明を それを記述する言 語の情報も併せて 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 20. クラスについて 記述する 1 3 2 5 4 「人」クラスに属する個体は、その属性「の体 重は」について、丁度1つの10進数の値を持つ 6 第7回LinkedData勉強会 10/8 @ インフォコム 7 山本泰智
  • 21. クラスについて 記述する クラスに特定の個体(individual)のみ 属することを規定する場合、各個体 をカンマ区切りで列挙して{}で囲む 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 22. クラス名を変更する方法 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 23. owl:ObjectProperty 型の概念を定義 「Object Properties」 1 を選択 2 クラスと同様に名 前や説明を書く 3 プロパティの特徴 を選択 Functional: 対象となる個体が決まれば一 意に決まるプロパティであるか否か。 肥満度は、その人固有で、二つ以上は無 いので、Functionalなプロパティ。 4 プロパティの対象やそ の値が持つクラスを規定 Domains: 対象となる個体の属するクラス Ranges: プロパティの値が属するクラス 「の肥満度は」プロパティは「メタボ傾向生物」クラス、及びそのサ ブクラスの個体(「人」クラスも含まれる)が持てるプロパティで、そ の値は「肥満度判定結果」クラスに属する個体であることを規定。 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 24. owl:DatatypeProperty 型の概念を定義 「Data Properties」 を選択 「Object Properties」 と同様に 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 25. 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 26. bmi:人 rdf:type owl:Class ; 構築オントロジーの一部 rdfs:label "人" ; rdfs:subClassOf bmi:メタボ傾向生物 ; rdfs:comment "foaf:Personクラスと同等"@ja ; owl:disjointUnionOf ( bmi:犬 bmi:猫) . bmi:の体重クラスは rdf:type owl:FunctionalProperty ,   owl:ObjectProperty ; オントロジーを利用して、 例えば、入力フォームの生 成や内容のチェックも機械 的に行える。 rdfs:label "の体重クラスは"@ja ; rdfs:comment "BMIに基づく体重クラスを示すためのプロパティ。"@ja ; rdfs:range bmi:体重クラス ; rdfs:domain bmi:肥満度判定結果 . bmi:のBMIは rdf:type owl:DatatypeProperty ,   owl:FunctionalProperty ; rdfs:label "のBMIは"@ja ; rdfs:comment "主語に来る生物のBody Mass Index (BMI)を示すためのプロパティ。"@ja ; rdfs:domain bmi:肥満度判定結果 ; rdfs:range xsd:decimal . 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 27. オントロジーを使ってデータを表現 表ex 番号 名前 体重 (Kg) 身長 (m) 001 YY 62 1.65 肥満度判定結果 BMI クラス 22.77 標準 ex:001 rdf:type bmi:人 ; foaf:name "Y Y"^^rdfs:Literal ; bmi:の体重は "62"^^xsd:decimal ; bmi:の身長は "1.65"^^xsd:decimal ; bmi:の肥満度は _:b01 . _:b01 rdf:type bmi:肥満度判定結果 ; _:b01はブランクノー ドという。「肥満度 判定結果」クラスの 個体。 bmi:のBMIは "22.77"^^xsd:decimal ; bmi:の体重クラスは bmi:標準 . 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 28. グラフで表示 http:/ /www.kanzaki.com/works/2005/rap/graph-check 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 29. まとめ オントロジーも、それに従って記述されたデータも、同じ RDFとして表現される スキーマもデータも同じ形式で表現される SPARQLを使うことで横断的に検索できる 必ずしも予めオントロジーを知らなくても検索できる 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 30. オントロジーは使われてなんぼ 言語がそうであるように 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 31. 参考文献 http:/ /www.learningsparql.com/ http:/ /workingontologist.org/ http:/ /www.kanzaki.com/docs/sw/ 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 32. 参考文献 http:/ /www.w3.org/TR/owl-ref/ 日本語訳もあります。 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 33. よく使われる既存オントロジー rdf, The RDF Vocabulary (RDF) http:/ /www.w3.org/1999/02/22-rdf-syntax-ns# rdfs, The RDF Schema vocabulary (RDFS) http:/ /www.w3.org/2000/01/rdf-schema# owl, The OWL 2 Schema vocabulary (OWL 2) http:/ /www.w3.org/2002/07/owl# skos, Simple Knowledge Organization System (SKOS) Vocabulary http:/ /www.w3.org/2004/02/skos/core# foaf, Friend of a Friend (FOAF) vocabulary http:/ /xmlns.com/foaf/0.1/ dc, DCMI Metadata Terms in the /terms/ namespace http:/ /purl.org/dc/terms/ geo, WGS84 Geo Positioning: an RDF vocabulary http:/ /www.w3.org/2003/01/geo/wgs84_pos# 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 34. 既存オントロジー例 書誌情報 DCMI Metadata Terms http:/ /purl.org/dc/terms/ The Bibliographic Ontology http:/ /purl.org/ontology/bibo/ 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 35. 関係するオントロジーを見つける ググる ∼ ontology, ∼ vocabulary ( + owl, rdf ...) Linked Open Dataに関する統計情報を眺める http:/ /stats.lod2.eu/stats http:/ /stats.lod2.eu/vocabularies DBpediaなどの既存Linked Dataをハックする 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 36. セマンティックウェブの3原則 AAA (Anyone can say Anything about Any topic) Open World Nonunique Naming 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 37. クラスとインディビジュアル なんでもクラスにしてしまうと適切な推論が働かない :Poet :wrote :Poem . クラスとクラスの間の関係を記述しても意味が伝わらない 「詩人という集合が詩という集合を書いた。」??? 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 38. 詩を書く人は詩人 制限クラスを使う :Poet rdfs:subClassOf [a owl:Restriction; owl:onProperty :wrote; owl:someValuesFrom :Poem] . 逆に、詩人なら詩を書く、ともいえるので :Poet owl:equivalentClass [a owl:Restriction; owl:onProperty :wrote; owl:someValuesFrom :Poem] . 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 39. FOAF 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智
  • 40. FOAFクラス間の関係 第7回LinkedData勉強会 10/8 @ インフォコム 山本泰智