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