This version:
Latest version:
Previous version:
Ray Denenberg, Library of Congress
Contributors (in alphabetical order):

Jan Ashton, British Library
Karim Boughida, George Washington University Libraries
Alan Danskin, British Library
Corine Deliot, British Library
Nancy Fallgren, National Library of Medicine
Ted Fons, OCLC
Kevin Ford, Library of Congress
Jean Godby, OCLC
Uche Ogbuji, Zepheira
Rebecca Guenther, Library of Congress
Reinhold Heuvelmann, German National Library
Sally McCallum, Library of Congress
Eric Miller, Zepheira
Jackie Shieh, George Washington University Libraries
Nate Trail, Library of Congress
Beacher Wiggins, Library of Congress



This document presents a framework to express and exchange BIBFRAME Annotations.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This document has been made available to the BIBFRAME Community for review, but is not endorsed by them. This is a working draft, and it is not endorsed by the Library of Congress. It is inappropriate to refer to this document other than as "work in progress".

Please send general comments about this document to the public Bibliographic Framework Initiative discussion list.


Annotations are commomplace on the web. Comments about photos, videos, and articles; reviews of restaurants and books -- these are considered informally to be web Annotations.

In a narrower context there are BIBFRAME Annotations. In general, an Annotation asserts information about a resource; a BIBFRAME Annotation asserts information about a BIBFRAME resource.

A book, for example, might be described by a BIBFRAME Work.   A review of that book may be attached, via a BIBFRAME Annotation, to that BIBFRAME Work.

Aims of this Model

The general BIBFRAME model defines four core resource classes: Work, Instance, Authority, and Annotation; this model focuses on the latter, the BIBFRAME Annotation. The aim is to define BIBFRAME Annotations and enable them to be expressed and exchanged interoperably and efficiently.

It is also the aim of this model to be compatible and interoperable, where appropriate, with other Annotation community efforts.

Use Cases

Following are use case scenarios motivating the development of the BIBFRAME Annotation model.

  • Cover Art. Hennepin County Library acquires an ebook copy of Shakespeare's Macbeth. The library wishes to find cover art that it can use to advertise its copy. (Either there was no cover art supplied with the copy, or the cover art supplied was not deemed satisfactory.) There are dozens or perhaps hundreds of cover art images for Macbeth. For many of these images, someone (either the artist, or a third-party annotator) has created an annotation saying "this image is cover art for this Instance". The Library can search cover art Annotations and select one that it likes.

  • Holdings. Lucy is looking for a copy of the book Plum Island, by DeMille. She would like to find a local library that holds a copy, within her town of Independence Missouri. She searches by title and finds the BIBFRAME Work, which points to instances. Holding Annotations are attached to Instances, and she discovers that Blue River Library has a copy, which she is able to borrow.

  • Reviews. Amy is trying to determine whether she wants to read the book Shining Girls by Beuke; she would like to read reviews. There are many reviews - at Goodreads, Amazon, NY Times, NPR, and various other web sites. Amy would prefer to be able to gather a list of links to reviews, rather than going to each review site individually to look for a review of the book.
    Any reviewer is of course free to post a review to whatever review site he/she chooses. However, if, when a review is written, an Annotation can be created saying "this review reviews this book", then Amy can search for review Annotations and find at least those reviews for which Annotations exist.

  • Descriptions. Tom is doing research on Brazil's political history. He comes across the BIBFRAME Work describing the book Order and progress : a political history of Brazil by Schneider. The Work has valuable information about the book, but Tom wonders if there is additional information available, not included in the Work, information that might help him decide whether the book will be useful to his research.
    Someone familiar with this book might see the BIBFRAME Work and notice that there is information missing which might be interesting or useful to a researcher, and attach a Description Annotation with that information.
    Tom searches for Annotations of the Work and finds Description Annotations that tell him additional information about the book.

These four scenarios are used to develop this model. An RDF class is defined for each. However, other use cases will surface and new Annotation classes will be defined. It is not the intent of this model to constrain the Annotation classes to the set of classes described in this document; this is a model, not a specification.


