セマンティック・ウェブのためのRDF/OWL入門 読書会 -3章-
Upcoming SlideShare
Loading in...5
×
 

セマンティック・ウェブのためのRDF/OWL入門 読書会 -3章-

on

  • 80 views

 

Statistics

Views

Total Views
80
Views on SlideShare
78
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    セマンティック・ウェブのためのRDF/OWL入門 読書会 -3章- セマンティック・ウェブのためのRDF/OWL入門 読書会 -3章- Presentation Transcript

    • セマンティック・ウェブのための RDF/OWL入門 読書会 3章 RDFの構文
    • アジェンダ  RDFが使われている例  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    •  RDFが使われている例  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    •  RSS1.0 RDFが使われている例 http://www.kanzaki.com/docs/sw/rss.html
    •  アプリケーションで使用される例  DSpace : http://repository.dl.itc.u-tokyo.ac.jp/dspace/  Hundle Server : http://www.handle.net/  OAI-PMH : http://repository.dl.itc.u-tokyo.ac.jp/dspace- oai/request?verb=ListRecords&metadataPrefix=oai_dc&from=2014-07-01 RDFが実際に使われている例 Hundleサーバ データプロバイダ Other App サービスプロバイダ サービスプロバイダ ユーザ OAI-PMH ハーベスティング URIの永続化 Other App
    •  RDFが実際に使われている例  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • RDFトリプルのXML表現 ノード要素とプロパティ要素  主語、目的語 → ノード要素  ノード要素は rdf:Descriptionを用いて表す  述語 → プロパティ要素  プロパティ要素は名前空間接頭辞+ローカル名の組み合わ せで表す
    • RDFトリプルのXML表現 ノード要素とプロパティ要素 ■ RDF/XML <rdf:Description> <ex:hasHomepage> <rdf:Description> </rdf:Description> </ex:hasHomepage> </rdf:Description> 「ex: 」 仮想語彙 RDF/XML : http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ rdf:XXXはRDFの記法
    • RDFトリプルのXML表現 ノード要素とプロパティ要素 ■ RDF/XML <rdf:Description> <ex:hasHomepage> <rdf:Description> </rdf:Description> </ex:hasHomepage> </rdf:Description> 「ex: 」 仮想語彙 RDF/XML : http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ rdf:XXXはRDFの記法
    • RDFトリプルのXML表現 ノード要素とプロパティ要素 ■ RDF/XML <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:hasHomepage> <rdf:Description rdf:about="http://mettoboshi.com"> </rdf:Description> </ex:hasHomepage> </rdf:Description> →縞模様を形成しているのでストライピングと呼ばれることがある urn:pin:mett oboshi http://metto boshi.com ex:hasHomepage
    • RDFトリプルのXML表現 リテラルノード  目的語がリテラル  プロパティ要素の中に直接リテラル文字列を記述する urn:pin:mett oboshi ex:name 藤田 泰生 ■ RDF/XML <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:name>藤田 泰生</ex:name> </rdf:Description>
    • RDFトリプルのXML表現 複数のトリプルからなるグラフのXML表現 urn:pin:mett oboshi http://metto boshi.com ex:hasHomepage ex:name 藤田 泰生 ■ RDF/XML <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:name>藤田 泰生</ex:name> <ex:hasHomepage> <rdf:Description rdf:about="http://mettoboshi.com> </rdf:Description> </ex:hasHomepage> </rdf:Description>
    •  XMLを入れ子にすることで目的語を別のトリプルの主語にするようなグラフを書くことも可能 ■ RDF/XML <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:hasHomepage> <rdf:Description rdf:about="http://www.mettoboshi.com> <ex:updateInfo> <rdf:Description rdf:about="http://www.mettoboshi.com/whatnew.html"> </rdf:Description> </ex:updateInfo> </rdf:Description> </ex:hasHomepage> </rdf:Description> urn:pin:mett oboshi http://metto boshi.com ex:hasHomepage http://mettob oshi.com/wha tnew.html ex:updateInfo RDFトリプルのXML表現 複数のトリプルからなるグラフのXML表現
    • RDFトリプルのXML表現 RDF/XML文書  RDF書くだけならXMLじゃなくても良い(XMLが一番使われている)  例)http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/rdf-primer.html#rdfmodel  XMLを使う場合は  rdf:RDF要素を用意し、全てのグラフを内包させる。  rdf:RDFの記載内容は  MIMEタイプは"application/rdf+xml“  (例)http://mettoboshi.com/feed  rdf:RDF要素は省略可能だが、アプリケーションによってはrdf:RDF要素があること を期待していることもあり得るので、できるだけ省略しないほうがよい
    •  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • 空プロパティ要素とプロパティ属性 目的語ノード要素の省略 ■ RDF/XML (省略前) <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:hasHomepage> <rdf:Description rdf:about="http://www.mettoboshi.com> </rdf:Description> </ex:hasHomepage> </rdf:Description> (省略後) <rdf:Description rdf:about="urn:pin:mettoboshi"> <ex:hasHomepage rdf:resource="http://www.example.com" /> </rdf:Description> rdf:resourceとして表 現 閉じタグの省略
    • 空プロパティ要素とプロパティ属性 プロパティ属性によるリテラルノード省略表記 ■ RDF/XML (省略前) <rdf:Description rdf:about="urn:pin:MK705"> <ex:name>mettoboshi</ex:name> </rdf:Description> (省略後) <rdf:Description rdf:about="urn:pin:MK705" ex:name="mettoboshi" /> rdf:Descriptionの属性 として表現 閉じタグの省略  目的語がリテラルの場合、プロパティを主語ノード要素の属性とし、目的語をその 属性値として記述可能  複数のプロパティのリテラル目的語を属性として列挙することが可能  同じプロパティを複数記述することは不可能  メタデータをXHTMLに埋め込みたいが、メタデータはブラウザで表示させたくない 場合などに利用可能  省略をすればするほど、XMLからグラフが直感的にはわからなくなるので注意
    •  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • URI参照とノードの識別 相対URIによる識別 ■ RDF/XML (rdf:ID) - http://example.com/music/beethoven <rdf:Description rdf:ID=“opus125"> <ex:note>この作品は…</ex:note> </rdf:Description> (about表記) <rdf:Description rdf:about=“http://example.org/music/beethoven#opus125"> <ex:note>この作品は…</ex:note> </rdf:Description>  属性はID重複してはいけない  属性の名前付けは’#’とrdf:ID属性値の組み合わせで参照可能 RDF/XMLのある場所が、 http://example.com/music/beethoven ならば同じ意味に。
    • URI参照とノードの識別 相対URIによる識別 ■ RDF/XML - http://example.com/music/beethoven <rdf:Description rdf:ID=“opus125"> <ex:note>この作品は…</ex:note> </rdf:Description> - http://example.com/music/beethoven2 <rdf:RDF xml:base=“http://example.org/music/beetoven” > <rdf:Description> <ex:composedWork rdf:ID“opus125” /> </rdf:Description> </rdf:RDF> - http://music.example.com/music/beethoven <rdf: Description rdf:about=“http://example.org/music/beetoven#opus125” すべて同じURIを表しているすべて同じURIを表している すべて同じURIを表している →リソースについては複数の場所で 独立して記述可能
    • URI参照とノードの識別 空白ノードの識別 ■ RDF/XML <rdf:Description rdf:about=“http://mettoboshi.com"> <ex:creator rdf:nodeID=“p1”> </rdf:Description> <rdf:Description rdf:nodeID=“p1”> <ex:name>藤田 泰生</ex:name> <ex:email>”mailto:mettoboshi@mettoboshi.com”</ex:email> </rdf:Description> http://metto boshi.com ex:creator mailto:metto boshi@mett oboshi.com _:p1 藤田 泰生ex:name ex:email 「_:」はN-Triplesの空白ノード記述法
    •  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • 特別なリテラルノード 言語タグを示す属性 ■ RDF/XML 言語タグの記法 <ex:title xml:lang=“de”>Sinfonie Nr.9</ex:title> <ex:title xml:lang=“ja”>交響曲第9番</ex:title> 属性内で言語を変える方法 <rdf:RDF ... xml:lang=“ja”> ... <rdf:Description rdf:ID=“opus125”> <ex:title>交響曲第9番</ex:title> <ex:title xml:lang=“de”>Sinfonie Nr.9</ex:title> </rdf:Description> ... </rdf:RDF>
    • 特別なリテラルノード データ型を示す属性 ■ RDF/XML <ex:composed rdf:datatype=“http://www.w3.org/2001/XMLSchema#gYear”> 1824 </ex:composed>  RDFのデータ型はXMLスキーマで定義されている基本データ型を用いる  rdf:datatypeの属性値に修飾名が使えないため、URI全体を記述する必要がある <!DOCTYPE rdf:RDF [ <!ENTITY xsd “http://www.w3.org/2001/XMLSchema#”> ]> <ex:composed rdf:datatype=“&xsd;#gYear”>1824</ex:composed>  名前空間URI部分を実体として定義しておき、属性の中で実体参照する方法が用いら れる  resourceなどで繰り返し登場するURIにも利用可能
    • 特別なリテラルノード XMLリテラルを示す属性  XMLタグをそのまま含んだ文字列  グラフとして解析する必要のないXMLを記述する際に使用 ■ RDF/XML <rdf:Description> <ex:name rdf:parseType=“Literal” xmlns”http://www.w3.org/1999/xhtml”> <ruby lang=“ja”> <rb>藤田泰生</rb><rp>(</rp><rt>ふじたやすお</rt><rp>)</rp> </ruby> </ex:name> </rdf:Description>
    •  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • RDFと既存のXML文書 リソースのタイプと型付ノード  RDFを意識していない通常のXMLの仕組みに大きく手を加えることなく RDFとして処理する方法として使える ■ XML <a:product> <a:name>名前</a:name> <a:price>100円</a:price> </a:product> ■ RDF/XML <rdf:Description> <rdf:type rdf:resource=“http://example.com/business#product”> <a:name>名前</a:name> <a:price>100円</a:price> </rdf:Description> a:product 名前 100円 a:name a:price rdf:type
    • RDFと既存のXML文書 空白ノードの省略 ■ RDF/XML (省略前) <rdf:Description rdf:about=“http://mettoboshi.com"> <ex:creator> <rdf:Description > <ex:name>藤田 泰生</ex:name> <ex:email>”mailto:mettoboshi@mettoboshi.com”</ex:email> </rdf:Description> </ex:creator> </rdf:Description> (省略後) <rdf:Description rdf:about=“http://mettoboshi.com"> <ex:creator rdf:parseType=“Resource”> <ex:name>藤田 泰生</ex:name> <ex:email>”mailto:mettoboshi@mettoboshi.com”</ex:email> </ex:creator> </rdf:Description> rdf:parseType=“Resource”を使うこと で空白ノードを省略可能
    •  RDFトリプルのXML表現  空プロパティ要素とプロパティ属性  URI参照とノードの識別  特別なリテラルノード  RDFと既存のXML文書  RDFのさまざまな構文
    • RDFのさまざまな構文 RDF/XMLの利点と難点  利点  XML用のツールが利用可能  XMLベースのシステムと相互運用しやすい  XHTMLと同じタグなのでなじみがある  難点  省略構文などが複雑  タグ量が多くなるので見通しが悪い もっと直接的にトリプルを表現できる構文も存在。
    • RDFのさまざまな構文 N-Triples  主語、述語、目的語のURLを<>で囲んで記述し、その順 番に並べるだけ <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> . <http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" . <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/language> "en“ .  空白のノードは、 _:p1のように記載する <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> _:p1 . :p1 xxx :p1 xxx  リテラルは’@’  データ型は’^^’で記載
    • RDFのさまざまな構文 N3とTurtle  Nortation 3 (N3)は最初に名前空間接頭辞を宣言するこ とで、修飾名が使用できる  同じ主語を持つプロパティは主語を省略して’;’でまとめら れる  同じプロパティを繰り返して複数の値を記述する場合は プロパティを’,’でつなぐことも可能  空白のノードを主語とするトリプルは全体を’[ ]’で囲むこ とで主語を省略可能  Turtleは、N-Triplesの構文をもとにN3の書式を加えたものな ので、RDFを簡潔に記述するための新しい構文として提案さ れている
    • RDFのさまざまな構文 トリプルを直接XMLで表すRXR  RDF/XMLは構文に多様なバリエーションがある  1つのグラフには1つのXMLが定まる構文を求める声もある  正規化された構文が考案される  RXRはその中の1つ  主語:subject  述語:predicate  目的語:object要素で表される  名前がURIである時はuriが属性値に。リテラルは要素内容と して記述。  空白ノードはuriの代わりにblank属性を使用
    • 参考資料  セマンティック・ウェブのためのRDF/OWL入門  RDF入門  http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/rdf-primer.html  RDF/XML Syntax Specification  http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/