Account Auto-Discovery 仕様暫定版

今日はまず結果から書いておこうと思います。昨日の microformats 的にメタデータを囲むという話は採用しない、それからコメントアウトするという話をひとまず置いて、

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">
<rdf:Description rdf:about="http://www.hatena.ne.jp/info/perl/autodiscovery/test">
  <dc:creator>
    <foaf:Person>
      <foaf:holdsAccount>
        <foaf:OnlineAccount foaf:accountName="hatena">
          <foaf:accountServiceHomepage rdf:resource="http://www.hatena.ne.jp/"/>
        </foaf:OnlineAccount>
      </foaf:holdsAccount>
    </foaf:Person>
  </dc:creator>
</rdf:Description>
</rdf:RDF>

を暫定版の仕様としたいと思います。これをコメントで囲むかどうかについては、仕様には盛り込みません。XHTML その他ではこのまま埋め込めますが、レガシー HTML に埋め込むあるいは Validator 対策としてコメントアウトするという方法もありますよ、ということにしたいと思います。その辺は TrackBack や CC License と同じです。

この Auto-Discovery の仕様に関しては「仕様と実装の落としどころを見つけることだと思う」と id:m-hiyama:20050728:1122544815 にコメントを残したとおりで、どうやら厳密に仕様を決めるのはなかなかに難しいから、どこかで妥協点を見出すことじゃないかと思っています。

始めに Auto-Discovery に関してのコメントを求めた際は、単に僕が知らないだけで、はてなのIDを埋め込むような仕様はウェブにあるのではないか、と思って聞いてみたというのが正直なところですが、ここまで色々な方からいただいた意見を総合すると、「特にそういうものはなさそうだ」というのが良く分かりました。

最近話題の microformats 的に考える、RDF/XML を使う、PI を使う、Dublin Core を使う、スキーマを自分たちで定義する、他にも色々提案をいただいています。しかし、そのどれを採用しても何かしら検討すべき箇所というのがあるようで、その揺れを完全に吸収するのは難しいというのがこれまでの経緯を通しての感想です。(今日もたださんからは microformats + コメント神崎さんからは Turtle/N3 といったコメントをいただいているのですが、おそらくこれらを採用した場合でも色々な見解出るのではないかと思います。)

そこで、このままではなかなか実装に移るのが難しいので、そろそろえいやっと仕様を決めてしまいはてなブックマークはてなダイアリーで仕様を使った機能を実装します。機能を運用しつつ、これだ、と思う仕様が考え付いたら将来それに乗り換えるという方向で行きたいと思います。

色々みなさんからコメントをいただけたおかげで、現状仕様まで持ってくることができましたし、かなり多くの情報をインプットすることができました、大変感謝しております、ありがとうございました。ひとまずこの仕様を実装しつつ改善点があれば改善していきます。もちろん、これを完全に置き換える別の仕様の可能性についても模索したいと思います。