SPARQLthon62/DDBJ

提供:TogoWiki

2018年1月16日 (火) 00:57時点におけるYokookbp (トーク | 投稿記録)による版
(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内, 検索

目次

DDBJ RDFのRDF portal査定にともなう検討項目

insdc:Entryのインスタンスにdcterms:identifier, rdfs:labelのトリプルを記述

# 主なクラスのインスタンスに必要な情報
# 主なクラスの定義は明確ではないですが、DDBJの場合、少なくとも、insdc:Entry は主なクラスだと思います。
insdc:Entry のインスタンスにIDのリテラルと、ラベルがついていません。
  dcterms:identifier プロパティで、IDラベルを
  rdfs:label で、ラベルを
付けていただきたいです。

→ トリプル追加 or 変更。INSDCの語彙を利用する+トリプル数を増やさない視点では、Ontologyに subproperyとして記述したいところ。 → 合意事項: dcterms:identifier, rdfs:label のトリプルを追加する

<http://identifiers.org/insdc/AE006470.1>;    rdf:type    insdc:Entry .
<http://identifiers.org/insdc/AE006470.1>;    insdc:sequence_version    "AE006470.1" .
<http://identifiers.org/insdc/AE006470.1>;    dcterms:identifier    "AE006470.1" .
<http://identifiers.org/insdc/AE006470.1>;    rdfs:label    "AE006470.1" .

dc ではなくて dcterms を使う。

Feature や Taxonomy では、identifier  を記載するのに、dc:identifier が使われていますが、これをdcterms:identifier に変更して頂きたいです。

→ 変更 → 合意事項: prefixを変更

Before: @prefix    dc:    <http://purl.org/dc/elements/1.1/>; .
After: @prefix    dc:    http://purl.org/dc/terms/; .

(参考)

so_part_ofの利用の理由について

# so_part_of

これは質問なのですが、insdc:Sequence と Feature や Source Feature をつなぐのに

 <Feature> obo:so_part_of <Sequence>  .

と記載されています。スキーマ図的には、

 <Sequence> obo:so_has_part <Feature> .

としたほうが自然な気がするのですが、何か理由があるのでしょうか。

→ 変更なし。1st RDFsummitで?GFF等ID, Parentの関係からFeatureを上にたどるほうが将来の相互変換の視点でも合理的かとおもいます。→ 合意事項: 変更なし

文献を参照する際のプロパティ PubMed や DOI のURIを参照する際は、rdfs:seeAlso ではなく、dcterms:references を使って頂けないでしょうか。

  → プロパティの変更 → 合意事項: rdfs:seeAlso から dcterms:references に変更

Before: <http://identifiers.org/insdc/AE006470.1>;    rdfs:seeAlso    <http://identifiers.org/pubmed/12093901>; .
After: <http://identifiers.org/insdc/AE006470.1>;    dcterms:references    <http://identifiers.org/pubmed/12093901>; .

文献情報の冗長記述について

ところで、文献については、insdc:Entry から直接参照されているのと、それ以外に
insdc:Entry から、insdc:reference によって文献のinsdc:Entry  を指して、そこに詳細な文献情報が記載される
のと2回記載されています。ガイドライン的には冗長なことはあまり問題にしていないのですが、
insdc:reference で文献が記述されているなら、配列のEntry から直接参照するトリプルは必要ないかも
しれません(両者が同じ文献を指していると仮定しています。違う場合があるならすいません)。

→ 要相談。database間link表現を揃えるために、冗長に記載した経緯あり。DirectSubmissionのrefrence情報は外部リンクを持たない。 → 合意事項: 対応不要

Bibliographic Ontology の利用について

この insdc:reference が指す文献インスタンス以下は、insdcref: (http://ddbj.nig.ac.jp/ontologies/nucleotide/reference)
の語彙が利用されているのですが、ガイドラインでは、Bibliographic Ontology の利用を推奨しています。

その場合、

@prefix basic: <http://prismstandard.org/namespaces/1.2/basic/> . とすると

insdcref:journal -> basic:publicationName
insdcref:volume -> basic:volume
insdcref:pages  ->  basic:pages
insdcref:author  ->  basic:authorList  ( これ目的語に、rdf:List か rdf:Seq をとるので嫌かもしれません)

のようになります。また、bibo:Article クラスのインスタンスになります。

→ 要相談。authorList 対応は避けたい。また、DirectSubmissionのrefrence情報について、typeをどう扱うか。 → 合意事項: 対応不要

sio:has-value → rdf:value の提案

あと、文献のインスタンスから、sio:has-value を利用して、数値が記載されています。
文献の連番かと思いますが、より一般的な、rdf:value  を利用してはいかがでしょうか。

→ 要相談。sio:is-part-ofにそろえておそらくsio:has-value を利用したはず。変更する? → 合意事項: sio:has-value から rdf:value に変更

<http://identifiers.org/insdc/AE006470.1>;    insdc:reference    <http://identifiers.org/insdc/AE006470.1#reference.1>; .
<http://identifiers.org/insdc/AE006470.1#reference.1>;    sio:SIO_000300    1 .  # sio:has-value
<http://identifiers.org/pubmed/12093901>;    sio:SIO_000068    <http://identifiers.org/pubmed>; .  # sio:is-part-of

スキーマ図に書かれているトリプルが存在しない

##スキーマ図の文献例

なお、スキーマ図では、insdc:Entry のインスタンス(例としてAP014957.1が使われています)
から直接 rdfs:seeAlso  により文献 <http://identifiers.org/pubmed/24280374> が参照されていますが、
実際のデータでは、このトリプルは無いように見えます。
他のEntryインスタンスでは文献参照のトリプルがあるので、スキーマとして正しいのかと思いますが
せっかくなので実在する例の使ったほうがいいかと思います(もしかしてある時点で無くなったの
でしょうか)。

→ 要調査、おそらくGenBank, DDBJ形式ファイル実データの差異による → 確認事項: AP014957.1 の実データに即して、スキーマ図を変更する

スキーマ図のタイポ等

2箇所、refs:label となっているところがあります (正しくは、rdfs:label)。
insdcref:pubmed 

→修正した

InterProのdb_xrefに空白が含まれる場合に不正なURIになる

<http://identifiers.org/insdc/CP002632.1#feature:915-1331:1:CDS.289540>	rdfs:seeAlso	<http://identifiers.org/interpro/Copper amine oxidase, N2/N3-terminal> .

InterProのdb_xrefに空白が含まれるケースは元からあって、特定のシーケンスIDに対してアドホックな処理を入れているコード

EntryIDの正規表現は/^IPR\d{6}$/のようだがidentifier、GenBankファイルには色々なIDやテキストが含まれているNC_022987.1の例

/db_xref="InterPro:IPR001098"
/db_xref="InterPro:IPR002298"
/db_xref="InterPro:PF00476"
/db_xref="InterPro:PR00868"
/db_xref="InterPro:PTHR10133"
/db_xref="InterPro:SM00482"
/db_xref="InterPro:SSF56672"

対応案

IDが/^IPR\d{6}$/の場合には従来のdb_xrefを出力し、それ以外はGenBankのページリンクを真似て下のURLを組み立てる

  • IDが/^IPR\d{6}$/の場合
<http://identifiers.org/refseq/NC_002330.1#feature:208-2592:1:CDS.1>    rdfs:seeAlso    <http://identifiers.org/interpro/IPR001337> .
<http://identifiers.org/interpro/IPR001337>     rdfs:label      "IPR001337" .
<http://identifiers.org/interpro/IPR001337>     dc:identifier   "IPR001337" .
<http://identifiers.org/interpro/IPR001337>     rdf:type        insdc:InterPro .
<http://identifiers.org/interpro/IPR001337>     sio:SIO_000068  <http://identifiers.org/interpro> .  # sio:is-part-of
  • IDが/^IPR\d{6}$/ではない場合
<http://identifiers.org/refseq/NC_002330.1#feature:208-2592:1:CDS.1>    rdfs:seeAlso  <http://www.ebi.ac.uk/interpro/ISearch?mode=ipr&query=#{URLエスケープした文字列}>

対応事項

dbcls/rdfsummitレポジトリのinsdc2ttl.rbの変更 (片山)

    1. <Entry> dcterms:identifier "[sequence_version]". トリプルの追加
    2. <Entry> rdfs:label "[sequence_version]". トリプルの追加
    3. @prefix dc: <http://purl.org/dc/elements/1.1/>; . → @prefix dc: http://purl.org/dc/terms/; . に変更
    4. リファレンス番号を記述しているトリプルのプロパティを sio:has-value から rdf:value に変更
  • スキーマ図の更新 v2 → v3 -tf(藤澤)
    1. スキーマ図に書かれている存在しないトリプルの関係図を消す
    2. タイポの修正
  • DDBJ RDFの更新(藤澤)
  • TogoGenomeの対応(岡別府)
/mw/SPARQLthon62/DDBJ」より作成