BH12.12/schema.org
提供:TogoWiki
目次 |
Schema.org extension
一言で説明すると
- データベースの各エントリーに埋め込むメタデータ集合を作ろうとしています。
- データベースのエントリー中で重要な項目をマークアップするためのボキャブラリ(プロパティ)一覧を作ろうとしています。
- 「検索エンジンのための」メタデータです。
- 目的:検索エンジンのユーザーが,検索結果を見てそのエントリーが自分が探しているものか否かを瞬時に判断できるようになるためのメタデータを定義する
- NOT目的:そのエントリーの重要な情報すべてをマークアップするためのメタデータを定義する
- 前回の分子生物学会で4省連携の会合でお話した時のファイルです:横断検索へのMicrodataの導入と活用について
- W3CのSchema.org extensionの1つとして採択されることを目指しています。
- 採択されなくてもみんなが同じボキャブラリを使っていれば問題ないのですが,採択されるとGoogle,Yahoo!,Microsoft Bingにオーソライズされたことになるので(かつ,もしかしたらこれらの検索エンジンの検索結果にも反映されるので),がんばります。
BH12.12でのゴール
- ボキャブラリ(プロパティ)一覧を完成させる。
ボキャブラリ(プロパティ)案
- 最新のボキャブラリ(プロパティ)案 -- http://www.w3.org/wiki/WebSchemas/BioDatabases
- W3C WikiでのBiologicalDatabaseEntryのページです。
今までの取り組み
- BH12でのグループのページ -- https://github.com/dbcls/bh12/wiki/Schema.org-extension
- Sagaceでの説明 -- http://sagace.nibio.go.jp/schema/schema.html
- ボキャブラリ(プロパティ)は少し古いバージョンですが,マークアップ例がいくつかあります。
ボキャブラリを考えるための参考になるページ
- W3C Wikiでのすべてのproposalのリストページ -- http://www.w3.org/wiki/WebSchemas/SchemaDotOrgProposals
- Schema.org公式ページ -- http://schema.org
- 既存のいろんなextensionが参考になる
- Schema.orgスタイルガイド(案) -- http://www.w3.org/wiki/WebSchemas/StyleGuide
ちょっと自分のDBに埋め込んでみようか,という方へ
現在のボキャブラリ(プロパティ)案
- W3C WikiでのBiologicalDatabaseEntryのページ -- http://www.w3.org/wiki/WebSchemas/BioDatabases
- 最新のボキャブラリ(プロパティ)案はここにあるので,とりあえず埋め込んでみよう,という方はここをご覧ください。
埋め込み例
- 後述
埋め込みの確認のためのツール(お役立ちツール!)
- Live Microdata
- Microdataでマークアップしたhtmlから,実際のウェブページでの表示のされ方の確かめや,JSONによって構造化されたデータを取り出すことができます。
- 後述の「マークアップ例」をコピペしてみてください。
- RDFグラフの視覚化 Turtle, Microdata, JSON-LD
- Microdataでマークアップしたhtmlからその内容をグラフ化して表示出来るツールです。
- Rich Snippets Testing Tool by Google
- 既にGoogleで認識できる語彙については,検索結果への表示のされ方の確認とクローラーによって取り出されたMicrodataのプロパティを見ることができます。
基礎(Schema.org,microdata,リッチスニペット)
- microdataについての説明 -- http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=176035
- リッチスニペットについての説明 -- http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=99170&ctx=cb&src=cb&cbid=yizql4ats20b
- Schema.org -- http://schema.org
埋め込み例
ex1) KEGG DISEASE
DBエントリー例
KEGG DISEASE: H00653 Entry: H00653 Name: Marfan syndrome, including: Marfan syndrome (MFS); Neonatal MFS; Atypically severe MFS; New variant of MFS Description: Marfan syndrome (MFS) is a relatively common autosomal dominant disorder ... Other DBs: ICD-10: Q87.4 OMIM: 154700 Species: Human References: PMID:11706995 PMID:16571647 PMID:12203987 PMID:10633129 KEGG DISEASE (Diseases viewed as perturbed states of the molecular system)
マークアップ例
<div itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> <a itemprop="url" href="http://www.kegg.jp/dbget-bin/www_bget?ds:H00653"><span itemprop="name">KEGG DISEASE: H00653</span></a> Entry: <span itemprop="entryID">H00653</span> Name: <span itemscope itemtype="http://schema.org/MedicalCondition"> <span itemprop="code" itemscope itemtype="http://schema.org/MedicalCode"> <meta itemprop="codeValue" content="Q87.4"><meta itemprop="codingSystem" content="ICD-10"> </span> </span> Marfan syndrome, including: Marfan syndrome (MFS); Neonatal MFS; Atypically severe MFS; New variant of MFS Description: <span itemprop="description">Marfan syndrome (MFS) is a relatively common autosomal dominant disorder …</span> Other DBs: <span itemprop="seeAlso" itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> <span itemprop="isEntryOf" itemscope itemtype="http://schema.org/BiologicalDatabase"> <span itemprop="name">ICD-10</span> </span>: <a itemprop="url" href="http://www.kegg.jp/kegg-bin/get_htext?br08403+H00653"><span itemprop="entryID">Q87.4</span></a> </span> <span itemprop="seeAlso" itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> <span itemprop="isEntryOf" itemscope itemtype="http://schema.org/BiologicalDatabase"> <span itemprop="name">OMIM</span> </span>: <a itemprop="url" href="http://omim.org/entry/154700"><span itemprop="entryID">154700</span></a> </span> Species: <span itemprop="taxon" itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> <span itemprop="name">Human</span> </span> References: PMID:<meta itemprop='reference' content='pmid:11706995'/><a href="http://www.ncbi.nlm.nih.gov/pubmed/11706995">11706995</a> PMID:<meta itemprop='reference' content='pmid:16571647'/><a href="http://www.ncbi.nlm.nih.gov/pubmed/16571647">16571647</a> PMID:<meta itemprop='reference' content='pmid:12203987'/><a href="http://www.ncbi.nlm.nih.gov/pubmed/12203987">12203987</a> PMID:<meta itemprop='reference' content='pmid:10633129'/><a href="http://www.ncbi.nlm.nih.gov/pubmed/10633129">10633129</a> <span itemprop="isEntryOf" itemscope itemtype="http://schema.org/BiologicalDatabase"> <a itemprop="url" href="http://www.kegg.jp/kegg/disease/"><span itemprop="name">KEGG DISEASE (Diseases viewed as perturbed states of the molecular system)</span></a> </span> </div>
検索結果例
ex2) PDBj
DBエントリー例
タイトル EMDB-1556: RsbR・RsbS・RsbT複合体(ストレソソーム)「単粒子」状態 ID 1556 生物種の科学的名称 Bacillus subtilis 登録日 2008-09-08 更新日 2012-10-24 3D Electron Microscopy (3D-EM) Data Navigator
マークアップ例
<div itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> タイトル <a itemprop="url" href="http://www.pdbj.org/emnavi/emnavi_detail.php?lang=ja&id=1556"><span itemprop="name">EMDB-1556: RsbR・RsbS・RsbT複合体(ストレソソーム)「単粒子」状態</span></a> ID <span itemprop="entryID">1556</span> 生物種の科学的名称 <span itemprop="taxon" itemscope itemtype="http://schema.org/BiologicalDatabaseEntry"> <span itemprop="name">Bacillus subtilis</span> </span> 登録日 <span itemprop="dateCreated">2008-09-08</span> 更新日 <span itemprop="dateModified">2012-10-24</span> <span itemprop="isEntryOf" itemscope itemtype="http://schema.org/BiologicalDatabase"> <a itemprop="url" href="http://www.pdbj.org/emnavi/"><span itemprop="name">3D Electron Microscopy (3D-EM) Data Navigator</span></a> </span> </div>
検索結果例
その他の例
Discussions and Comments
- taxonomyとseeAlsoのマークアップ方法は一番丁寧にそれぞれのデータ(entryID,url,isEntryOf等)が区別して書ける形式を採用しました。
- taxonomyにおいては,複数のID体系(NCBI,uniprot等)に対応できるということも上記採用のポイントです。
- seeAlsoについては,他の語彙においてrelatedLinkも検討しましたが(例:WebPageでのプロパティ),マークアップでrelatedLinkで想定されていたURLのみでなく,BiologicalDatabaseEntryも使用して入れ子で書くことにしたため,独自のプロパティであるseeAlsoを採用しました。
- またseeAlsoは複数のリンクが想定されるので,seeAlsosの方が適切ではないかという議論がなされましたが,既存の語彙においてされた議論を参考に単数と複数のpropertyの混乱を避けるために,seeAlsoとしました。プロパティの単数形推奨について
- 今回のBioHackathon12.12でBiologicalDatabaseEntry,BiologicalDatabaseの語彙においてreferenceもプロパティに追記することにしました。(Thanks for your comments! 山本さん,畠中さん!)
- 検索結果として実装して表記する時にどういった表記が適切かということも合わせてコメントいただけると嬉しいです。
- 今回はどのBiological DBにも共通のものについてのプロパティに絞っています。
- それは,あまり多いプロパティがあると埋め込む方がうんざりしてしまうかも,ということとあまり埋め込むものが多いと対応しきれないデータベースが出てしまいかねないので本末転倒だという懸念からです。(Thanks for your comments! 岩崎さん,大田さん!)
- しかし,他にも必要だ!というプロパティの提案や自分の分野だったらこんなプロパティがあると便利,ということがあったら教えて下さい。
- プロパティの追加,または,Biological DatabaseEntry以下の階層に入れることを検討したいと思います。
- 例:生物資源における分譲について(プロパティ:resourceAvailabilityの追記),生物資源という語彙をBiologicalDatabaseEntry以下の階層に採用等
- 例:化合物関連のIDを埋め込むとその構造式が出る
- 特定の専門分野の研究者の方が欲しい情報は共通しているのでは無いか?例えばBiologicalDatabaseEntry以下の階層にGene,Protein等を作り,それに特化したプロパティを作成するなど。
- しかしあまり階層が増えると埋め込みにくくなると同時に,どういった階層にするのが妥当かという(皆さんが普段悩まれていると思われる)問題も生じる。
- ただ,これがあればすごく嬉しいのにというものがあったら,Schema.orgに正式採用でなくても実装してSagaceで表示することは可能なので柔軟な意見も欲しい。
- 実際にマークアップしていただいた方々とのやり取りより
- Comment : 初めての人がやろうとした場合に、最初は、BiologicalDatabaseEntryを入れ子にできることが書いていないので分からなかったです。クローラーを実行すると階層化されているのがわかりました。今回のMicrodataの属性と値はspan, a, metaのどこに書いても良いというのが分りませんでした。(産総研 鹿内さん)
- A : seeAlsoとtaxonはリンク先もBiologicalDatabaseEntryとなるため,自分自身での入れ子での記述となっています。上部例を参考にしてマークアップしていただければ幸いです。
- Comment : クローラーで書き出した後に横断検索の結果のスニペットにどう反映されるのか分りません。書き出した順番に表示されるのかなど情報があればよいと思います。もし書き出した順番で表示されるのであれば、作り手はindex用のファイルを注意してつくる必要があります。(鹿内さん)
- A : Sagaceでは基本的には最初に書かれているものを抽出するようにしています。今後,数があまり多くないものについては,複数対応も検討しています。順位はつけておりません。
- Q : BiologicalDatabase_nameとは別に どんなDBなのか 分るプロパティ名と共通化した値(一般的な用語:Gene function, Disease, glycan structure, patentなど分類名)が必要かと思いました。 description(shortと定義しているが一覧表示するには不向きな文章) を短く一 言、二言で表すようなプロパティです。決まり文句が良いです。 各省庁プロジェクトでやっているDBカタログ分類からとってきても 良いかも知れません。(鹿内さん)
- A : DBに関するプロパティはkeywordsで対応します。どの分類が最適であるかという判断をすることが難しいので,分類は例を参考にして使っていただければと思います。(例:Mesh Term,DBカタログ分類)。
- Q : 今回のプロパティ構造ですと、ある生物種のある分子もしくは病気など詳細画面で1つの事柄に対しての情報は簡単にできます。感染症(宿主ー病原体)や免疫学などの別々の細胞の表面のタンパクータンパクの相互作用のような2種類の生物種or細胞(APCやT-cellなど)&2つの分子同士のDBの場合に属性の区別がつかなくなります。対応できる場合に例があると助かります。(鹿内さん)
- A : まず,今回のプロパティ構造では宿主と病原体の種の区別は行っていません。ただ,複数の生物種が対応する場合には,複数記述しておいても構わないです。Sagaceでは,原則として最初に記述されているのものを採用して表記します。
- Q : 化合物のMicroDataに関して、議論がされていたと思うのですが何かUpdateがありますでしょうか。(NITE 市川さん)
- A : 今回のBioHackathonでは,BiologicalDatabaseに本当に共通の語彙だけを提案しようということでかなり絞り,他の専門分野についてはその下に階層を作り,その専門分野の方々と相談しながら決めていきたいと考えていました。そこに化学式を加えるということは出来ると思います。
- Q : XHTMLですと、属性値を省略できないので itemscope itemtype="BiologicalDatabaseEntry"となるところをitemscope="itemscope"で書いても大丈夫でしょうか。(市川さん)
- A : どちらでご記述いただいても問題ありません。
自由記述欄
- 質問,コメント募集します。お気軽にお書きいただければと思います〜
- どこまで埋め込めばいいの?
- ご対応いただける範囲で構いません。
- span以外のHTMLタグでもプロパティは大丈夫?
- 他のタグでも最初に語彙の宣言とその後にプロパティをお書きいただいてマークアップされる部分を指定して囲っていただければ,問題無いです。
メンバー
- 森田瑞樹(mizuki@nibio.go.jp)
- 伊藤真和吏(maori@nibio.go.jp)