The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

A BIBFRAME Annotation, annotating a BIBFRAME resource (Work, Instance), is said to be "attached to" the resource.

What is a BIBFRAME Annotation?

An Annotation asserts information about a resource; the resource is referred to as the Annotation Target. In the BIBFRAME context, the Target is a BIBFRAME resource: Work, Instance, Authority, or Annotation

Note: This version of this model describes use cases for Works and Instances only. Future use cases may be described for Authorities. The concept of annotating an Annotation is for further study.

A BIBFRAME Work might correspond to a book, a BIBFRAME Instance might correspond to a particular publication of that book, and a BIBFRAME Authority might correspond to the author of the book. Thus the Work, Instance, and Authority are surrogates for the book, publication, and author. An Annotation -- for example a description -- attached to the Work, Instance, or Authority, would, in this sense, pertain to the book, publication, or person.

The nature of the relationship between a resource and an Annotation of the resource -- the "aboutness"  of the Annotation -- is conveyed by its Class (see Classes).

Purpose of an Annotation

Annotations are asserted in order to:

  • Express opinions about a resource,  for example a review.
  • Attach institution specific information, for example holdings.
  • Contribute enhancements to a resource description,  for example cover art or summary descriptions.

Annotations are Extrinsic

The information asserted by an Annotation is  generally extrinsic to its Target.

