Comparison of Registries

An overview on registries covering biomedical ontologies, controlled vocabularies, and databases.

Data Models

A 🟢 means the field is required. A 🟡 means it is part of the schema, but not required or incomplete on some entries. A 🔴 means that it is not part of the metadata schema. For lookup services like the OLS, some fields (i.e., Example ID, Default Provider, Alternate Providers) are omitted because inclusion would be redundant.

Caveats: Several of Wikidata's fields can be accessed indirectly with alternative SPARQL queries. BioPortal's data is locked behind an API that requires a key and has rate limited access. The Crop Ontology Curation Tool does not list homepages because it is the homepage itself. Non-english language registries in the OntoPortal Alliance were not included.

Registry Score Name Homepage Description Example Pattern Provider Alternate Providers Alternate Prefixes License Version Contact
AberOWL 13 🟢 🟢 🟢 🔴 🔴 🔴 🟡 🔴
AgroPortal 12 🟢 🟢 🟢 🔴 🔴 🟡 🟡 🟡
BioContext -4 🔴 🔴 🔴 🔴 🔴 🟡 🔴 🔴 🔴 🔴 🔴
BioPortal 12 🟢 🟢 🟢 🔴 🔴 🔴 🟢 🟡
Biolink 3 🟢 🔴 🔴 🔴 🔴 🟢 🔴 🔴 🟡 🔴 🔴
Bioregistry 26 🟢 🟢 🟢 🟢 🟡 🟡 🟡 🟡 🟡 🟡 🟡
Cellosaurus 4 🟢 🟢 🔴 🔴 🔴 🟢 🔴 🔴 🔴 🔴 🔴
CHEMINF -5 🟢 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴
CropOCT 3 🟢 ⚪* 🔴 🔴 🔴 🔴 🔴 🔴
EDAM -2 🟢 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴
EcoPortal 10 🟢 🟡 🟢 🔴 🔴 🟡 🟡 🟡
FAIRSharing 8 🟢 🟢 🟢 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🟢
GO 9 🟢 🟡 🟡 🟡 🟡 🟡 🟡 🔴 🔴 🔴 🔴
HL7 2 🟢 🟡 🟡 🔴 🔴 🔴 🔴 🔴 🔴 🟡
Identifiers.org 22 🟢 🟢 🟢 🟢 🟢 🟢 🟡 🔴 🔴 🔴 🔴
N2T 23 🟢 🟢 🟢 🟢 🟢 🟢 🟡 🟡 🔴 🔴 🔴
NCBI 2 🟢 🟢 🔴 🟢 🔴 🔴 🔴 🔴 🔴 🔴 🔴
OBO Foundry 15 🟢 🟢 🟢 🔴 🔴 🔴 🔴 🔴 🟢 🔴 🟢
OntoBee 11 🟢 🟢 🟢 🔴 🔴 🔴 🔴 🟢
OLS 15 🟢 🟡 🟢 🔴 🔴 🟢 🟡 🟡
Prefix Commons 15 🟢 🟡 🟡 🟡 🟡 🟡 🟢 🟡 🔴 🔴 🔴
Prefix.cc 0 🔴 🔴 🔴 🔴 🔴 🟢 🟡 🔴 🔴 🔴 🔴
re3data 8 🟢 🟢 🟢 🔴 🔴 🔴 🔴 🔴 🟡 🔴 🟡
UniProt 7 🟢 🟢 🔴 🔴 🔴 🟢 🔴 🔴 🔴 🔴 🔴
Wikidata 21 🟢 🟡 🟢 🟡 🟡 🟡 🟡 🔴 🟡* 🟡* 🟡*

Capabilities

This section provides a systematic evaluation and comparison of the capabilities of each registry.

