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



BIBFRAME early experimenters express BIBFRAME Annotations in different and ad hoc ways as there is as yet no BIBFRAME Annotation model or vocabulary for expressing an Annotation. 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.



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

In the BIBFRAME context, a review of a BIBFRAME Work, Instance, or Authority is considered an Annotation of that resource. Review is one of several potential categories of information to be treated as Annotations. Other categories include contributor biographical information, publisher description, cover art, and sample text.

Aims of the Model

The BIBFRAME model defines four core resource classes: Work, Instance, Authority, and Annotation. This aim of this model 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 when appropriate with other Annotation community efforts. Where appropriate, the model draws on the W3C community draft,Open Annotation Model (OAM): Open Annotation Core Data Model dated February 8, 2013.

Use Cases

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

  • Review. A particular book has several reviews. These reviews are published and are available to any library who holds a copy of the book. Each library may choose to advertise or ignore any given review. A public library and a research library, both holding copies, may choose to advertise different reviews.
  • Contributor Biographical Information. Various libraries publish biographical information about authors. Blue River Library optains a copy of the book Plum Island, by DeMille. The library publishes "Contributor Biographical Information" about DeMille, selecting from among the various published biographical descriptions for the author.
  • Publisher Description. Similarly, various libraries provide descriptions of publishers. A BIBFRAME Instance for Plum Island in paperback published by Grand Central Publishing might include a "Publisher Description" for that publisher, selected from among the various published descriptions.
  • Sample Text. Various libraries publish sample text from a book. A BIBFRAME Instance might include "Sample Text " selected from among the various published samples.
  • Cover Art. A science journal invites artists to submit illustrations to be used as possible cover art for an upcoming issue. Artists submit their Illustrations and the journal selects one.
  • Table of Contents. Several libraries have a particular Instance of a book. Some of these Instances have a table of contents, and some do not.  Where one does, a library might assert the table of contents as an Annotation. Those libraries where the Instance does not have a table of contents can select among those asserted and choose one.


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.

What is an Annotation?

For the basic definition of Annotation we draw from the OAM: An Annotation is "the expression of a relationship between two resources: the Annotation Body and the Annotation Target. It conveys that the Body is somehow about the Target". The "aboutness" of an Annotation may be conveyed by its Class, for example: Review, CoverArt, Comment or Description. Each Annotation category is a Class, ontologically speaking.There are Annotation Classes specific to BIBFRAME (the examples above) and there are Annotation classes defined in external namespaces, for example Comment and Description. Specific Annotation classes are all subclasses of the general class Annotation; thus an Annotation which expresses that it is, for example, of class Review, expresses not only that it is a review, but more generally, an Annotation.

What is a BIBFRAME Annotation?

For purposes of this model, a BIBFRAME Work, Instance, or Authority is an abstract resource. Different institutions may have different views of any given BIBFRAME Work, Instance, or Authority. For example, for a given BIBFRAME Work, InstitutionA and InstitutionB may each have a view of the Work,  bf:Work A and bf:Work B.

Certain information is integral to a Work  - title and author, for example - and might be reasonably expected to be reflected in both views. Other information might be part of one view but not the other - information asserted (possibly by a third party) about the Work, which Institution A chooses to integrate into its view but Institution B chooses not to (or vice versa).

A BIBFRAME Annotation is an assertion, by any party, about a BIBFRAME resource (Work, Instance, or Authority) that any institution holding a view of that resource may choose to integrate into its view, or choose not to.


The parties and objects involved in a BIBFRAME Annotation are:

  • The Target of the Annotation: A BIBFRAME Work, Instance, or Authority. The book, in part 1 of the illustration below.
  • The Annotation Body, which is the payload of the Annotation. The book review below.
  • An author, artist, reviewer, etc. who writes the Annotation Body. (This role is not represented formally in the Annotation model, but is mentioned here to clearly distinguish it from the Annotator.) The Reviewer below.
  • The Annotator, who asserts the Annotation. (The Annotator is not necessarily the same party as the author, etc. who wrote the Annotation.) The Annotator in part 2 of the illustration.
  • The Annotation itself , which points to the Body, Target, and Annotator. The Annotation, in part 2 of the illustration.


Part 1: A reviewer writes a review of a book:

book review


Part 2: A third party (the "Annotator") upon discovering the book review, documents the fact that this review is a review of that book. The Annotator asserts an Annotation:

RDF Representation

Annotations described in this specification are represented as RDF (Resource Description Framework), either RDF triples or RDF/XML.

The prefix bf: denotes the BIBFRAME namespace, and the following properties are defined:

  • bf:annotationBody. Used when the Body is expressed as a resource.
  • bf:annotationBodyLiteral. Used when the Body is expressed as a literal.
  • bf:annotates. Expresses the Annotation Target.
  • bf:annotationAssertedBy. Expresses the "Annotator" role (described in the Roles section above).