Please feel free to skip the remainder of this section, which provides a precise explanation of the above statement.


  • BR = a BIBFRAME resource (Work or Instance).
  • A = the collective information represented by its Annotations.
  • AR = the "Annotated BIBFRAME Resource": the union of A and BR.

    AR represents the collective information of the Resource and its Annotations. 

  • C = the entity responsible for creating BR.
    (May be one or more individuals and organizations. May simply be a cataloger.) 
  • C' ("C prime") = an individual or organization distinct from C
    (i.e C'  is not authorized to contribute information directly to BR). 


  • Any information that is part of BR is contributed by C
  • Conversely, in general, if C has information to contribute to AR, it is normally contributed via BR.
    (This is simply for modeling purposes. It is not a hard rule.)
  • Any information contributed to AR by C' is contributed via A (i.e. via Annotation).
That is, the collective information -- the annotated resource, AR -- is BR together with A:   C contributes via BR, C' via A.

Parties to a BIBFRAME Annotation

In the BIBFRAME Annotation scenario illustrated in the following diagram, a reviewer reviews a book; subsequently, an Annotator creates an Annotation saying that "this review reviews this book".

The parties and objects involved in this scenario are:

  • Target. In the illustration: the BIBFRAME Work describing the book .

  • Payload. The book review.

  • Class-specific Assertion. The link (in red) from the Annotation to the review, property: ' review'; asserting that this review reviews the Target.

  • General Annotation Assertions.Links (in blue) from the Annotation to:
    1. The BIBFRAME Work, property: 'annotates'; asserting that the Work is the Target.
    2. The reviewer, property: 'payloadSource'; asserting that the reviewer is the source of the review.
    3. The annotator, property: 'annotationAssertedby'; asserting that the annotator is the individual who asserted the Annotation.

  • Payload Source. The Reviewer.
    In general, the author, artist, reviewer, etc. who created the payload.

  • Annotator. The person or process that created the Annotation. It may, but need not, be the same as the source.

  • Annotation. The Annotation itself.

RDF Representation

BIBFRAME Annotations are represented in RDF (Resource Description Framework).

The prefix bf: denotes the BIBFRAME namespace

Components of a BIBFRAME Annotation

The components of a BIBFRAME Annotation are:

  1. General Annotation Assertions.
    RDF triples with properties which are common to all BIBFRAME Annotations.
    • bf:annotates. Expresses the Target.
    • bf:payloadSource. Expresses the source of the payload of the Annotation. Generally, a BIBFRAME Authority.
    • bf:payloadSourceLink. Points to a resource than contains the payload.
    • bf:annotationAssertedBy. Expresses the Annotator.

  2. Class-specific Assertions.
    RDF triples where the properties are specific to the Annotation class.

    Note: The scenario in the above picture presents the simplest (non-degenerate) case: a single class-specific assertion, bf:review. ("Non-degenerate" because any Annotation whose target is a BIBFRAME resource is considered a BIBFRAME Annotation, BIBFRAME Annotations can exist with no class-specific properties.)

  3. Payload.
    The collective information in the objects of the class-specific assertions. In the simplest case there is a single class-specific assertion and the payload is a single resource, as in the Review scenario depicted above. However there may be more than one class-specific assertion, as in the cover art example below where there are two class-specific assertions, whose objects are the cover art image and a thumbnail; the image and thumbnail collectively is the payload.


Basic Form

The basic BIBFRAME Annotation takes the following form:

{Annotation URI} a (Annotation class) ;
  (Class-specific Assertions: one or more triples whose properties are specific to the Annotation class and whose objects are specific to the corresponding propert
  bf:annotates {BIBFRAME Resource} ;
  bf:annotationAssertedBy (BIBFRAME Authority) ;
  bf:payloadSource (BIBFRAME Authority) ;
  bf:payloadSourceLink (web resource) ;
  bf:dateOfAssertion (xs:date e.g. '20130710') .



In general a BIBFRAME Annotation includes the following properties:

Property (or properties) Description Occurence
bf:annotates Expresses the Annotation Target.


Repeatable: There may be multiple Targets -- as long as all of the information in the Annotation applies to all of the Targets.

Class-specific Assertions Triples whose properties are specific to the Annotation class. Optional.
Normally, at least one. For the degenerate case there may be none.
bf:annotationAssertedBy Expresses the Annotator. Strongly recommended.
bf:payloadSource Expresses the Annotation payload Source. Optional.
bf:payloadSourceLink Points to a resource than contains the payload. Optional.
Useful for an inline Annotation, to cite where the information was extracted from. See Summary Description example.
bf:dateOfAssertion Expresses the date that the Annotation was asserted. Optional.


As noted above a BIBFRAME Annotation asserts information about a BIBFRAME resource. The "aboutness" is (normally) expressed by a BIBFRAME Annotation class.

Note. We say "normally" because this is not a requirement, since, as noted above, any Annotation whose target is a BIBFRAME resource is considered a BIBFRAME Annotation. So, a BIBFRAME Annotation may be of a class from an external namespace, such as in the example below, Annotation Using an External Namespace where the class, defined in an external namespace, is declared to be a subclass of bf:Annotation, although even this is not a requirement. In fact, a BIBFRAME Annotation may have no class at all, it may express its "aboutness' in some other manner, though this is beyond the scope of this model.

So BIBFRAME Annotations are (normally) of class bf:Annotation and subclasses are defined for specific Annotation categories. For example bf:CoverArt is a subclass of bf:Annotation, thus ....

<> a bf:CoverArt ;


.... expresses that the Annotation is class bf:CoverArt, and since bf:CoverArt is a subclass of bf:Annotation, it also expresses that this is an Annotation.

Annotation classes defined in the BIBFRAME namespace are:

  • bf:CoverArt
  • bf:Holding
  • bf:Review
  • bf:Description

    All are subclasses of

  • bf:Annotation

In addition, bf:Description has subclasses

  • bf:Summary
  • bf:Abstract
  • bf:TableOfContents

Annotation Examples URIs used for BIBFRAME resources identifiers are fictitious.

Cover Art

In this example we look at a cover art Annotation. This scenario is represented by the BIBFRAME Test Case: AnnotationCoverArt

The BIBFRAME Work, <>, which represents the book "Wildlife sanctuaries & the Audubon Society : places to hide and seek".

The Work has a BIBFRAME Instance, <>, which has cover art at <> and the cover art has a thumbnail at <>

An annotator supplies a link to the cover art image, asserting that this image is cover art for the Instance, and also includes a link to a thumbnail, for the benefit of a user who might like to inspect the thumbnail before deciding whether to retrieve the larger image.

The Annotation itself may be represented in RDF triples as:

1 <> a bf:CoverArt;
2   bf:coverArtFor

<> ;

3   bf:coverArt <> ;
4   bf:coverArtThumb <> ;
5   bf:annotationAssertedBy <> ;
6   bf:dateOfAssertion "20131010" .

The class-specific properties are found in triples 3 and 4, bf:coverArt and bf:coverArtThumb. These two properties are defined with domain of class bf:CoverArt, so they are valid only within a cover art Annotation. bf:annotationAssertedBy and bf:dateOfAssertion have domain bf:Annotation, so they may occur in any BIBFRAME Annotation. bf:coverArtFor is a subproperty of bf:annotates.


In BIBFRAME Test case AnnotationHolding,

<> is an instance of the BIBFRAME Work representing the book Bluebeard by Vonnegut.

The Holding Annotation of the Instance can be represented as follows.

1 <> a bf:Holding;
2   bf:annotationAssertedBy <> ;
3   bf:dateOfAssertion "20130808" ;
4   bf:holds <> ;
5 bf:heldBy  <> ;
6   bf:subLocation "Jefferson or Adams Building Reading Rooms" ;
7   bf:callNumber "PS3572.O5 B5 1987C" ;
8   bf:copyNote "Copy 157" ;
9   bf:copyNote "Signed by the author." ;
10   bf:copyId "71234" ;
11   bf:circulationStatus "non-circulating" ;
12   bf:accessCondition "Access is restricted; consult library for details" .

bf:holds is is a subproperty of bf:annotates.

Properties in triples 5 through 12 are specific to Holding Annotations, that is, their domain is class Holding. These Holding properties are defined by this document, however additional Holding properties may be defined.


BIBFRAME Review Annotations may be external or inline, and an example of each follows. In eithers case the following are properties of bf:Review.

  • bf:reviews (subproperty of bf:annotates)
  • bf:beginningOfReview
  • bf:fullReview
  • bf:review (equivalent to bf:fullReview)

bf:beginningOfReview allows the Annotator to include the beginning of the review inline (this does not mean it is an inline review, just that the beginning of the review is provided inline). bf:fullReview is in effect like a "Read More" button, and normally provides a link to the entire review.

External Review

The following Annotation expresses that the New York Times review at reviews the book Bluebeard - a Novel by Vonnegut.

This scenario is represented by the BIBFRAME Test Case: AnnotationReviewExternal.


1 <> a bf:Review;
2   bf:reviews <> ;
3   bf:beginningOfReview "BY the high imaginative standards of Kurt Vonnegut at his best - ''Cat's Cradle'' and 'laughterhouse-Five'' come to mind - 'Bluebeard,' it seems to me, is a minor achievement. ....."
4   bf:fullReview <> ;
5   bf:payloadSource <ttp://> ;
6   bf:annotationAssertedBy <> ;
7   bf:dateOfAssertion "20130806" .
Note that in this example, the organization who reviewed the Work (bf:payloadSource) is not the same organization that asserted the Annotation (bf:annotationAssertedBy).


Inline Review

This example is also a review of Bluebeard; in this case the entire review is inline: the content of the review is contained within the Annotation.

This scenario is represented by the BIBFRAME Test Case: AnnotationReviewInline.


1 <> a bf:Review;
3   bf:reviews <> ;
4   bf:review genid:A21756 ;
5   bf:payloadSource <> ;
6   bf:annotationAssertedBy <> ;
7   bf:dateOfAssertion "20130807" .
8 genid:A21756 a cnt:ContentAsText ;
9   cnt:chars "it ain't Cats Cradle but still vintage Vonnegut!"
10   dcterms:format 'text/plain' .

In this example, the Annotator and reviewer are the same.

Inline Annotations such as this one use the W3C specification Representing Content in RDF. The following namespaces are used:

Prefix Namespace Description
cnt Representing Content in RDF
dcterms Dublin Core Terms



BIBFRAME Description Annotations are all of class bf:Description, however bf:Description is subject to refinement (subclassing). If no subclass is declared (as in the first example below), it is referred to (informally) as a "plain description". This document declares Description subclasses: bf:Summary, bf:Abstract, and bf:TableOfContents. Additional subclasses of bf:Description can be declared. Below are examples of a "plain description and a "summary description". No matter what the Description (sub) class, the same properties are used:

  • bf:describes (subproperty of bf:annotates)
  • bf:beginningOfDescription
  • bf:fullDescription
  • bf:description (equivalent to bf:fullDescription)

These are analogous to the listed bf:Review properties.

Plain Description

In the scenario depicted in BIBFRAME test case AnnotationDescription, the BIBFRAME Work Bluebeard is annotated by a description. The beginning of the description is supplied inline, along with a link to the full description. The Annotation can be represented as follows:

1 <> a bf:Description;
2   bf:describes <> ;
3   bf:annotationAssertedBy <> ;
4   bf:payloadSource <> ;
5   bf:dateOfAssertion "20131010" ;
6   bf:beginningOfdescription " Bluebeard, the Autobiography of Rabo Karabekian (1916–1988) is a 1987 novel by best-selling author Kurt Vonnegut. It is told as a first person narrative and describes the late years of fictional Abstract Expressionist painter Rabo Karabekian, who first appeared, rather briefly, in Breakfast of Champions. Circumstances of the novel bear rough resemblance to the fairy tale of Bluebeard popularized by Charles Perrault. Karabekian mentions this relationship once in the novel." ;
7   bf:fullDescription <> .


Summary Description

In the scenario depicted in BIBFRAME test case AnnotationDescriptionSummary the BIBFRAME Work describing the book: Order and progress : a political history of Brazil by Schneider; is annotated by a summary.

Class bf:Summary is a subclass of bf:Description.

The Annotation can be represented as follows:


1 <> a bf:Summary;
2   bf:describes <> ;
3   bf:annotationAssertedBy <>;
4   bf:dateOfAssertion "20131010" ;
5   bf:payloadSource <>
6   bf:payloadSourceLink <>
7   bf:description genid:A21760 .
8 genid:A21760 a cnt:ContentAsText ;
9   cnt:chars "In this account of five centuries of political development in Brazil, Dr Schneider examines the causes and consequences of the enduring tension between order and progress - the two goals expressed in the country's national motto. He focuses on the historical roles of the three actors at the centre of Brazil's national life that have traditionally favoured order: the Church, the military, and the propertied classes. At the same time he gives careful consideration to the champions of progress, such as urban professionals, the intelligentsia and the middle class. The author weaves in discussion of the social and economic life of Brazil and how it has influenced political development since the colonial era." ;
10   dcterms:format 'text/plain' .

Annotation Using an External Namespace

This example is included ito illustrate that BIBFRAME Annotations are not constrained to BIBFRAME defined classes and properties.

Components (above) describes the components of a basic BIBFRAME Annotation. However, any Annotation where the Target is a BIBFRAME Resource may be considered a BIBFRAME Annotation. For example, the following may be considered a BIBFRAME Annotation:


1 <  a  em:Watcher ;
2   em:pingback <>;
3   bf:annotates <>;
4   bf:annotationAssertedBy <> .


"em:" denotes some namespace other than "bf:". Class em:Watcher may be declared to be a subclass of bf:Annotation, and em:pingback would have range em:Watcher.

Summary of BIBFRAME Annotation Properties and Classes


Property Domain Range Subproperty of Equivalent to
General Annotation Properties











bf:Work or Instance







Cover Art Annotation Properties




Holding Annotation Properties







Review Annotation Properties






Description Annotation Properties


bf:Work or Instance



Class Subclass of









To the extent possible under law, Library of Congress, Network Development and MARC Standards Office has waived all copyright and related or neighboring rights to BIBFRAME Vocabulary and Supporting Documentation.