maoring blog

このブログはセマンティックウェブ関連の技術的なあれこれを綴ったブログです。

論文とmicrodata

これから書くことはほとんど自分のメモ的なことになってしまうけれど。 少し前にmicrodataにおいて論文のcitation(引用)はどうマークアップするべきかということが話題になった。 public-vocabs@w3.orgというschema.org拡張のための(他にも色々話しているけれども)そんなことを議論するためのメーリングリストがあるのである。

私が今興味があるのは,citation(引用)より,reference(参照)で,参照のmicrodataが埋め込まれていたら何か良いことが出来ないかな。 ということを考えているのだけども,どの書き方が綺麗で,分かりやすいか,ここにメモ的に書いておく。 もともとは我々が提案しているBiologicalDatabaseEntryに組み込む予定 WebSchemas/BioDatabasesだったが, 汎用性を高めるためにはもう既に定義されている語彙である,ScholaryAtricleで 新規プロパティとして採用してもらった方が良いのではないかということで,落ち着いている。 最初に我々が考えたシンプルな表記方法をどう変えたら良いのか,ちょいとここで思考を借りる事にしよう。

最初考えていたシンプルな方式。

<div itemscope itemtype="http://schema.org/BiologicalDatabase">
 Kanehisa M, et al. Nucleic Acids Res. 40, D109-D114 (2012).
 [<meta itemprop='reference' content='pmid:22080510'/>
   <a href="http://www.ncbi.nlm.nih.gov/pubmed/22080510">pubmed</a>]
</div>

ScholarlyArticleの場合にはこうなる。

<div itemscope itemtype="http://schema.org/ScholarlyArticle">
 Kanehisa M, et al. Nucleic Acids Res. 40, D109-D114 (2012).
 [<meta itemprop='entryID' content='pmid:22080510'/>
   <a href="http://www.ncbi.nlm.nih.gov/pubmed/22080510">pubmed</a>]
</div>

microdataの書き方については他の方の記事を参考にしていただくとして, 基本的には,最初のタグにどの語彙で書きますよ宣言をして (itemscope itemtype="http://schema.org/ScholarlyArticle")
 itemscope:範囲はこっからだよ。
 itemtype:これからこんな語彙使います!!
その中の当てはまるプロパティは何で(この場合referenceだったり,entryIDだったり)
 itemprop:囲まれている範囲の語彙のこんなプロパティを使います,よろしく!
という順序で書いていく。itemidとitemrefというものもあるのだけど,煩雑になるから,使わなくて良い時は使わない方針でいくとする。

語彙の宣言も複数あると面倒になるからなと思ってたけど,entryIDを使うなら,BiologicalDatabaseに既存のプロパティとして組み込むのは無理だなぁということが分かった… 組み込むならreferenceIDとしないと無理だなぁということ。

間違いなく説明不足だと思うのだけど,google等の検索エンジンでmicrodataを使ってもらうためには,schema.orgという大手検索エンジンが共通して使う語彙一覧に 登録してもらうことが必要条件で(必要十分でないことが悲しい)それに生物学的なデータベースのための語彙を登録してもらうために頑張ってます。 その語彙策定の中で,どのプロパティを使うのか,ということを決める時に,必ずしも全てがオリジナルなプロパティである必要はなく,他の既存のプロパティを採用しても良いということがある。

既に我々はentryIDを生物学的なデータベースのためのプロパティとして提案してしまったので,referenceのためのIDとするなら,やっぱりScholarlyArticleを使う必要があるなぁということ。

<div itemscope="" itemtype="http://schema.org/BiologicalDatabaseEntry">
Entry:
 <span itemprop="entryID">H00653</span>
</div>

が既に入っていたら,

<div itemscope="" itemtype="http://schema.org/BiologicalDatabaseEntry">
Entry:
 <span itemprop="entryID">H00653</span>
   <div itemscope itemtype="http://schema.org/ScholarlyArticle">
       Kanehisa M, et al. Nucleic Acids Res. 40, D109-D114 (2012).
       [<meta itemprop='entryID' content='pmid:22080510'/>
       <a href="http://www.ncbi.nlm.nih.gov/pubmed/22080510">pubmed</a>]
  </div>
</div>

こうなるなぁ。もしreferenceIDをBiologicalDatabaseEntryのプロパティとしても加えるなら

<div itemscope="" itemtype="http://schema.org/BiologicalDatabaseEntry">
Entry:
 <span itemprop="entryID">H00653</span>
  Kanehisa M, et al. Nucleic Acids Res. 40, D109-D114 (2012).
       [<meta itemprop='referenceID' content='pmid:22080510'/>
       <a href="http://www.ncbi.nlm.nih.gov/pubmed/22080510">pubmed</a>]
</div>

となるので気持ちスッキリするかも。

あぁ,ただグラフ的に考えると,どのエントリが何であるのかということを明示するとなるとitemidを使用することが好ましいので

<div itemscope="" itemtype="http://schema.org/BiologicalDatabaseEntry">
Entry:
 <span itemprop="entryID">H00653</span>
   <div itemscope itemtype="http://schema.org/ScholarlyArticle" itemid="pmid:22080510">
       Kanehisa M, et al. Nucleic Acids Res. 40, D109-D114 (2012).
       [<meta  itemprop='entryID' content='pmid:22080510'/>
       <a href="http://www.ncbi.nlm.nih.gov/pubmed/22080510">pubmed</a>]
  </div>
</div>

このように itemid="pmid:22080510"を書くと,後々このidの文献に対応する引用部分はなあに?みたいなことに使えるかもしれない。 ただ,microdataのざっくりした性質から行くと,このページにある文献データは◯◯と〇〇と〇〇です。程度の記述でも良いかもしれない。

いまいち分かりにくいと思うが,後で説明したい。(あくまできぼんぬ。)