
| 主語 | 述語 | 目的語 | |
|---|---|---|---|
| CSS | セレクタ | プロパティ | 値 |
| XHTML | 文書URI | 要素型 | 要素内容 |
| ハイパーリンク | アンカー要素 | xhtml:href | リンク先URI |
| RDF | リソースURI | プロパティ | 目的語URI/リテラル |
@id属性 or XPointer)@rel属性値@class属性値、未定義の@rel属性値@name属性値※XHTMLのクラス属性と、RDF/OWLのクラスを区別するため、本稿では前者を「@class」、後者を「(RDF)クラス」として記述します。同様に他のXHTML属性も@relなどと記述します。

| 名前 | アクセス・取得 | 表現・操作 |
|---|---|---|
| h1-6 | 見出しを取り出す(目次) | 見出し階層を示すレンダリング |
| form | (フォーム入力支援) | フォームデータの入力・送信 |
| a | リンク先一覧/ロボット巡回 | ハイパーリンク |
| /html/body/p[1] | 最初のパラグラフ取得 | 要約文として |
| @rel="alternate" | 代替、関連リソース取得 | 別言語バージョンなどへのリンク |
| @name="author" | 作者名取得 | 作者名の表示? |
| @class="modified" | 文書更新日取得 | 更新日の表示? |
| @role="menubar" | (ナビゲーション補助) | メニューバーとしての表示(あるいは非表示) |

<span class="fn">神崎正英</span>は…
fnが「Full Name」であることは、あらかじめ合意があれば通じるかもしれないfnが「Factor Number」や「First Name」ではなくフルの姓名であることを確実に示すには、名前のグローバルな共通了解が必要fn要素がないのか
@classなどで個別の役割の細分化fnを共有する方法は?
@classの名前のスコープは文書限りThe document profile specifies the syntax and semantics of documents. (Reformulating HTML in XML section 1.3)
Document profiles offer a means to characterize the features appropriate to given categories of user agents. (XHTML Document Profile Requirements)
HTML lets authors specify meta data ... in a variety of ways... The meaning of a property and the set of legal values for that property should be defined in a reference lexicon called a profile. (Meta data, in HTML 4.01 Specification)
@profileを利用できるだろう
@rel属性値の意味は本文のa要素でも通用する| 方法 | 長所 | 短所 |
|---|---|---|
| 新しい要素型の定義 | 明快でグローバル | 拡張にはきりがなく、考え方も異なるので、全てを満たすタグセットの定義は無理。逆に(X)HTMLの簡素さが失われる(いつか来た道) |
| XHTMLモジュールの追加定義 | XHTMLの機能を活用。文書型宣言で必要に応じて選択できる | 追加定義は素人には困難 |
| 名前空間を利用した語彙併用 | 既存の多くのXML言語を自由に組み合わせられる | 名前空間宣言がやや面倒。妥当性検証は困難。特殊な名前の理解はブラウザに依存する |
| XHTMLプロファイル | 簡単で現在の(X)HTMLですぐ利用可。自分たちでも定義可能 | 基本的にはメタデータ用の名前で、機能拡張向けではない。共有プロファイルの場合、意味定義の恒久性はプロファイル管理者に依存 |
| @class、@relのみ | もっとも簡単(今までどおり)。合意があればコミュニティでの共有も | グローバルには通用しない |
fnをグローバル名vcard:fnに変換し、次のグラフを得る:
| 手段 | 特徴 | 手間 | 共有度 |
|---|---|---|---|
| 自分で変換XSLTを用意 | 自分の用いるあらゆる名前を自由に変換 | 面倒 | 低い |
| 公開XSLTを利用 | 対象語彙の変換XSLTがあれば利用できる | link要素が必要 | 高い |
| 変換XSLTを登録したプロファイルを利用する | 名前の定義を示した上で変換できるが、GRDDL対応プロファイルがあることが前提 | @profile属性を書くだけ | 高い |
公開プロファイルhttp://purl.org/net/ns/metaprof@class、@rel属性値に用いて、RDF変換できるhead要素の@profile属性にmetaprofのURIを書くだけ!<headprofile="http://purl.org/net/ns/metaprof">
&は常に&と実体参照にする。@href属性の中でも!/>を忘れずに(ウェブログテンプレートに手を加えるとき注意!)<span class="fn"id="myself">神崎正英</span>は…
STag ::= '<' Name (S Attribute)* S? '>' なので、属性を区切る空白は必須@nameを持つとき、@contentの値を目的語にして文書のプロパティを生成| @name | RDFプロパティ |
|---|---|
| description | dc:description |
| keywords | kw:keyword、ただしカンマで区切られた語句はそれぞれ別のトリプルとして処理 |
| author | 文書の作者エンティティを作成してそのfoaf:nameとして |
@relを持つとき、@hrefの値を目的語リソースにして文書のプロパティを生成| @rel | RDFプロパティ |
|---|---|
| copyright, rights | いずれもdc:rights(a要素でも利用可) |
| alternate | @hreflangがあればdcterms:hasVersion、@typeが'+xml'を含むならrdfs:seeAlso |
| section | それぞれ |
| meta | rdfs:seeAlso、ただしFOAFの場合は文書作者のリソースを主語にする |
| @rev='made' | 文書作者のfoaf:mbox |
〔追記〕sitemap:はサイトマップ構造を表す実験語彙に対応します。
h2要素内容を集めてdcterms:tableOfContents(書誌カタログスタイルの目次)としてdfn要素をそれぞれkw:keywordとしてa要素を、@hrefを目的語に持つプロパティとして(内容がさまざまなので、他の要素や属性と組み合わせて限定的に処理)address要素をそのままメタデータとするよりは、その中に記述されているメールアドレスや日付を抽出したいp要素などは、コンテンツそのもので、メタデータにはなりにくい@class、@relなどの属性との組み合わせにより、メタデータとしての役割が明確に| @class | RDFプロパティ |
|---|---|
| author, coverage, date, description, format, identifier, rights, title | 要素内容をリテラル目的語としたdc:プロパティ(authorはdc:creatorに。coverage, description, rightsは@relでも利用可) |
| creator, contributor, publisher | dc:creatorなどとして、目的語にエンティティを生成(@relでも利用可) |
| subject | kw:keyword(@relではdc:subject) |
| created, modified, abstract | dcterms:のプロパティ |
| me | foaf:makerの目的語として作者自身のノードを生成 |
| refs, pubs | リスト要素(ul, ol, dl)に与えて参照文献、発表文献リストを生成。リスト項目内にcite要素があればdc:titleにする |
| ifp | @relを持つa要素で用いて、URIをIFPとして扱う(後述) |
<p>最終更新日:<em class="modified">2007-07-15</em>.</p>

