Hatena::Groupweb

vantguarde

 | 

6.25

そのIDは要素か人か

| 21:50

数日前にRDF-in-XHTMLに流れたmime type of RDFa documentで、RDFaにおけるフラグメントIDの解釈はどうなるのって話がでていて興味深いです。

たとえば次のように、文書の作成者をRDFaとしてHTMLに埋め込んだとします。

<!-- http://example.com/foo.html -->
<link rel="foaf:primaryTopic" href="#me" />
<link rel="foaf:maker" href="#me" />

で、#meが指す部分はこんなの。

<!-- http://example.com/foo.htmlつづき -->
<div id="me">
<p><span property="foaf:nick">id:vantguarde</span>です。</p>
<p><a rel="foaf:mbox" href="mailto:foobar">メール</a>でなにかあればどうぞ。</p>
</div>

このHTMLから生成されるトリプルは次のようなものになります。

@prefix : <http://example.com/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .

:foo.html foaf:primaryTopic :foo.html#me ;
  foaf:maker :foo.html#me .

:foo.html#me foaf:nick "id:vantguarde" ;
  foaf:mbox <mailto:foobar> .

さてさて、http://example.com/foo.html#meで表されるリソースは一体何になるのでしょうかというのが問題です。マークアップを考えるとdiv要素だけれど、生成されるトリプルを見るとfoaf:Personにも思えちゃうという。

フラグメントIDの扱いがRDFとHTMLでは違うので、こういう事が起こってしまうわけですね。解決法としてRDF的なURI参照にはabout属性を用いるベストプラクティスをつくろうっていう話が出てたりしますが、どうなるんですかね。

RoleやAccessよりはまだ動きがありそうなRDFaです。

 | 
Contact: @vant / lepetitcroissant@gmail.com.