Fair
Does this registry provide a structured bulk dump of its prefixes, records, and all associated metadata in an easily findable and accessible manner?
Search
Does this registry provide a URL into which a search query can be formatted to show a list of results?
Provider
The registry provides information about its own prefixes either in the form of a web page or an API endpoint. These can be accessed through a stable URL into wich a prefix can be formatted.
Resolver
The registry can act as a resolver, i.e., it redirects to an external page about a given biomedical concept or entity based on its CURIE and the registry's internal metadata data about the prefix's associated URI format string.
Lookup
The registry can act as a lookup service, i.e., it gives information about a given biomedical concept or entity based on its CURIE.
Registry Mappings FAIR Search Provider Resolver Lookup
AberOWL 325 🟢 🟢 🟢 🔴 🟢
AgroPortal 68 🔴 🔴 🟢 🔴 🔴
BioContext 840 🟢 🔴 🟢 🔴 🔴
BioPortal 320 🔴 🔴 🟢 🔴 🔴
Biolink 94 🟢 🔴 🔴 🔴 🔴
Bioregistry 1501 🟢 🟢 🟢 🟢 🔴
Cellosaurus 99 🟢 🔴 🔴 🔴 🔴
CHEMINF 19 🔴 🔴 🟢 🔴 🔴
CropOCT 34 🟢 🟢 🟢 🔴 🔴
EDAM 113 🟢 🔴 🟢 🔴 🔴
EcoPortal 4 🔴 🔴 🟢 🔴 🔴
FAIRSharing 567 🔴 🟢 🟢 🔴 🔴
GO 141 🟢 🔴 🔴 🔴 🔴
HL7 46 🔴 🔴 🟢 🔴 🔴
Identifiers.org 780 🟢 🟢 🟢 🟢 🔴
N2T 677 🟢 🔴 🟢 🟢 🔴
NCBI 72 🔴 🔴 🔴 🔴 🔴
OBO Foundry 253 🟢 🔴 🟢 🟢 🔴
OntoBee 216 🔴 🔴 🟢 🔴 🟢
OLS 273 🟢 🟢 🟢 🔴 🔴
Prefix Commons 353 🟢 🟢 🟢 🔴 🔴
Prefix.cc 0 🟢 🔴 🟢 🔴 🔴
re3data 124 🔴 🟢 🟢 🔴 🔴
UniProt 96 🟢 🟢 🟢 🔴 🔴
Wikidata 131 🟢 🟢 🟢 🔴 🔴

Governance

This section provides a systematic evaluation and comparison of the governance and standard operating procedures for each registry.

Accepts External Contributions
Does the registry (in theory) accept external contributions, either via suggestion or proactive improvement? This field does not pass judgement on the difficult of this process from the perspective of the submitter nor the responsiveness of the registry. This field does not consider the ability for insiders (i.e., people with private relationships to the maintainers) to affect change.
Public Version Control
Does the registry store its data/code in publicly available version control system, such as GitHub or GitLab? Currently there is no resource that does one but not the other, so this is grouped (for now).
Review Team
Are the reviewers for external contributions known? If there's a well-defined, maintained listing, then it can be marked as public. If it can be inferred, e.g. from reading the commit history on a version control system, then it can be marked as inferrable. A closed review team, e.g., like for Identifiers.org can be marked as private. Resources that do not accept external contributions can be marked with N/A.
Scope
What is the scope of prefixes which the registry covers? For example, some registries are limited to ontologies, some have a full scope over the life sciences, and some are general purpose.
Status
What is the status of the repository? An active repository is still being maintained and also is responsive to external requests for improvement. An unresponsive repository is still being maintained in some capacity but is not responsive to external requests for improvement. An inactive repository is no longer being proactively maintained (though may receive occasional patches).
Registry Accepts External Contributions Public Version Control Review Team Scope Status
AberOWL 🔴 🔴 n/a bio-ontologies active
AgroPortal 🟢 🔴 private agro-ontologies active
BioContext 🟢 🟢 inferrable internal active
BioPortal 🟢 🔴 private bio-ontologies active
Biolink 🟢 🟢 inferrable internal active
Bioregistry 🟢 🟢 public life sciences active
Cellosaurus 🔴 🔴 n/a internal active
CHEMINF 🟢 🟢 inferrable chemistry unresponsive
CropOCT 🟢 🔴 public agro-ontologies active
EDAM 🟢 🟢 inferrable Life Sciences active
EcoPortal 🟢 🔴 private eco-ontologies active
FAIRSharing 🟢 🔴 private life sciences active
GO 🟢 🟢 inferrable internal inactive
HL7 🟢 🔴 n/a general active
Identifiers.org 🟢 🔴 private life sciences unresponsive
N2T 🔴 🔴 n/a life sciences active
NCBI 🔴 🔴 n/a internal inactive
OBO Foundry 🟢 🟢 public bio-ontologies active
OntoBee 🔴 🔴 n/a bio-ontologies active
OLS 🟢 🔴 inferrable bio-ontologies active
Prefix Commons 🟢 🔴 public life sciences active
Prefix.cc 🟢 🟢 n/a general active
re3data 🟢 🔴 private general active
UniProt 🔴 🔴 n/a internal active
Wikidata 🟢 🔴 inferrable general active

Related Software

Conversion between CURIEs and IRIs

The semantic web and ontology communities are bound to the use of IRIs as identifiers and therefore are very interested in the interconversion between compact identifiers (i.e., CURIEs) and IRIs. While the Bioregistry provides many tools for one way conversion from CURIEs to IRIs, there are several related packages that help parse CURIEs from IRIs:

  • The @geneontogy/dbxrefs Node.js package translates CURIEs into URLs using the Gene Ontology Registry.
  • The curie-util-py Python package more generally loads JSON-LD files to convert between IRIs and CURIEs.