The basic BIBFRAME Annotation takes the following form.

{Annotation URI} a bf:Annotation ;
  bf:annotationBody {Annotation Body URI} ;
  bf:annotates {Annotation Target} ;
  bf:annotationAssertedBy {BIBFRAME Authority} .


In this canonical form, the Body is external to the Annotation, and the Annotation itself is external to the Target.

There are variations:

  • the Body might be inline within the Annotation, while the Annotation is still external to the resource. In this case:
    • the Annotation may be expressed as a literal, or
    • it may be structured data (an RDF "blank node").
  • The Annotation itself may be inline within the resource.

So we distinguish four basic BIBFRAME annotation forms.

  1. External Annotation - External Body
    The canonical form shown above.
  1. External Annotation - Inline Body - Literal
{Annotation URI} a {Annotation class} ;
  bf:annotationBodyLiteral {literal} ;
  bf:annotates {URI of Annotation Target} ;
  bf:annotationAssertedBy {BIBFRAME Authority} .


  1. External Annotation - Inline Body - Structured Data
{Annotation URI} a {Annotation class} ;
  bf:annotationBody {structured data} ;
  bf:annotates {URI of Annotation Target} ;
  bf:annotationAssertedBy {BIBFRAME Authority} .

  1. Inline Annotation - Inline Body - Structured Data
    Triples (within the Target):
  bf:annotation Structure1 .
Structure1 a {Annotation Class} ;
  bf:annotationBody Structure2.
Structure2 bf:annotationAssertedBy {BIBFRAME Authority} ;
...........{remainder of Annotation Body structure}


Note that no form is described for "Inline Annotation - Inline Body - Literal". This is because an inline Annotation should include an indication of who asserted the Annotation, i.e. property bf:annotationAssertedBy, and therefore the Body cannot be represented as a simple literal.

Annotation Forms and Examples

Examples in this section correspond to the forms described above.

Parenthesis are used to mean "goes here". For example, in this triple:

<resources/annotation/annotation1> bf:annotationAssertedBy (An Authority for Library of Congress) .

(An Authority for Library of Congress) means "an Authority for 'Library of Congress' goes here."

Form 1: External Annotation - External Body (Cover Art)

In this example we look at a cover art Annotation.

The BIBFRAME Work resources/work/work1 which represents the book "Wildlife sanctuaries & the Audubon Society : places to hide and seek" has BIBFRAME Instance resources/instance/instance1

Which has cover art at: resources/annotationBody/coverArt1

An Institution might assert that this image is cover art for the Instance:


The Annotation may be represented in RDF triples as:

<resources/annotation/annotation1> a bf:CoverArt ;
  bf:annotates <resources/instance/instance1> ;
  bf:annotationBody <resources/annotationBody/coverArt1> ;
  bf:annotationAssertedBy (An Authority for Library of Congress) .


Comparing the first line of this Annotation with the first line shown in the basic form, note that in the latter, the object is bf:CoverArt. In the basic Annotation the object is bf:Annotation. But bf:CoverArt is a subclass of bf:Annotation; thus the first line reveals not only that this is cover art, but also that this is an Annotation.

Form 2: External Annotation - Inline Body - Literal (Publisher Description)

In this example we look at a publisher description Annotation. Here the Body of the Annotation is included inline, within the Annotation.

We again look at the Instance:
"Wildlife sanctuaries & the Audubon Society : places to hide and seek",

There is a publisher description at:

We will model an Annotation of class PublisherDescription, as an inline Annotation.

We can do it two ways - first, where the content of the publisher description is supplied as plain text.

<resources/annotation/annotation2> a bf:PublisherDescription ;
  bf:annotates <resources/instance/instance1> ;
"John M. 'Frosty' Anderson was one of the National Audubon Society's great 'living legends.' . . . No one has done more for wildlife than this modest man with the best sense of humor ever to come down the pike." --from the Foreword National Audubon Society sanctuaries across the United States preserve the unique combinations of plants, climates, soils, and water that endangered birds and other animals require to survive. Their success stories include the recovery of the common and snowy egrets, wood storks, Everglade kites, puffins, and sandhill cranes, to name only a few. In this book, Frosty Anderson describes the development of fifteen NAS sanctuaries from Maine to California and from the Texas coast to North Dakota. Drawn from the newsletter Places to Hide and Seek, which he edited during his tenure as Director/Vice President of the Wildlife Sanctuary Department of the NAS, these profiles offer a personal, often humorous look at the daily and longer-term activities involved in protecting bird habitats. Collectively, they record an era in conservation history in which ordinary people, without benefit of Ph.D.'s, became stewards of the habitats in which they had lived all their lives. It's a story worth preserving, and it's entertainingly told here by the man who knows it best." .
  bf:annotationAssertedBy (An Authority for University of Texas Press) .

