TitleBibliographic Ontology (BIBO) in RDF
MaintainerDCMI Usage Board (contact: Bruce d'Arcus)
CreatorsBruce D'Arcus
Frédérick Giasson
DescriptionThe Bibliographic Ontology (BIBO) is a Semantic Web vocabulary for expressing citations and bibliographic references.
Current Version (RDF/OWL)
Latest update2016-05-11
Document StatusDCMI Community Specification

About BIBO

The Bibliographic Ontology was developed in 2008 by Bruce D'Arcus and Frédérick Giasson as a Semantic Web vocabulary for describing bibliographic entities such as citations and documents. In November 2018, responsibility for the preservation and maintenance of BIBO was transferred to DCMI. Within DCMI, responsibility for BIBO rests with the DCMI Usage Board (contact: Bruce D'Arcus).

The Bibliographic Ontology describe bibliographic things on the semantic Web in RDF. This ontology can be used as a citation ontology, as a document classification ontology, or simply as a way to describe any kind of document in RDF. It has been inspired by many existing document description metadata formats, and can be used as a common ground for converting other bibliographic data sources.

Terminology and Notation

Namespace URIs of the general form "" represents some application-dependent or context-dependent URI as defined in RFC 2396 [RFC 2396].

The XML Namespace URI that MUST be used by implementations of this specification is:


The Bibliographic Ontology is an effort of Frédércick Giasson and Bruce D'Arcus to express citations and bibliographic relations using RDF and to query that same information using the SPARQL query language for RDF.

The specific contents of the Bibliographic Ontology are detailed in the Bibliographic Ontology namespace document.

The Bibliographic Ontology Description

This specification serves as the Bibliographic Ontology "namespace document". As such it describes the Bibliographic Ontology and the terms (RDFclasses and properties) that constitute it, so that Semantic Web applications can use those terms in a variety of RDF-compatible document formats.

This document presents the Bibliographic Ontology as a Semantic Web vocabulary or Ontology. The Bibliographic Ontology is straightforward, pragmatic and designed to allow simultaneous deployment and extension, and is therefore intended for widescale use.

Evolution and Extension of the Bibliographic Ontology

The Bibliographic Ontology is identified by the namespace URI ''.

Revisions and extensions of Bibliographic Ontology are conducted through edits to the namespace document, which by convention is published in the Web at the namespace URI.

The properties and types defined here provide some basic concepts for use in Bibliographic Ontology descriptions. Other vocabularies (e.g. the Dublin Core metadata elements for simple bibliographic description, FOAF, etc.) can also be mixed in with the Bibliographic Ontology terms, as can local extensions. The Bibliographic Ontology is designed to be extended, and modules may be added at a later date.

Bibliographic Ontology Modules

Bibliographic Ontology modules may be used to extend the ontology and avoid making the base ontology too complex.

The Bibliographic Ontology and Standards

It is important to understand that the Bibliographic Ontology as specified in this document is not a standard in the sense of ISO Standardisation, or that associated with W3C Process.

The Bibliographic Ontology depends heavily on W3C's standards work, specifically on XML, XML Namespaces, RDF, and OWL. All the Bibliographic Ontology documents must be well-formed RDF/XML documents.

This specification contributes an ontology, the "Bibliographic Ontology ", to the Semantic Web, specifying it using W3C's Resource Description Framework (RDF). As such, the Bibliographic Ontology adopts by reference both a syntax (using XML), a data model (RDF graphs) and a mathematically grounded definition for the rules that underpin the RDF design.

The Bibliographic Ontology and RDF

Why does the Bibliographic Ontology use RDF?

The Bibliographic Ontology is an application of the Resource Description Framework (RDF) because the subject area we're describing – citations and bibliographic references-- has so many competing requirements that a standalone format would not capture them or would lead to trying to describe these requirements in a number of incompatible formats. By using RDF, the Bibliographic Ontology gains a powerful extensibility mechanism, allowing Bibliographic-Ontology-based descriptions to be mixed with claims made in any other RDF vocabulary.

The Bibliographic Ontology as an ontology cannot incorporate everything we might want to talk about that is related to citations and bibliographic references. Instead of covering all topics within the Bibliographic Ongoloty itself, we describe the basic topics and build into a larger framework - RDF - that allows us to take advantage of work elsewhere on more specific description vocabularies.

RDF provides the Bibliographic Ontology with a way to mix together different descriptive vocabularies in a consistent way. Vocabularies can be created by different communities and groups as appropriate and mixed together as required, without needing any centralized agreement on how terms from different vocabularies can be written down in XML or N3.

Check the Ontology namespaces referenced section to find some ontologies that ca be use in conjonction with the Bibliographic Ontology.

There are mechanisms for saying which RDF properties are connected to which classes, and how different classes are related to each other, using RDF Syntax and OWL. These can be quite general (all RDF properties by default come from an rdf:Resource for example) or very specific and precise (for example by using OWL constructs). This is another form of self-documentation, which allows you to connect different vocabularies together as you please.

In summary then, RDF is self-documenting in ways which enable the creation and combination of vocabularies in a devolved manner. This is particularly important for an ontology which describes communities, since online communities connect to many other domains of interest, which it would be impossible (as well as suboptimal) for a single group to describe adequately in non-geological time.

RDF is usually written using the XML or N3 syntaxes. If you want to process the data, you will need to use one of the many RDF toolkits available, such as Jena (Java) or Redland (C).

More information about RDF can be found in the RDF Primer.