セマンティックHTML? KISS!
- Keep It Simple, Stupid
- ウェブリソースの型と関係
- データの意味の共有
- RDF made easy (KISSその1)
- RDFa:RDFをHTMLに埋め込むための構文
- セマンティックHTMLといえば…
- 文書メタデータとRDFa
- body要素内の文書メタデータ
- RDF made easy (KISSその2)
- 文書内に含まれるデータ
- 文脈を利用した記述
- RDF made easy (KISSその3)
- RDFaを応用してみる
- W3CニュースのRSSマーク付け
- W3Cニュース素材
- W3Cニュース素材(マーク付け結果)
- 自己紹介ページのFOAFマーク付け
- 自己紹介セクションの素材
- 自己紹介セクションの素材(FOAFマーク付け結果)
- 自己紹介セクションの素材(RDF vCardマーク付け結果)
- 商品情報とGoogle語彙
- 商品情報素材
- 商品情報素材(マーク付け結果)
- テンプレート作成 (1)
- テンプレート作成 (2)
- 補足1:Google語彙
- 補足2:HTML5のマイクロデータ
- マイクロデータとRDF
- 連鎖と定義済みプロパティ
- 参照先
Keep It Simple, Stupid
- ウェブの文書とデータ
- 人間が読むためのウェブ文書にはさまざまな情報が詰まっている
- コンピュータ(エージェント/処理ソフト)はHTMLから文書構造の大枠を把握して提示できるが、内容(データの意味)は基本的に関知しない
- コンピュータ処理用のデータは別途用意する?
- 両方まとめて、シンプルにしよう!
- HTML文書中のデータをコンピュータ処理も可能にする
- HTMLのシンプルさを生かすことが大切
- しかしコンピュータにとっても明快でシンプルであること
- だからセマンティックHTML
ウェブリソースの型と関係
- ウェブ文書中のデータを明示するためには
- 文脈によらない識別(名前付け):何が同じで何が異なるかを明確にする
- データはどんなタイプ(型)か:文書について? あるいは文中の映画について?
- データどうしの関係:この日付は映画の封切り日? 映画を観た日?
- ウェブ文書での型と関係の表現
- 1989年のバーナーズ・リーの提案に、すでにノードの型と関係の記述が含まれていた
- HTMLは単純なリンクのみで出発 → 普及に貢献
- 実は
rel
属性はHTML 1.0(インターネットドラフトのみ)から存在していた
データの意味の共有
RDF made easy (KISSその1)
- 「プロパティ―値ペア」の主語を明示した「トリプル」
- 多くのメタデータは、暗黙の主語について「プロパティ―値ペア」
- 電子メールのフィールド、自己紹介プロフィールなど
- 人間は文脈からメタデータの主語を理解できるが、コンピュータはそうはいかない
- 文書メタデータの主語は文書自身
- 文書内には、実世界のものごとについての記述が多数含まれる
- 多くのメタデータは、暗黙の主語について「プロパティ―値ペア」
- RDFトリプルはCSSのスタイル宣言と同じ
- 主語を毎度考えるのは煩わしい?
- しかし、CSSを書くときはいつでもセレクタで「主語」を明示
RDFa:RDFをHTMLに埋め込むための構文
- RDFをシンプルに表現するためには
- トリプルをシンプルに表現する方法
- HTML文書としてそのまま通用し、妥当性検証もできること
- 名前(URI)をシンプルに表現する方法
- 固有名(主語、目的語)はともかく、普通名詞(プロパティ、クラス)はシンプルに記述したい
- トリプルをシンプルに表現する方法
- HTMLの属性を利用したトリプル記述
- RDFaは、マイクロフォーマットと同様、HTML属性を利用して文書構造とデータを多重化表記する
- 既存の
rel
、rev
、href
、content
、src
を(拡張して)利用 - 新しい属性
property
、resource
、about
、typeof
、datatype
を導入
- URIのシンプルな記述Compact URI、略してCURIE
- CURIEは、URI文字列を2分割し、前半を接頭辞にマップする(後半は参照と呼ぶ)
- XML修飾名と同様、「
接頭辞:参照
」の形で記述する - XHTMLでは
xmlns
属性を借用して接頭辞を宣言する- HTMLでも
xmlns
属性を借用できる(代替方法も検討中)
- HTMLでも
セマンティックHTMLといえば…
- マイクロフォーマット
- もっともHTML作者寄りのKISS
- 特定データの表現には十分機能するが、応用がきかない
- GRDDL
- すでにローカルルールが存在する場合、それをそのまま生かせる
- 複雑なことをしようとすると、規則を把握しきれなくなる
- RDFaとの比較
μF GRDDL RDFa 名前付け ルートクラス内で判別 プロファイル経由 URI(CURIE) モデル 語彙ごとに専用 プロファイル経由でRDF 汎用RDF 構文 語彙ごとに定義 プロファイルごとに定義 汎用構文 語彙の混在 限定的 可能 自在 スケーラビリティ 低 中 高 作者にとって 簡単 プロファイル次第 やや難しい
文書メタデータとRDFa
- 暗黙の主語としての文書
- HTMLの
head
要素で記述するのは、文書を暗黙の主語としたメタデータ 要素型 関係 目的語 メタデータの種類 link要素 rel属性 href属性 URI(関係型メタデータ) meta要素 name属性 content属性 リテラル(属性型メタデータ)
- HTMLの
- RDFaでの記述
link
、meta
要素のメタデータ記述をそのまま利用。ただしname
属性は他の要素型では異なる意味を持つので、property
属性を導入- プロパティはCURIEを用いて記述する。このとき、XHTML定義済みの
rel
属性値は接頭辞無し(従来と同じ)で使える <link
rel
="copyright
" href="rights.html" /> <meta name="author"property
="ex:creator
" content="神崎正英" />copyright
はXHTML定義済みリンク型なので、そのまま記述できる
body要素内の文書メタデータ
- 読者に見える形での文書メタデータ
- 作者、更新日などは本文に記述して読者に直接知らせることが多い
rel
属性、property
属性はどんな要素にも記述可能<p> <span
property
="ex:author">神崎正英</span>著、 <spanproperty
="ex:date"content
="2009-07-04">2009年7月4日</span>作成 (<arel
="ex:history"href
="history.html">更新履歴</a>)。 </p>property
属性だけを用いれば、要素内容が目的語。content
属性を併用すると、content
属性値が目的語になるrel
属性で示したプロパティの目的語がハイパーリンク可能ならhref
属性で、そうでなければresource
属性で
RDF made easy (KISSその2)
- 接頭辞宣言が面倒?
- 確かに。でも、文書型宣言やXHTMLの名前空間宣言はどうしてる?
- よく使う接頭辞宣言をテンプレートに用意しておく
xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dct="http://purl.org/dc/terms/"
- 接頭辞宣言を補助してくれる賢いツールを使う(作って公開する!)
- いくつかの方法
- オール・イン・ワンの語彙を使って、接頭辞宣言を最小限にする
- たとえばGoogle語彙はよく使いそうなプロパティを一通りそろえている
- プロファイルで接頭辞をまとめて宣言して再利用(検討中。実現は未知数)
- オール・イン・ワンの語彙を使って、接頭辞宣言を最小限にする
文書内に含まれるデータ
- about属性で対象のURIを示す
<p
about
="urn:isbn:9784839931957">この書籍 『<citeproperty
="ex:title">セマンティックHTML/XHTML</cite>』 (<spanproperty
="ex:author">神崎正英</span>著)は…</p>
- typeof属性でデータの型を示す
<p
typeof
="foaf:Person"> <spanproperty
="foaf:name">神崎正英</span>です。…</p>typeof
属性があるとき、主語がabout
で明示されていなければ、空白ノードが生成される
文脈を利用した記述
- タグの入れ子を利用してグラフを連鎖させる
目的語O
を示す要素内に別のプロパティがあれば、Oを主語
と読み替えてさらにグラフを作る<p>仕様の詳細は <a
rel
="dct:relation" href="http://www.w3.org/TR/rdfa-syntax/
"> <spanproperty
="dct:title">RDFa in XHTML</span> </a> を参照してください。</p>
- 入れ子による空白ノードの生成
- プロパティが入れ子になってURIが与えられないときは、空白ノードを生成してグラフが連鎖される
<address
rel
="dct:creator"> <aproperty
="foaf:name"rel
="foaf:homepage" href="http://www.kanzaki.com/">神崎正英</a> </address>dct:creator
の目的語として空白ノードが生成され、ここから更にグラフが連結される
RDF made easy (KISSその3)
- 文書のURIと実世界のモノのURI
- 「
http://ja.wikipedia.org/wiki/東京タワー
」は文書のURI、<東京タワー>はその文書の主トピック - 「
http://www.kanzaki.com/
」は文書のURI、<神崎正英>はその文書をホームページとする人物 - この区別が明確でないと、分散データを集約するとき話が食い違う
- 同じURIで両方表現する方が一見シンプルだが、データ共有や再利用を考えると、区別しておく方がトータルでシンプル
- 「
- 文書URIを利用した間接識別
- 実世界のモノにURIがないときは、文書URIを使って間接的に識別できる。
<p
rel="foaf:topic"
>今日は <arel="foaf:isPrimaryTopicOf"
href="http://ja.wikipedia.org/wiki/東京タワー">東京タワー</a> に登った。… </p>- ※段落の中に
a
要素が複数あるときは違うモデルを生成する恐れがあるので、span
要素などで囲んでrel="foaf:topic"
としておく方が安全
- ※段落の中に
RDFaを応用してみる
W3CニュースのRSSマーク付け
- 方針
- ニュースの
div
要素をrss:item
型のリソースに - ニュース見出し要素を
rss:title
プロパティに - ニュース日付を
dc:date
プロパティに - ニュース本文を
rss:description
プロパティに
- ニュースの
- 必要な接頭辞宣言
xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"
- 注意点など
property
属性を設定した要素内に文字列以外のマーク付け(子要素)がある場合、datatype=""
を併記しないとマーク付けも含む目的語(XMLリテラル)となってしまう- 祖先要素で
xml:lang
が設定されている場合、日付についてはxml:lang=""
などとしないと、言語タグつきの日付になってしまう - 応用として、本文を
rss:description
とする代わりに、関連文書へのリンクにdc:relation
プロパティを与えて、データをリンクさせてみる
W3Cニュース素材
- 2009年6月18日付のニュース
<div id="item109" class="item"> <h3> <img alt="" width="17" height="11" src="/Icons/right" /> First Drafts of Widgets 1.0: Access Requests Policy; URI Scheme </h3> <p> <span class="date">2009-06-18:</span> The <a href="/2008/webapps/">Web Applications Working Group</a> has published ... <a href="/TR/2009/WD-widgets-access-20090618/"> Widgets 1.0: Access Requests Policy</a> and <a href="/TR/2009/WD-widgets-uri-20090618/"> Widgets 1.0: URI Scheme</a>.... <span class="archive"> (<a title="First Drafts of Widgets 1.0..." href="/News/2009#item109" rel="details">Permalink</a>) </span> </p> </div>
W3Cニュース素材(マーク付け結果)
- 2009年6月18日付のニュース
<div id="item109" class="item"
typeof="rss:item" about="/News/2009#item109"
> <h3property="rss:title"
datatype=""
> <img alt="" width="17" height="11" src="/Icons/right" /> First Drafts of Widgets 1.0: Access Requests Policy; URI Scheme </h3> <p> <span class="date"property="dc:date"
>2009-06-18</span>: The <a href="/2008/webapps/">Web Applications Working Group</a> has published ... <a href="/TR/2009/WD-widgets-access-20090618/"rel="dc:relation"
><cite
Widgets 1.0: Access Requests Policyproperty="dc:title"
></cite>
</a> and <a href="/TR/2009/WD-widgets-uri-20090618/"rel="dc:relation"
><cite
Widgets 1.0: URI Schemeproperty="dc:title"
></cite>
</a>.... <span class="archive"> (<a title="First Drafts of Widgets 1.0..." href="/News/2009#item109" rel="details">Permalink</a>) </span> </p> </div>- トピック(
dc:relation
)のタイトルをa
要素に記述すると、RSSアイテムがそのタイトルを持つことになってしまうので、子要素cite
を追加してproperty
属性を記述 - トピックは
foaf:topic
で表現することもできる
自己紹介ページのFOAFマーク付け
- 方針
- 基本的にはFOAFのプロパティを用いて、名前、ホームページなどを示す
foaf:interest
、foaf:schoolHomepage
、foaf:workplaceHomepage
などは、その「ウェブページ」を目的語にする特殊なプロパティ(HTMLで用いやすい)- 場所(Location)には、
foaf:based_near
を用いる。ただし目的語はリテラル(地名)ではなく「場所を表すリソース」なので、場所リソースのラベル(rdfs:label
、dc:title
など)として地名をマーク付けする - 1行説明(簡単な紹介文)には、
bio:olb
プロパティを用いる。名前空間を増やしたくないときは、dc:description
で代用
- 接頭辞宣言、注意点など
xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:bio="http://purl.org/vocab/bio/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"
- 自己紹介はRDF vCardを使ってマーク付けすることもできる。ただしこの場合、主語はそのひとの「電子名刺」となるので、FOAF語彙と混在させるのは危険
- 人間であり、かつその名刺でもあるという矛盾したりソースができてしまう
- この点については、Social Web XGで整合性をとる方向を検討
自己紹介セクションの素材
- Twitterのプロフィール
<ul class="about vcard entry-author"> <li> <span class="label">名前</span> <span class="fn">KANZAKI, Masahide</span> </li> <li> <span class="label">現在地</span> <span class="adr">Tokyo, Japan</span> </li> <li> <span class="label">Web</span> <a href="http://www.kanzaki.com/" class="url" rel="me nofollow" target="_blank">http://www.kanzak...</a> </li> <li id="bio"> <span class="label">自己紹介</span> <span class="bio">A pure tone enthusiast, and ....</span> </li> </ul>
自己紹介セクションの素材(FOAFマーク付け結果)
- Twitterのプロフィール
<ul class="about vcard entry-author"
typeof="foaf:Person"
> <li> <span class="label">名前</span> <span class="fn"property="foaf:name"
>KANZAKI, Masahide</span> </li> <lirel="foaf:based_near"
> <span class="label">現在地</span> <span class="adr"property="dc:title"
>Tokyo, Japan</span> </li> <li> <span class="label">Web</span> <a href="http://www.kanzaki.com/" class="url"rel="
target="_blank">http://www.kanzak...</a> </li> <li id="bio"> <span class="label">自己紹介</span> <span class="bio"foaf:homepage
me nofollow"property="bio:olb"
>A pure tone enthusiast, and ....</span> </li> </ul>- マーク付けを増やさないため、
li
要素にrel="foaf:based_near"
を記述して場所リソースを表し、その子要素で場所のラベルとしてproperty="dc:title"
を与えた - ホームページの
a
要素にはもともとrel
属性が記述されているが、me
、nofollow
はCURIEでも定義済みXHTMLリンク型でもないので、無視される
自己紹介セクションの素材(RDF vCardマーク付け結果)
- Twitterのプロフィール
<ul class="about vcard entry-author"
typeof="vc:VCard"
> <li> <span class="label">名前</span> <span class="fn"property="fn"
>KANZAKI, Masahide</span> </li> <li> <span class="label">現在地</span> <span class="adr"rel="vc:adr"
><span
</span> </li> <li> <span class="label">Web</span> <a href="http://www.kanzaki.com/" class="url"property="vc:region"
>Tokyo</span>, <spanproperty="vc:country"
>Japan</span>rel="
target="_blank">http://www.kanzak...</a> </li> <li id="bio"> <span class="label">自己紹介</span> <span class="bio"vc:url
me nofollow"property="vc:note"
>A pure tone enthusiast, and ....</span> </li> </ul>- 住所(
vc:adr
)の目的語はリテラルではなく、構造化された住所リソースなので、入れ子のspan
要素を用いてvc:region
、vc:country
を記述 - RDF vCardの名前空間は
http://www.w3.org/2006/vcard/ns#
商品情報とGoogle語彙
- GoogleによるRDFaサポート
- 2009年5月に、マイクロフォーマットとともにRDFaをサポートすると発表
- 実験段階として、レビュー、人物、製品、組織をカバーするGoogle語彙を前提
- より広い語彙をサポートすると述べているが、詳細は不明
xmlns:v="http://rdf.data-vocabulary.org/#"
- 方針、注意点など
- 製品ページの製品記述ブロックを
v:Product
型に - ブロック内の製品名、価格、説明などにGoogle語彙のプロパティを付加
- 主語の扱いに注意
- Googleの例では製品ページURIを
about
属性値としているが、問題があるので用いない - 写真は、
img
要素が直接使われているときは親要素にrel
属性でv:photo
プロパティを加えればよいが、親要素として拡大画像ページなどへのリンクがある場合、そのリンク先URIがプロパティの主語になったりするので要注意 - 写真がリンクの中に入っていたり、ブランド名やジャンルが製品セクションの外にあるときは、製品ブロックに
about
属性で空白ノードIDを与え、これを利用して関連付ける - 空白ノードを参照するときは、
href
属性ではなくresource
属性を用い、[]
で囲んだ安全なCURIEとして空白ノードIDを記述する
- Googleの例では製品ページURIを
- 製品ページの製品記述ブロックを
商品情報素材
- ヤマハチューナーTD-35ML
<div class="ctsArea"> <div id="mainItem"> <div id="itemPict"> <a href="/product/guitars-basses/tuners/td-35ml/viewer/"> <img src="..._12001.jpg" alt="..." /> </a> ... </div><!--eoi(itemPict)--> <div id="itemDetail"> <dl> <dt>TD-35ML</dt> <dd> <p> カラー:ブラック+シルバー<br />2009年03月25日発売<br /> <strong>メーカー希望小売価格<br />3,675円(税込)</strong> </p> ... </dd> </dl> </div><!--eoi(itemDetail)--> </div><!--eoi(mainItem)--> <p id="lead"> <strong>いつでも、どこでも、あなた向き。くっつきまチュー</strong> 管楽器や弦楽器に直接取り付けて使用出来る超小型軽量タイプのチューナーです。 上下左右360°回転させることができ、どんな位置でも見やすい角度に調整出来ます。 </p> </div>
商品情報素材(マーク付け結果)
- ヤマハチューナーTD-35ML
<div class="ctsArea"
typeof="v:Product"
about="[_:prod]"
> <div id="mainItem"> <div id="itemPict"> <a href="/product/guitars-basses/tuners/td-35ml/viewer/"> <img src="..._12001.jpg"rev="v:photo"
resource="[_:prod]"
alt="..." /> </a> ... </div><!--eoi(itemPict)--> <div id="itemDetail"> <dl> <dtproperty="v:name"
>TD-35ML</dt> <dd> <p> カラー:ブラック+シルバー<br />2009年03月25日発売<br /> <strong>メーカー希望小売価格<br /><span
(税込)</strong> </p> ... </dd> </dl> </div><!--eoi(itemDetail)--> </div><!--eoi(mainItem)--> <p id="lead"property="v:price"
>3,675円</span>property="v:description"
datatype=""
> <strong>いつでも、どこでも、あなた向き。くっつきまチュー</strong> 管楽器や弦楽器に直接取り付けて使用出来る超小型軽量タイプのチューナーです。 上下左右360°回転させることができ、どんな位置でも見やすい角度に調整出来ます。 </p> </div>- 写真を開くリンク(
a
要素)にv:photo
を設定すると、「表示用ページ」が写真ということになってしまうので、img
要素にプロパティを記述する- このとき、
src
属性値は順方向では主語を表すので、目的語とするために反対方向の関係としてrev
属性にプロパティを記述 - これだけでは、写真の主語が
a
要素のhref
属性値(表示ページ)になってしまうので、商品自体にabout
属性で主語を与え、これを写真の主語にする(反対方向で記述するので、img
要素のresource
属性値)
- このとき、
テンプレート作成 (1)
- 文書型と接頭辞
- 妥当性検証をするなら、"XHTML+RDFa 1.0"として文書型宣言を加えておく
- XHTML1やHTML4のままでも、たいていのRDFaツールは対応する
- 普段使う語彙の接頭辞をテンプレートで宣言しておく
- 妥当性検証をするなら、"XHTML+RDFa 1.0"として文書型宣言を加えておく
- head要素での文書メタデータ
- XHTML定義済みリンク型:
copyright
、meta
、license
- 従来の検索エンジンで役立つかもしれない
meta
要素:description(dct:description
)、author(dct:creator
→link
要素と連動) - 著者を名前だけでなく実体として扱うためには、
dct:creator
をlink
要素に記述し、目的語を空白ノードとする→meta
要素にabout
属性を加えて同じ空白ノードを主語にする <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html version="XHTML+RDFa 1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:dct="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1"> <head> <title property="dct:title">タイトル</title> <link rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/" /> <link rel="dct:creator" resource="
[_:me]
" /> <meta name="author" content="神崎正英" about="[_:me]
" property="foaf:name" /> <meta name="description" property="dct:description" content="この文書は…" /> .... </head>
- XHTML定義済みリンク型:
テンプレート作成 (2)
- 本文のフッタセクション
- HTML5の
footer
要素、あるいはdiv
要素にrole
属性(もしくはclass
属性)でcontentinfo
- address要素にabout属性でhead要素と同じ空白ノードを記述。子要素に著者のホームページ(foaf:homepage)やメールアドレス(foaf:mbox)のリンク
- 作成日(dct:created)、更新日(dct:modified)
<div class="contentinfo"> <address about="
[_:me]
"> <a rel="foaf:homepage" href="http://www.kanzaki.com/">Web KANZAKI</a> </address> <span property="dct:created">2009-XX-XX</span>作成; <span property="dct:modified">2009-XX-XX</span>更新. </div> </body> </html>
- HTML5の
補足1:Google語彙
- 検索のためのオール・イン・ワン語彙
- 検索対象として用いられそうな語彙を一つの名前空間にまとめる
- 概ねマイクロフォーマットの語彙を再利用
- 同じプロパティでも用例によって値がURIだったりリテラルだったりと、現時点では不安定
- 人、製品、レビュー
- 人:FOAFとhcardの混成語彙。
v:Person
、v:name
、v:affiliation
、v:role
、v:address
など。 - 組織:これもFOAFとhcardの中間。
v:Organization
、v:name
、v:url
、v:address
など - 製品:hproductを流用。
v:Product
、v:name
、v:brand
、v:category
、v:price
、v:description
、v:photo
、v:url
- レビュー:hreviewを流用。
v:Review
、v:itemreviewed
、v:reviewer
、v:rating
、v:dtreviewed
、v:summary
- 人:FOAFとhcardの混成語彙。
補足2:HTML5のマイクロデータ
- HTMLとして定義するセマンティック・マーク付け
- HTML5編集者草案の第5章で示されているセマンティック・マーク付け
- 「ページの内容を、汎用スクリプトをカスタマイズして利用したり、複数の作者のコンテンツを単一スクリプトで利用できるよう、機械可読な方法で注釈付ける」
- 現在は編集者草案で示されているだけで、未確定要素が含まれることに注意
- 対象コンテンツを「アイテム」としてとらえ、アイテムがプロパティ(名前―値ペア)の集合によって表現される
- RDFaやマイクロフォーマットと同様に、属性を利用してアイテムを記述する
- 属性値は、通常の単語(カスタムプロパティ)のほか、URI、Java風の逆順ドメイン名などを用いる。定義済み名もある
- HTML5編集者草案の第5章で示されているセマンティック・マーク付け
- マイクロデータの基本表現
- アイテムは要素に
item
属性を設定して示す。item
属性に値があるときはアイテムの型を表す - アイテムの子孫要素に
itemprop
属性を与えてプロパティ名を示す - プロパティの値は、リンク要素や埋め込み要素なら
href
/src
属性のURI、それ以外は要素内容テキスト(meta
、time
要素のように属性値が使えることもある) <p
item
> <citeitemprop
="title">セマンティックHTML/XHTML</cite>は… </p>
- アイテムは要素に
マイクロデータとRDF
- マイクロデータからRDFへの変換が定義される
item
属性はtypeof
属性に近い働き- プロパティ名を記述する属性は
itemprop
のみで、関係型、属性型を区別しない - CURIEは用いず、絶対URIで記述する
<p
item
="http://xmlns.com/foaf/0.1/Person
"> <spanitemprop
="http://xmlns.com/foaf/0.1/name">神崎正英</span>です。… </p>
- 主語を明示するときはitemprop="about"
- プロパティ名
about
(≠about属性)を持つ要素のhref
属性値が主語URIとなる <p
item
> <aitemprop="about"
href="http://www.kanzaki.com/ns/isbn/9784839931957">この書籍</a> 『<citeitemprop="title"
>セマンティックHTML/XHTML</cite>』 (<spanitemprop="author"
>神崎正英</span>著)は… </p>
- プロパティ名
連鎖と定義済みプロパティ
- プロパティ要素にitem属性を加えることでグラフ連鎖
<p
item
> 『<cite itemprop="http://purl.org/dc/terms/title"> セマンティックHTML/XHTML</cite>』 (<spanitemprop
="http://purl.org/dc/terms/creator"item
> <spanitemprop
="http://xmlns.com/foaf/0.1/name">神崎正英</span> </span>著)は… </p>
- 定義済みアイテム型とプロパティ
- 2009年6月の編集者草案時点で、vCard、iCalendar、BibTexの語彙があらかじめ定義済みアイテム型/プロパティ名として用意されている
- たとえば
item="vcard"
のアイテム内では、itemprop="fn"
のようにして直接使える。これらを用いたマイクロデータから、vCard、iCalendar、BibTexに変換するアルゴリズムが定義される
参照先
- 参照したリソース
- Information Management: A Proposal, by Tim Berners-Lee,
<http://www.w3.org/History/1989/proposal.html> - Uniform Resource Identifier (URI): Generic Syntax, by Tim Berners-Lee et al, , RFC 3986
<http://www.ietf.org/rfc/rfc3986.txt> - RDF Primer, by Frank Manola and Eric Miller (eds.), , W3C Recommendation
<http://www.w3.org/TR/rdf-primer/> - RDFa in XHTML: Syntax and Processing, by Ben Adida et al. (eds.), , W3C Recommendation
<http://www.w3.org/TR/rdfa-syntax/> - CURIE Syntax 1.0 - A syntax for expressing Compact URIs, by Mark Birbeck and Shane McCarron (eds.), , W3C Candidate Recommendation
<http://www.w3.org/TR/2009/CR-curie-20090116> - サイト情報の要約と公開:RSS
<http://www.kanzaki.com/docs/sw/rss.html> - メタデータによる知人ネットワークの表現:FOAF
<http://www.kanzaki.com/docs/sw/foaf.html> - Marking up structured data, Google Webmasters/Site owners Help
<http://google.com/support/webmasters/bin/answer.py?hl=en&answer=99170> - HTML 5 Draft Standard (Multiple-page version), by Ian Hickson (ed.),
<http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html>
- Information Management: A Proposal, by Tim Berners-Lee,