Form 3: External Annotation - Inline Body - Structured Data (Publisher Description)

In this example, the content of the publisher description is supplied as HTML - not plain text as the previous example - and so it uses the W3C specification Representing Content in RDF.


<resources/annotation/annotation3> a bf:PublisherDescription ;
  bf:annotates <resources/instance/instance1> ;
  bf:annotationAssertedBy (An Authority for University of Texas Press) ;
  bf:annotationBody genid:A21756 .
genid:A21756 a cnt:ContentAsText ;
  cnt:chars " <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<TITLE>Publisher description for Library of Congress control number 99044164</TITLE>
<meta name="description" content="Publisher description">
<meta name="keywords" CONTENT="Wildlife refuges United States, National Audubon Society">

<h2>Publisher description for Wildlife sanctuaries & the Audubon Society : places to hide and seek / John M. "Frosty" Anderson.</h2>"

remainder of HTML ..... ;
  dcterms:format 'text/html' .


(Note: the above example retains special characters, such as angle brackets, for better readability. In order to validate this example these characters must first be escaped.)

In this example the following namespaces are used:

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

Form 4: Inline Annotation - Inline Body - Structured Data (Contributor Biographical Information)

In this example we look at a contributor biographical-information Annotation. Here the Annotation annotates an Authority, rather than a Work or Instance.

In the previous two examples the Body of the Annotation is included inline within the Annotation, but the Annotation is still external to the Target. Here the Annotation is included within the resource it annotates.

The BIBFRAME Work resources/work/work2 includes an embedded BIBFRAME Authority (the creator, represented by node genid:A21757) which has an embedded Annotation, contributor biographical information, and the Annotation has been asserted by the Library of Congress (bf:annotationAssertedBy).

The Annotation is represented by node genid:A21758. The Body is represented by node genid:A21759.
The Target is not listed, because since it is an embedded Annotation, the Target is assumed to be the resource in which it is embedded.

<resources/work/work2> a bf:Work ;
  bf:title "Order and progress : a political history of Brazil" ;
  bf:creator genid:A21757 .
genid:A21757 a bf:Name ;
  bf:label "Schneider, Ronald M" .
  bf:annotation genid:A21758 .
genid:A21758 a bf:ContributorBio ;
  bf:annotationBody genid:A21760 ;
  bf:annotationAssertedBy genid:A21759 .
genid:A21759 a bf:Organization ;
  bf:label    " Library of Congress. Latin American, Portuguese, and Spanish Division"  ;
   bf:hasIdLink   <  >.
genid:A21760 a cnt:ContentAsText ;
  cnt:chars "Ronald M. Schneider is professor of political science at QueensCollege, City University of New York" .

A Non-Annotation (Contributor Biographical Information)

In this example, contributor biographical information is represented as integral to the Work, not as an Annotation.

<resources/work/work3> a bf:Work ;
  bf:title "Order and progress : a political history of Brazil"
  bf:creator genid:A21757 .
genid:A21757 a bf:Authority ;
  bf:label "Schneider, Ronald M" ;
  bf:contributorBio "Ronald M. Schneider is professor of political science at QueensCollege, City University of New York" .


The property bf:contributorBio is not an Annotation property; I.e. it is not a subproperty of bf:annotation.

This example has nothing to do with Annotations, it is included in order to point out that just because an Annotation class is defined for an information type, it is still possible to represent information of that type as an integral part of a resource, not an Annotation.

In fact the property bf:contributorBio is hypothetical; it is not in the BIBFRAME vocabulary (at the time of publication of this draft). It has been used in this example strictly for illustration.

Annotation Class

An Annotation expresses its category by its class. This is illustrated in the cover art Annotation example by the triple:

<resources/annotation/annotation1> a bf:CoverArt ;


This expresses that the Annotation is class bf:CoverArt. And since bf:CoverArt is a subclass of bf:Annotation (as are all BIBFRAME Annotation classes), it also expresses that this is an Annotation. In this case the class is defined in the bf: namespace. The class of a BIBFRAME Annotation need not necessarily be a BIBFRAME Annotation class - that is, it need not be in the bf:namespace; it may be in the oa: namespace (see Appendix B), or in another appropriate namespace. BIBFRAME should use Annotation classes from the bf: namespace when appropriate. An Annotation class defined in an external namespace (e.g. oa:) should be used only when that class is not defined in the bf: namespace.

There is no requirement to indicate an annotation class more specific than bf:Annotation, thus: a bf:Annotation

