bibliotek-o: A Framework for Modeling Bibliographic Metadata
What is bibliotek-o?
bibliotek-o is an ontology framework for modeling bibliographic metadata based on the Library of Congress BIBFRAME ontology. It includes:
- The bibliotek-o ontology, which defines extensions and modifications to BIBFRAME and is intended to be used as a supplement to the core BIBFRAME ontology.
- A set of external ontology fragments (including BIBFRAME) intended for use with the bibliotek-o ontology.
- A data model and application profile - i.e., a set of recommended models and patterns for expressing bibliographic metadata using BIBFRAME, the bibliotek-o ontology, and other external ontologies.
bibliotek-o is a joint product of the Mellon Foundation-funded Linked Data for Libraries Labs (LD4L Labs) and Linked Data for Production (LD4P) projects. See the LD4L website, the LD4L Labs public wiki, and the LD4P public wiki for more information about these projects.
- 2017-07-06 Release of Version 1.1.0
- bibliotek-o remains frozen at Version 1.1.0 until further notice.
This repository contains the formal bibliotek-o specification, ontology and dataset recommendations for use with bibliotek-o (including the recommended BIBFRAME terms), and a set of human-readable documentation.
target-ontologies/bibliotek-o.owl: OWL specification of bibliotek-o
target-ontologies/: RDFS and OWL specifications of recommended ontology fragments, including BIBFRAME, for use with bibliotek-o
reference-ontologies/: Full specifications of these ontologies, for reference purposes
xsd/bibliotek-o.datatypes.xsd: Datatypes defined by bibliotek-o
datasets/: Datasets included in the bibliotek-o recommendation
doc/lode/: Human-readable documentation (generated by the online LODE tool):
doc/overview/: Overview diagrams of the bibliotek-o application profile, in both vue and png formats
doc/principles/: The foundational principles applied to the development of bibliotek-o
doc/admin/: Documentation of administrative processes and procedures, such as change and release processes
CHANGELOG.md: Release change log
The following protocols are used to version and record changes to the ontology.
- The use of OWL versioning predicates follows the OWL 2 specification.
owl:ontologyIRIidentifies the ontology; e.g.,
owl:versionIRIidentifies a particular version of the ontology; e.g.,
owl:ontologyIRIredirects to the
owl:versionIRIof the current version of the ontology.
- Previous versions of the ontology continue to be available at their
- By importing or referencing terms from a particular
owl:versionIRI, users are insulated from non-backward-compatible changes in newer published versions until they decide to upgrade.
- Version numbering convention (
MAJOR: non-backward-compatible modifications
MINOR: backward-compatible semantic modifications
PATCH: non-semantic modifications, such as changing an rdfs:label.
owl:versionIRIis updated for
MINORversions, but not
PATCHversions. It thus includes only the
MINORversion numbers, as in
- To avoid an unnecessary proliferation of
owl:deprecatedis applied to terms slated for removal. A term deprecated in a
MINORversion will be removed in the next
owl:versionInfoprovides a label containing the version number, formatted as "Version n.n.n"; e.g., "Version 1.1.0". This version number is also used to tag the repository, in this case
owl:priorVersionprovides the URI of the previous MAJOR.MINOR version of the ontology, if any.
owl:incompatibleWithmay also be used to reference previous MAJOR.MINOR versions of the ontology, where applicable.
Issuance and modification datetimes
dcterms:issuedis used on each ontology term, and on the ontology as a whole, to indicate datetime of first issuance.
dcterms:modifiedis used on each ontology term, and on the ontology as a whole, to indicate last modification datetime.
- Terms not modified since first issuance have the same
- Datetime values are expressed in ISO-8601 format; e.g., "2017-04-22T01:30:00-04:00".
dctermsvalues do not include extraneous text, so that they are machine-readable without parsing. Change descriptions are provided by
skos:changeNote(see following section).
skos:changeNoteis used to provide human-readable descriptions of term modifications.
skos:changeNoteis used per version. That is, if more than one change is made to the same term in the same version, all are recorded in the same change note. If multiple changes are made to the same term in different versions, they are recorded in multiple change notes.
- The change note also records the ontology version, so that modifications to a term can be traced through the affected versions of the ontology. The format used is, e.g., "Fix rdfs:label (v1.0.1)".
skos:changeNotecould be applied to the ontology itself to record major, broad, or high-level changes affecting multiple terms.
- Changes are also recorded in the project change log.
Change and release process
Please refer to the Change and Release Management documentation for details on this process.
Additional bibliotek-o documentation
- A diagrammatic overview of the bibliotek-o application profile with an index of terms
- An overview of the principles and best practices guiding the development of bibliotek-o (forthcoming)
- Discussion and diagrams of the principal models and patterns adopted by bibliotek-o (forthcoming)
- Mapping tables from current catalog formats to the ontology recommendation (forthcoming)
- Application profiles for original data modeling using the bibliotek-o recommendation (forthcoming)
This work in provided under a CC0 waiver, it is published from the United States.