SPARQLthon46/idorg-ontology
提供:TogoWiki
Identifiers.org の URI は データベースRDF化ガイドライン で推奨しているため NBDC RDF portal や TogoGenome、DDBJ RDF などで多用しているが、各データベースエントリの URI がどのデータベースに由来するかを記載する方法が現状では限られている。
例えば UniProt の URI http://identifiers.org/uniprot/P0AD86 が UniProt Knowledgebase の ID であることを示すのに、現状では
<http://identifiers.org/uniprot/P0AD86> dcterms:source <http://identifiers.org/miriam.collection/MIR:00000005> . <http://purl.uniprot.org/uniprot/P0AD86> dcterms:publisher <http://identifiers.org/miriam.resource/MIR:00100134> .
のように MIRIAM レコードの URI を使う方法があるが、MIRIAM の ID は覚えにくいのと cool ではないので、できれば
<http://identifiers.org/uniprot/P0AD86> sio:is-part-of <http://identifiers.org/uniprot> .
などのように書きたい。この場合 http://identifiers.org/uniprot が UniProt データベースの URI であるということを記載したオントロジーがあると良い。
@prefix : <http://rdf.identifiers.org/ontology> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix sio: <http://semanticscience.org/resource/> . @prefix mirc: <http://identifiers.org/miriam.collection/MIR:> . @prefix mirr: <http://identifiers.org/miriam.resource/MIR:> . # @prefix dcat: <http://www.w3.org/ns/dcat#> . <http://rdf.identifiers.org/ontology> rdf:type owl:Ontology ; dct:license <http://creativecommons.org/publicdomain/zero/1.0/> ; owl:versionInfo "Created on 2016-07-25"^^xsd:string . :DatabaseEntry rdf:type owl:Class ; owl:subClassOf sio:SIO_000756 . # sio:DatabaseEntry :Database rdf:type owl:Class ; owl:subClassOf sio:SIO_000089 . # sio:Dataset :entryOf rdfs:domain :DatabaseEntry ; # sio:DatabaseEntry rdfs:range :Database ; # sio:Database owl:subPropertyOf sio:SIO_000068 . # sio:is-part-of (or sio:SIO_001278 is-data-item-in) # <http://identifiers.org/miriam.collection/MIR:00000005> # => <http://www.ebi.ac.uk/miriam/main/collections/MIR:00000005> rdf:type dcat:CatalogRecord # ( <http://www.ebi.ac.uk/miriam/main/collections/MIR:00000005.ttl> ) <http://identifiers.org/uniprot> rdf:type :Database ; # Recommended name rdfs:label "UniProt Knowledgebase"^^xsd:string ; # Description rdfs:comment "The UniProt Knowledgebase (UniProtKB) is a comprehensive resource for protein sequence and functional information with extensive cross-references to more than 120 external databases. Besides amino acid sequence and a description, it also provides taxonomic data and citation information." ; # [TODO] appropriate predicate? dct:source mirc:00000005 ; dct:publisher mirr:00100134 ; # [TODO] how to obtain those external equivalent URIs? rdfs:seeAlso <https://biosharing.org/biodbcore-000544> ; rdfs:seeAlso <http://integbio.jp/dbcatalog/en/record/nbdc00221> .
だいたいこんなものを作れば良さそう (TODO: entryOf が CamelCase の predicate になっているのがちょっと気に食わない)
実装: https://github.com/ktym/idorg-ontology
% curl http://www.ebi.ac.uk/miriam/main/export/xml/ > resources_all.xml % gem install nokogiri % ruby miriam-xml2owl.rb resources_all.xml > resources_all.owl