Principle: URI/Identifier Space (principle 3)
- Overview
- Open (principle 1)
- Common Format (principle 2)
- URI/Identifier Space (principle 3)
- Versioning (principle 4)
- Scope (principle 5)
- Textual Definitions (principle 6)
- Relations (principle 7)
- Documentation (principle 8)
- Documented Plurality of Users (principle 9)
- Commitment To Collaboration (principle 10)
- Locus of Authority (principle 11)
- Naming Conventions (principle 12)
- Notification of Changes (principle 13)
- Maintenance (principle 16)
- Responsiveness (principle 20)
GO TO: Recommendations/Requirements | Implementation | Examples/Counter‑Examples | Criteria for Review | Feedback/Discussion
Summary
Each ontology MUST have a unique IRI in the form of an OBO Foundry persistent URL (PURL) that includes the ontology’s short namespace.
Purpose
A unique namespace within the OBO Foundry Library allows the source of an element or term (e.g., class, property) from any ontology to be identified immediately by the prefix of the identifier. It also allows ontology element IRIs to be shortened to a compact URI or CURIE, which allows developers to use CURIES for working with ontologies. OWL syntax allows for ontologies and their elements to have identifiers in the form of an IRI. The OBO Foundry uses IRIs in the form of PURLs to allow an ontology and its elements to be resolvable (findable on the web). PURLs are URLs (and thus locate the resource) that are permanent or redirectable, allowing the URL to point to a new location when the resource moves. OBO Foundry PURLs use a standard format that includes the ontology namespace so that they can be easily maintained by a group of volunteers, and so ontology maintainers can update the location their PURL points to using a GitHub pull request.
Recommendations and Requirements
Each ontology MUST have a unique IRI in the form of an OBO Foundry permanent URL (PURL). The PURL must include the ontology namespace, which is abbreviated by a short set of letters approved by the OBO Foundry Operations Committee. Every element (class, property, etc.) created by the ontology MUST use the namespace in the identifier of each element, as specified in the OBO Foundry ID policy.
Implementation
Ontology Namespace:
The namespace is a short string of letters (usually 2-5) that represents the ontology. When used as part of a CURIE, on its own, or as part of a term ID, the namespace is generally capitalized. When used as part of the ontology IRI, the namespace is in lower case. See examples below.
To request a new namespace, ontology developers MUST follow the guidelines outlined here. Note that very short namespaces (2-3 characters) are reserved for ontologies that cover a general domain and are likely to be frequently used.
The ontology namespace MUST be unique; that is, it MUST NOT be in current use or have been used in the past.
Ontology IRI:
The primary IRI for an OBO Library IRI MUST have the following format: https://purl.obolibrary.org/obo/$namespace.owl
Note: To conform with OBO Foundry Principle 2, the ontology IRI MUST resolve to the ontology file, not a landing page.
For guidelines on how to create IRIs for ontology elements/terms, see the OBO Foundry ID policy.
Examples
http://purl.obolibrary.org/obo/go.owl http://purl.obolibrary.org/obo/pco.owl
Counter Examples
The following counter examples are valid ontology IRIs, but do not conform with OBO Foundry principles.
http://iridl.ldeo.columbia.edu/ontologies/SWEET.owl
Furthermore, these IRIs do not resolve to the ontology file.
http://purl.org/dc/terms/
http://dbpedia.org/ontology/
Criteria for Review
The ontology namespace MUST be registered following the procedures outlined within the OBO Foundry membership requirements and technical details document. In addition, the ontology IRI MUST follow the format given above.
This check is automatically validated. The automatic check fully covers the requirements for this principle.
Feedback and Discussion
To suggest revisions or begin a discussion pertaining to this principle, please create an issue on GitHub.
To suggest revisions or begin a discussion pertaining to the automated validation of this principle, please create an issue on GitHub.