@rel属性でリンクの意味が明示されたものだけをメタデータとみなす@rel属性値としてすぐに使える名前をあらかじめ定義(tag以外はlink要素の@relにも対応)| @rel | RDFプロパティ | URIの意味 |
|---|---|---|
| license | cc:license | Creative CommonsのライセンスURI |
| topic | foaf:topic | 文書のトピック |
| tag | kw:keyword | dc:relation+キーワードURI(後述) |
| source, relation, subject, creator, contributor, publisher, coverage, description | dc:* | source, relation以外は@classでも利用可 |
| references, hasPart, isPartOf | dcterms:* | 他も接頭辞付で記述可(後述) |
<p>先日公開された最新の<arel="topic"href="http://www.w3.org/TR/WCAG20/">WCAG 2.0草案</a>は…</p>

<p>今日<a rel="topic" href="http://www.kanzaki.com/norrington/"> ロジャー・ノリントン</a>の演奏を聴いた。…</p>
class="ifp"とすることでIFPになるURIを区別<p>今日<a class="ifp" rel="topic" href="http://www.kanzaki.com/norrington/">…

@class、@rel値として用いる| 定義済み接頭辞 | 対応する語彙 |
|---|---|
| dc | Dublin Core基本15要素(dc:type以外は接頭辞なしでも使える) |
| dcterms | Dublin Core拡張プロパティ |
| foaf | FOAF |
class="foaf.nick"ならプロパティとしてfoaf:nickを生成するlink要素で任意の接頭辞を名前空間URIにマッピングできる(RFC 2731の応用)。ex.という接頭辞を使いたければ<linkrel="schema.ex" href="http://example.org/terms#" />
@rel、@class属性にex.fooという値を用いると、名前空間宣言を加えた上でex:fooというプロパティを生成<em class="modified"> 2007-07-15</em>ならば、
( ? )--ical.location-->"東京芸術劇場"の主語は?<p>…会場は<em class="ical.location">東京芸術劇場</em>です。…

@class<p class="abstract">このレポートは…</p>

<p class="m.Concert">…会場は<em class="ical.location">東京芸術劇場</em>です。…

@classのないブロックは素通り(子孫要素は文書のプロパティに)abstract、description、meなど)m.Concert)は対応するRDFクラスとしてarticle, entry, blogentry)が複数あれば、個々の記事を文書のトピックとして独立させる<p class="Book">今日読んだ<span class="author">神崎正英</span>の
『<em class="title">RDF/WOL入門</em>』は…</p>

〔追記〕型付ノードとするブロックレベル要素がid属性を持つときは、属性値の前に_topic_を加えた名前としてrdf:IDを生成するようにしました。また子孫のa要素もしくはimg要素がclass属性を持つときは、そのURIをノードの主語とすることにしました。メモ「metaprofと文書トピックの主語URI」を参照してください。
vcard, vevent, hreviewのいずれかの@classがあれば、その内部をそれぞれのmicroformatで定める名前によって処理| @class | microformats | RDFメタデータ |
|---|---|---|
| vcard | hCard | FOAF |
| hreview | hReview | Review Vocabulary |
| vevent | hCalendar | RDFCalendar |
<div class="hreview"> <span class="reviewervcard"> <span class="fn">anonymous</span>, </span> <span class="dtreviewed" title="20050418">April 18th, 2005</span> <div class="item"> <a lang="zh" class="url fn" href="http://www.imdb.com/...."> Ying Xiong (<span lang="en">HERO</span>)</a> </div> <div>Rating: <span class="rating">4</span> out of 5</div> <div class="description"><p>This movie has ...</p></div> </div>

@href属性からはURIとしての目的語を抽出できるThe Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data. (Tim Berners-Lee, Linked Data)
a要素の内容として記述し、@rel属性でプロパティを与えようmeta要素のキーワード、dfn要素、@class="subject"、@rel="tag"を文書の主題(キーワード)として抽出
http://purl.org/net/ns/keyword/opera)
operaはOpera_musicである可能性が高いdc:subjectで関連付ければ便利では?
kw:名前空間についてはWord to Thing Mapping Vocabularyを参照(プロパティ名がhasKeyword→keyword、hasSense→senseなどと一部変更されているので注意してください)
@class(及び未定義の@rel)属性値のようなローカルな名前がある@profile属性で文書プロファイルURIを指定することで、ローカルな名前も共有可能になる@relでその働きを示すようにする