is as valid as a bf:PublisherDescription

However it is recommended to provide as specific a class as is known.

BIBFRAME Annotation Classes

The following table lists the BIBFRAME Annotation classes defined as of publication of this document.

BIBFRAME Annotation Class Description
bf: ContributorBio Contributor biographical information.
bf:CoverArt Cover art.
bf:PublisherDescription Publisher description.
bf:SampleText Sample text.
bf:TableOfContents Table of contents.
bf:Review Review.

Summary of BIBFRAME Annotation Properties and Classes


The following table lists Annotation properties in the bf: namespace.

Property Domain Range Subproperty of Subproperties
bf:annotation BIBFRAME Work, Instance, or Authority bf:Annotation    



web resource



bf:annotationBodyLiteral bf:Annotation literal    



BIBFRAME Work, Instance, or Authority

oa:hasTarget *









The following table lists Annotation classes in the bf: namespace.


Subclass of



oa:Annotation *





* For "oa:", see Appendix B.

Appendix A: BIBFRAME Annotation Classes Under Consideration

Non Normative Appendix


It has been suggested that BIBFRAME holdings be treated as Annotations.

Holdings will be an important part of BIBFRAME, but the issue of holdings is complex and is the current subject of intensive discussion. Holdings has therefore not yet been incorporated into the Annotation model, pending further study of how it fits into the BIBFRAME model.


Provenance information includes chain of custody (who has owned and controlled the resource), immediate source of acquisition, place of origin and derivation. Provenance is under consideration as a BIBFRAME Annotation class, however it is not clear where the line is drawn between holdings and provenance, and since holdings is still unsettled, it is thought best to defer treatment of provenance.

When discussing provenance in the context of Annotations, it is important to distinguish:

  • Provenance information about the Annotation. Explains the context in which the Annotation was created. This may include agents responsible for creating/generating the Annotation as well as timestamps. Currently there is one property in the bf: namespace that could be considered a provenance property - bf:annotationAssertedBy.
  • Provenance information about the Target. This would be supplied as an actual Annotation, using a provenance Annotation class hypothetically, bf:Provenance.

Condition and Action


  • bf:Condition -- Characteristics of the physical condition of the resource
  • bf:Action -- Actions and events that have been taken on the resource

are under consideration as BIBFRAME Annotation classes. However these are seen to be related to holdings and provenance (respectively) and so their treatment is deferred, pending further study.


There has been some discussion that a classification (e.g. LCC, DDC) is an assertion about a resource, and so Classification should be considered as a potential Annotation class.

For example, institution A's view of a work might list classification 'ABC'. Institution B might assert that 'XYZ' is also a classification for the work.

Treatment of classification as an Annotation class is for further study.

Appendix B: Relationship to Open Annotation Model

Non Normative Appendix

Where appropriate, this model draws on the W3C community drafts, Open Annotation Model (OAM): Open Annotation Core Data Model dated February 8, 2013l.

OAM Namespace

The OAM namespace is The prefix 'oa:' is used to denote the namespace.

OAM Motivations

OAM uses the property oa:motivatedBy, whose range is the class oa:Motivation, analogous to a BIBFRAME Annotation class. Some of the instances of oa:Motivation are shown in the following table.

oa:Motivation instance



A bookmark to a point or points within the target resources. For example, an Annotation that bookmarks the point in a text where the reader finished reading.


Defined in OAM as "A comment about or review of the target resource." oa:Comment should be used for a comment; bf:Review for a review.


A description or review of the target resource (as opposed to a Comment).


A question about the target resource.


A reply to a previous Annotation.


A tag to apply to the target resource.


OAM Example

The book "Order And Progress: A Political History Of Brazil" by Ronald M. Schneider , has a review: .

An OAM Annotation to this effect might look like:

<> a oa:Annotation ;
  oa:motivatedBy oa:describing ;
  oa:hasBody <> ;
  oa:hasTarget <> .

Note that oa:describing is defined as "description or review". There is no distinct instance for an OAM review. But there is a BIBFRAME class bf:Review. Therefore, if the first triple above were instead

<> a bf:Review ;

(and the second triple omitted) then the Annotation would be more specifically described as a review.



This specification builds upon the work from many previous annotation efforts, including in particular:

  • Annotation Ontology
    Ciccarese, P. Ocana, M. et al. "An open annotation ontology for science on web 3.0", Journal of Biomedical Semantics 2011 2(Suppl 2):S4, DOI: 10.1186/2041-1480-2-S2-S4, 17 May 2011
  • Open Annotation Collaboration
    Sanderson, R. Van de Sompel, H. "Making Web Annotations Persistent over Time", Proceedings of the 10th ACM/IEEE Joint Conference on Digital Libraries, June 2010

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.