This version:
http://bibframe.org/documentation/bibframe-usecases/20130821.html
Latest version:
http://bibframe.org/documentation/bibframe-usecases/
Previous version:
http://bibframe.org/documentation/bibframe-usecases/20130814.html
Editors:
Eric Miller, Vicki Mueller, Uche Ogbuji, Kathy MacDougall, Zepheira
Contributors (in alphabetical order):
Jan Ashton, British Library; Alan Danskin, British Library; Corine Deliot, British Library; Ray Denenberg, Library of Congress; Nancy Fallgren, National Library of Medicine; Ted Fons, OCLC Online Computer Library Center, Inc.; Kevin Ford, Library of Congress; Jean Godby, OCLC Online Computer Library Center, Inc.; Reinhold Heuvelmann, German National Library; Sally McCallum, Library of Congress; Jackie Shieh, George Washington University Libraries; Nate Trail, Library of Congress

Status of this Document

This document has been made available to the BIBFRAME Community for review. This is a discussion paper. It may be superseded in the future with an updated version that may represent minor corrections or major changes. In either case, access to previous versions will be maintained.

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

To the extent possible under law, Library of Congress has waived all copyright and related or neighboring rights to this work. This work is published from the United States. CC0


Table of Contents


Abstract

This document specifies use cases, requirements, and objectives for BIBFRAME. It suggests how BIBFRAME supports a variety of traditional and forward looking uses cases, describes the communications environment for the use cases in BIBFRAME, and describes the model communication format and acceptable serializations. For each use cases, supporting requirements and design objectives are defined.

Introduction

BIBFRAME is a model that integrates library data in the web and will bring new possibilities beyond interoperability, search and retrieval. The use cases documented here will add to the traditional communication scenarios to engage BIBFRAME data in the wider information community. The use cases in this document provide situational context, define the actors, action, and supporting motivations, and illustrate the result. Success metrics (e.g. the actor is satisfied with the results), along with preconditions (e.g. the actor knows where to search, has authorization, etc.) and post-conditions (e.g. the actor has completed a search) are stated where appropriate.

The following use cases, while not exhaustive, characterize some of the motivations behind the development of BIBFRAME. These use cases are based on existing practices, projects currently in development and near term realities. These use cases have informed decisions about requirements, that is, the critical features that BIBFRAME require. In some cases they also inform design objectives that are nice to have but not on the critical path.

Query patterns, sample response data and protocol transactions are provided (when appropriate) to help illustrate the pattern matching, resulting BIBFRAME data and communication protocols discussed in the use cases. Query results follow the general pattern of SPARQL, but are often times incomplete. Sample response data are reflected in RDF Turtle and designed to balance RDF formalisms with human readablity. These details are designed to be educational in nature and as such are often incomplete from a programmatic perspective and lacking in any sort of optimization. More detailed examples can be found in the BIBFRAME example test case harness.

Use Cases

Books near me (Identify holdings of Instance)

Alex is writing a book report on the "Phantom Tollbooth". Unfortunately, his copy has been inadvertently left on the bus never to be seen again and the report is due tomorrow. In a attempt to solve this "problem", Alex's mom is looking for a copy of this book held by a nearby library.

NOTE: The following use case has been annotated to provide a prose description associated with the same query and response data. This key is included as a means of helping explain this and subsequent use cases. Annotations are reflected though the following icon

Query Pattern

Alex's Mom clicks on her "Books Near Me" iPad application to search for the "Phantom Tollbooth". The application knows her current location and has a default setting of 30 miles.

SELECT ?work ?inst ?lib 
WHERE {
  ?work bf:title "Phantom Tollbooth"
  ?inst bf:instanceOf ?work
  ?holdings bf:holds ?inst
  ?holdings bf:heldBy ?lib
  ?lib gs:nearby(40.1583 83.0742 30) .
}

Sample Response

The search returns a BIBFRAME Work and Instance for the title "Phantom Tollbooth" found in two local branchs of the Columbus Metro library.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix bf: <http://bibframe.org/vocab/> .

<http://local.library.org/examples/phantom-tollbooth/test001/w1> 
    a bf:Monograph ;
    a bf:Work ;
    bf:author <http://bibframe.org/auth/person/norton_juster> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/adventure-novel> ;
    bf:subject <http://bibframe.org/auth/subject/modern-fairy-tale> ;
    bf:title "Phantom Tollbooth" ;
    bf:summary "The Phantom Tollbooth is a children's adventure novel and modern fairy tale by Norton Juster." .

<http://local.library.org/examples/juster/test001/i1> 
    a bf:HardcoverBook ;
    a bf:Instance ;
    bf:ISBN "0-394-81500-9" ;
    bf:date "1961" ;
    bf:publisher <http://bibframe.org/auth/org/Random-house> ;
    bf:isInstanceOf <http://bibframe.org/examples/phantom-tollbooth/test001/w1> .

<http://local.library.org/examples/annotation/test001/1> 
    a bf:Holdings;
    a bf:Annotation;
    bf:holds <http://bibframe.org/examples/juster/test001/i1>;
    bf:heldBy <http://bibframe.org/library/worthington_public>;
    bf:callNumber "J FICTION JUSTER NORTON";
    bf:assertedBy <http://bibframe.org/library/columbus_metro>.

<http://local.library.org/examples/annotation/test001/2> 
    a bf:Holdings;
    a bf:Annotation;
    bf:holds <http://local.library.org/examples/juster/test001/i1>;
    bf:heldBy <http://local.library.org/library/dublin_public>;
    bf:callNumber "J FICTION JUSTER NORTON";
    bf:assertedBy <http://local.library.org/library/columbus_metro>.

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Property Identity, Resource Identity, Third Party Value Add

Mobile Reading (Discover Instances by Type)

William is interested in reading Ray Bradbury's Fahrenheit 451 on his tablet. Walking in to his local library, his tablet registers with the library's network and defaults to only showing him Instances of Ray Bradbury's Fahrenheit 451 designed for his system.

Query Pattern

To fulfill William’s request, search for BIBFRAME Works that have a title of "Fahrenheit 451". For all instances associated with these Works, find the ones that are of type Ebook and of a particular format.

SELECT ?work ?inst
WHERE {
  ?work bf:title "Fahrenheit 451"
  ?work bf:hasInstance ?inst
  ?inst rdf:type bf:EBook
  ?inst bf:format <http://idpf.org/epub>
}
		

Sample Response

In response to William’s query, the search engine finds a bf:Work titled "Fahrenheit 451" and a related bf:Instance for an ebook format compatible with his tablet.

<http://local.library.org/examples/bradbury/test001/w1>
  a bf:Monograph ;
  a bf:Work ;
  bf:author <http://bibframe.org/auth/person/ray_bradbury> ;
  bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
  bf:subject <http://bibframe.org/auth/subject/State-sponsored_terrorism> ;
  bf:subject <http://bibframe.org/auth/subject/book_burningFiction.> ;
  bf:title "Fahrenheit 451: A Novel" ;
  bf:hasInstance <http://local.library.org/examples/bradbury/test001/i1> ;
  bf:summary "Guy Montag is a fireman. In his world, where television rules and literature is on the brink of extinction, firemen start fires rather than put them out. His job is to destroy the most illegal of commodities, the printed book, along with the houses in which they are hidden." .

<http://local.library.org/examples/bradbury/test001/i1>
  a bf:EBook ;
  a bf:Instance ;
  bf:ISBN "1451673310" ;
  bf:date "2012" ;
  bf:publisher <http://bibframe.org/auth/org/Simon_schuster> ;
  bf:format <http://idpf.org/epub> ;
  bf:isInstanceOf <http://local.library.org/examples/bradbury/test001/w1> .
                

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Property Identity, Resource Identity

Broadening Search (Discover Adaptations of a Work)

Sue's research paper for Classics 201 must identify the themes in Homer's Odyssey as they relate to present day. She has a paperback copy of the book, but thinks that various adaptations of the Work (Movies, Plays, translations, etc.) would help with her research. In order to do this, she first finds the Work associated with the specific Instance she has in hand. From there, she explores the various relationships to other related Works.

Query pattern

Search for BIBFRAME Works that have a title of "Odyssey" and an author of Homer (uniquely identified by VIAF). For all of these results, find other works that are based on them.

SELECT ?work ?related
WHERE {
  ?work bf:title "Odyssey"
  ?work bf:author viaf:Homer
  ?work bf:isBasisFor ?related
  ?related rdf:Type bf:Work
}
		

Sample response

The results of the query include a Film of the Odyssey along with the Monograph in which it was based on.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix bf: <http://bibframe.org/vocab/> .

<http://local.library.org/examples/homer/test001/w1>
    a bf:Monograph ;
    a bf:Work ;
    bf:author <http://bibframe.org/auth/person/homer> ;
    bf:translator <http://bibframe.org/auth/person/Fagles> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/Epic_poetry_Greek> ;
    bf:title "The Odyssey" ;
    bf:hasInstance <http://local.library.org/examples/homer/test001/i1> ;
    bf:isBasisOf <http://local.library.org/examples/homer/test001/w2> ;
    bf:summary "The Odyssey is literature's grandest evocation of everyman's journey through life. In the myths and legends that are retold here, renowned translator Robert Fagles has captured the energy and poetry of Homer's original in a bold, contemporary idiom and given us an Odyssey to read aloud, to savor, and to treasure for its sheer lyrical mastery. This is an Odyssey to delight both the classicist and the general reader, and to captivate a new generation of Homer's students." .

<http://local.library.org/examples/homer/test001/w2>
    a bf:Film ;
    a bf:Work ;
    bf:director <http://bibframe.org/auth/person/konchalovskiy> ;
    bf:contributor <http://bibframe.org/auth/person/assante> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/Epic_poetry_Greek> ;
    bf:title "The Odyssey" ;
    bf:hasInstance <http://local.library.org/examples/homer/test001/i2> ;
    bf:summary "his lavish adaptation of Homer's ancient epic--replete with exotic Maltese and Turkish locations, state-of-the-art special effects, and many bronzed muscles gleaming with sweat--chronicles the voyage home of a Trojan hero, Odysseus King of Ithaca, and includes many more scenes of his faithful, beautiful wife Penelope dodging leering suitors at home than Homer ever composed!" ;
    bf:isBasedOn <http://local.library.org/examples/homer/test001/w1> .
		

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Property Identity, Resource Identity

Searching for an Author (BIBFRAME Authorities)

During a play date, Andrea asks her friend if she has any suggestions for good children's books that she might enjoy as much as her son. After a bit of discussion (and discovery of mutual love for all things Monty Python), her friend recommends a series of stories written by former Python, Terry Jones. Andrea searches for children's books by Terry Jones and discovers a whole new line of children's stories that she didn't know about.

Query Pattern

Searching for BIBFRAME Works where the author is Terry Jones and the target audience is children.

SELECT ?work
WHERE {
  ?work bf:author viaf:TerryJones
  ?work rdf:type bf:Work
  ?work bf:targetAudience bf:JuvenileAudience
}

Sample Response

The search resource includes two BIBFRAME Works for children by Terry Jones.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix bf: <http://bibframe.org/vocab/> .

<http://local.library.org/examples/jones/test001/w1>
    a bf:Monograph ;
    bf:author <http://bibframe.org/auth/person/terry_jones> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/fairy_tales> ;
    bf:title "Fairy Tales" ;
    bf:targetAudience <http://bibframe.org/auth/audiences/juvenile> ;
    bf:hasInstance <http://local.library.org/examples/jones/test001/i1> ;
    bf:summary "A collection of thirty original fairy tales introducing such beings as the fly-by-night, the rainbow cat, and the wonderful cake-horse." .

<http://local.library.org/examples/jones/test002/w1>
    a bf:Monograph ;
    bf:author <http://bibframe.org/auth/person/terry_jones> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/fairy_tales> ;
    bf:title "Fantastic stories" ;
    bf:targetAudience <http://bibframe.org/auth/audiences/juvenile> ;
    bf:hasInstance <http://local.library.org/examples/jones/test002/i1> ;
    bf:summary "A collection of stories, mostly original fairy tales, including 'The Dragon on the Roof', 'Eyes-All-Over', 'The Flying King' and 'Touch the Moon'." .

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Property Identity, Resource Identity

Find a Work for cataloging (Local annotation)

Sue has returned from her library's guest lecture series featuring David Sedaris. He was kind enough to sign a copy of his book that she bought for the library, "Let's Explore Diabetes with Owls" for the library. Sue is excited to catalog this book for the "Signed Author" collection that she curates. She searches her local consortium's database for BIBFRAME instances via the ISBN string "9780316154697" to determine whether she needs to crate a new bf:Instance and / or holding Annotation.

Query Pattern

Search for a BIBFAME Instance with a specific ISBN and return all Instances and associated Works.

SELECT ?inst ?work
WHERE {
  ?inst bf:ISBN "9780316154697"
  ?inst bf:isInstanceOf ?work
}

Sample Response

The search finds an existing bf:Instance with the specified ISBN and the related bf:Work.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://bibframe.org/vocab/> .

<http://local.library.org/examples/sedaris/test001/i1>
    a :HardcoverBook;
    a :Instance;
    :ISBN "9780316154697" ;
    :date "2013" ;
    :publisher <http://bibframe.org/auth/org/bt_bound> ;
    :isInstanceOf <http://local.library.org/examples/sedaris/test001/w1>.

<http://local.library.org/examples/sedaris/test001/w1>
    a :Monograph;
    a :Work;
    :author <http://bibframe.org/auth/person/david_sedaris> ;
    :hasInstance <http://bibframe.org/examples/sedaris/test001/i1> ;
    :language <http://id.loc.gov/vocabulary/languages/eng> ;

Local Holding Assertion

Sue creates a new Holding Annotation and indicates this is a signed copy.

<http://library.local.org/annotation/i1>
    a :Holding;
    :holds <http://local.library.org/examples/sedaris/test001/i1>;
    :assertedBy <http://library.local.org/people/sue>;
    :copyNote "Signed by author".

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Property Identity, Resource Identity, Third Party Value Add

Cataloging new Instance (Linking)

The Olentangy Liberty Middle School (OLMS) library prides itself on having a very popular summer reading list. To help increase that popularity and be more accessible to students, the library has received a grant from the PTO to acquire several new electronic versions of the physical books associated with the list. While the OLMS library has the physical copies of these books (and, therefore, existing bf:Works in the OLMS library catalog), the task now is to catalog the new electronic versions. One such example is "The Shadow Club".

The OLMS library has its own local catalog, but uses a consortium as a resource for "copy cataloging". To help accomplish her task, the OLMS librarian searches in her consortium to see if an Instance associated with her electronic book has already been cataloged. When she finds the appropriate Instance match (publisher, date, etc.), she copies the Instance to her local catalog, giving it a new local URI, and relates her new local ebook Instance to the existing Work. She further creates a Holding Assertion that indicates she has this e-resource available to her students.

The following steps though the time sequence of this workflow to illustrate the concept.

Time 1: Query Pattern

Search for BIBFRAME Works titled "The Shadow Club" and include all related EBooks.

SELECT ?work ?inst
WHERE {
  ?work bf:title "The Shadow Club"
  ?work bf:hasInstance ?inst
  ?inst rdf:type bf:EBook
}

Time 2: Sample Response

From the consortium catalog, the search returns the appropriate bf:Work and a related ebook bf:Instance that matches the OLMS library’s ebook.

<http://local.library.org/examples/shusterman/test001/w1>
    a bf:Monograph ;
    bf:author <http://bibframe.org/auth/person/neal_shusterman> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:title "The Shadow Club" ;
    bf:targetAudience <http://bibframe.org/auth/audiences/juvenile> ;
    bf:hasInstance <http://local.library.org/examples/shusterman/test001/i1> ;
    bf:summary "When a junior high school boy and his friends decide to form a club of 'second bests' and play anonymous tricks on each other's arch rivals, the harmless pranks escalate until they become life-threatening."

Time 3: Update resource

The librarian copies the bf:Instance into her local system, where it is assigned a new local URI, and adds an “isInstanceOf” relationship to the bf:Work in her local system.

<http://local.library.org/examples/shusterman/test001/i1>
    bf:isInstanceOf <http://olentangydistrict.library.org/examples/shusterman/test001/w1>

Time 4: Add new Holdings information

A new Holdings Annotation related to her local bf:Instance is asserted by the librarian for the ebook “copy” to which the OLMS library has access rights.

<http://library.local.org/annotation/i1>
    a bf:Holdings, bf:Annotation ;
    bf:holds <http://local.library.org/examples/shusterman/test001/i1> ;
    bf:assertedBy <http://library.local.org/people/mary> ;
    bf:date "2013-05-30"

Design Objectives

The following requirements and design objectives are motivations behind this use case: Graph Based Search, Resource Identity, Third Party Value Add

Adapting an existing Work (Forking)

Stefano, a librarian at the Biblioteca Nazionale Centrale di Firenze, is cataloging Barbablù (an Italian translation of Kurt Vonnegut's Bluebeard) which surprisingly, for some reason, is not in his local or regional catalog. Given the popularity of this Work, he searches for the original English version of this Work. After a few minutes of searching his favorite authoritative service, he finds the original Work he's looking for.

To expedite his cataloging process, Stefano drags the resulting Work from his search service and drops this into his BIBFRAME cataloging environment. This process creates a "fork" of the original record and auto populates his BIBFRAME cataloging interface while maintaining the provenance to the original source. Stefano then modifies the newly forked Work to translate the descriptive information from English to Italian, adding linkages to the translator, additional subject classification, and an explicit relationship (e.g. isTranslationOf) to the original Work. Stefano then saves as a new Work.

The saving of this new BIBFRAME Work generates a Web Trigger (a common method for Web authors to obtain notifications when other authors link to one of their documents). This Web trigger signals to the cataloger of the original Work and notifies them that a new translated Work was created.

As Biblioteca Nazionale Centrale di Firenze is a highly trusted organization, the cataloger of the original Bluebeard Work creates a copy of the Stefano's Work, preserving the isTranslationOf relationship in its own model as a formal link to Stefano's newly created Barbablù Work for others to benefit from.

Stefano, who now finds himself completing his cataloging tasks in a far shorter timeframe than he could have ever imagined, treats himself to an excellent espresso and the first few chapters of Barbablù.

The following steps though the time sequence of this workflow to illustrate the concept.

Time 1: Query Pattern

Stefano searches for the original Work, in English.

SELECT ?inst ?work
WHERE {
  ?work bf:title "Bluebeard"
  ?work bf:author <http://bibframe.org/auth/people/kurt_vonnegut>
}

Time 2: Sample Response

And discovers the appropriate Work.

<http://local.library.org/bluebeard/test001/w1>
    a bf:Monograph .
    bf:title "Bluebeard" ;
    bf:titleRemainder "a novel" ;
    bf:author <http://bibframe.org/auth/person/kurt_vonnegut> ;
    bf:classification "025.3 M465f 2008" ;
    bf:hasInstance <http://local.library.org/bluebeard/test001/i1> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/bar>, <http://bibframe.org/auth/subject/foo> ;
    bf:summary "Broad humor and bitter irony collide in this fictional autobiography of Rabo Karabekian, who, at age seventy-one, wants to be left alone on his Long Island estate with the secret he has locked inside his potato barn. But then a voluptuous young widow badgers Rabo into telling his life story and Vonnegut in turn tells us the plain, heart-hammering truth about mans careless fancy to create or destroy what he loves.".

Time 3: Fork

Stefano "forks" this Work (copying the data and giving it a new identifier) with the intention of editing this.

<http://national.library.org/barbablu/test001/w1>
    a bf:Monograph .
    bf:title "Bluebeard" ;
    bf:titleRemainder "a novel" ;
    bf:author <http://bibframe.org/auth/person/kurt_vonnegut> ;
    bf:classification "025.3 M465f 2008" ;
    bf:hasInstance <http://national.library.org/bluebeard/test001/i1> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/love>, <http://bibframe.org/auth/subject/crazy> ;
    bf:summary "Broad humor and bitter irony collide in this fictional autobiography of Rabo Karabekian, who, at age seventy-one, wants to be left alone on his Long Island estate with the secret he has locked inside his potato barn. But then a voluptuous young widow badgers Rabo into telling his life story and Vonnegut in turn tells us the plain, heart-hammering truth about mans careless fancy to create or destroy what he loves.".
		

Time 4: Update Fork

Stefano updates this record with additional data including translation of the text, new subject classification and links to translator.

<http://national.library.org/barbablu/test001/w1>
    a bf:Monograph .
    bf:title "Barbablù" ;
    bf:author <http://bibframe.org/auth/person/kurt_vonnegut> ;
    bf:translator <http://bibframe.org/auth/person/pier_francesco_paolini> ;
    bf:classification "025.3 M465f 2008" ;
    bf:language <http://id.loc.gov/vocabulary/languages/ita> ;
    bf:subject <http://bibframe.org/auth/subject/love>, <http://bibframe.org/auth/subject/crazy>, <http://bibframe.org/auth/subject/life> ;
    bf:summary "Nome: Rabo. Cognome: Karabekian. Nato a San Ignacio di California nel 1916 da genitori armeni. Stato civile: vedovo. Professione: pittore e collezionista d'arte. La grande casa ..." ;
    bf:isTranslationOf <http://local.library.org/bluebeard/test001/w1>.
		

Time 5: Web Trigger

An automated system notifies the owners of the original Work that a new translation of the Work via a Web Trigger.

POST http://bibframe.org/bluebeard/test001/w1
Content-Type: application/x-www-form-urlencoded; charset=utf-8

title=BIBFRAME:hasTranslation+Update+Request&url=http://library.local.org/barbablu/test001/w1

Time 6: Update Original

Based on the local policy / practices of the Library or Consortia, a decision is made to update the original Work with a new link to the translation.

<http://local.library.org/barbablu/test001/w1>
    a bf:Monograph .
    bf:title "Bluebeard" ;
    bf:titleRemainder "a novel" ;
    bf:author <http://bibframe.org/auth/person/kurt_vonnegut> ;
    bf:classification "025.3 M465f 2008" ;
    bf:hasInstance <http://local.library.org/bluebeard/test001/i1> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:subject <http://bibframe.org/auth/subject/love>, <http://bibframe.org/auth/subject/crazy> ;
    bf:summary "Broad humor and bitter irony collide in this fictional autobiography of Rabo Karabekian, who, at age seventy-one, wants to be left alone on his Long Island estate with the secret he has locked inside his potato barn. But then a voluptuous young widow badgers Rabo into telling his life story and Vonnegut in turn tells us the plain, heart-hammering truth about mans careless fancy to create or destroy what he loves.";
    bf:hasTranslation <http://national.library.org/barbablu/test001/w1> .

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Local Cataloging Practices (Extensibility)

The German National Library wishes to maintain the distinction between their internal format (Pica +), the cataloging format (Pica3) and several exchange formats (MARC 21, RDF, specific formats such as ONIX, etc.). The highest level of granularity and flexibility is given in the internal format, it serves as a data translation hub. German National Library's aim is to represent the DNB data in BIBFRAME and - as a further step - make them available as a part of their DNB Linked Data Service. In order to maintain an internal connection between data generated from Pica+ and BIBFRAME, a policy is defined to include a local ID to each record that is the target output. As BIBFRAME is based on RDF, the ability to include a local properties that reflects this key is gained by default.

A sample BIBFRAME instance data that leverages both BIBFRAME and local DNB vocabularies is below. In this example, prefixes are added to help clarify namespace scope. The 'dnb' namespace is used to define the local German National Library set of terms that are local to their practice.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix bf: <http://bibframe.org/vocab/>.
@prefix dnb: <http://d-nb.info/vocab/>.

 <http://d-nb.info/101777644X>
   rdf:type bf:Instance;
   bf:instanceOf <http://d-nb.info/bf_temp/Work_101777644X>;
   bf:modeOfIssuance "Einbändiges Werk";
   bf:isbn13 "9783446427020";
   bf:isbn10 "3446427023";
   dnb:nbn "11,N51";
   dnb:nbn "13,A16";
   bf:note "Literaturangaben. - Zusätzliches Online-Angebot unter www.hanser-fachbuch.de/ebookinside".

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Property Identity, Vocabulary Evolution, Localized extensibility using global systems

Local Subject Classification (Authority Updates)

Andrea recently cataloged the title 101 Tips for Supporting Campers with Autism. Navigating LCSH via id.loc.gov she quickly found BIBFRAME authority topics on 'Camps for children with mental disabilities' and 'Autism spectrum disorders' but in reality, she concluded it would be best to propose a new refined subject related to 'Camps for children with autism spectrum disorders'. Traditionally she would have simply used the existing terms as the process to propose a new term is horribly time consuming and frankly she's got a lot of other tasks that demand her attention.

In BIBFRAME however, she mints a local subject URI for 'Camps for children with autism spectrum disorders' and draws a relationship between this and the more general LCSH term.

The saving of this new BIBFRAME Resource, triggers a "BIBFRAME linker" process (which is just one of several dozen open source RDF data harvesting and link traversal robots) that traverses the various links associated with the newly created works. This process follows the links in the BIBFRAME Authorities and in doing so, creates a "linkback" (a common method for Web authors to obtain notifications when other authors link to one of their documents) to the LCSH terms. This linkback triggers the editors of LCSH that there are proposed refinements to the currently defined LCSH terms for consideration.

The following steps though the time sequence of this workflow to illustrate the concept.

Time 1: Cataloging Input

Andrea catalogs the Work 101 Tips for Supporting Campers With Autism.

<http://local.library.org/examples/autism/test001/w1>
    a bf:Monograph .
    bf:title "101 Tips for Supporting Campers With Autism" ;
    bf:author <http://bibframe.org/auth/person/Laurie_Tschetter> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:hasInstance <http://local.library.org/examples/autism/test001/i1> ;
    bf:subject <http://library.local.org/auth/topic/Camps_for_children_with_autism_spectrum_disorders>;
    bf:summary "This engaging and thoughtful book provides camp counselors and support staff with the information, skills, and strategies that are essential in working with campers with Autism Spectrum Disorder (ASD). 101 Tips for Supporting Campers With Autism shares real-life experiences as a way to help camp personnel and others who care about individuals with autism gain a better foundation of understanding of the complex world of people with autism.".

<http://library.local.org/auth/topic/Camps_for_children_with_autism_spectrum_disorders>
  a bf:Topic
  bf:label "Camps for children with autism spectrum disorders";
  bf:refines <http://id.loc.gov/authorities/subjects/sh2008009581>;

Time 2: Trigger

An automated system notifies the editors of LCSH of local refinements to subject headings via a Web Trigger which acts as a request mechanism for additions or changes to LSCH.

POST http://id.loc.gov/authorities/subjects/sh85019231
Content-Type: application/x-www-form-urlencoded; charset=utf-8

title=BIBFRAME:refinement+Update+Request&url=http://library.local.org/auth/topic/Camps_for_children_with_autism_spectrum_disorders
POST http://id.loc.gov/authorities/subjects/sh85019253
Content-Type: application/x-www-form-urlencoded; charset=utf-8

title=BIBFRAME:refinement+Update+Request&url=http://library.local.org/auth/topic/Camps_for_children_with_autism_spectrum_disorders

Time 3: Update

The Library of Congress and LCSH editors make public the linkback requests allowing the community to reuse existing change proposals and providing community input to the LCSH editorial process. Based on the editorial policy / practices of the Library of Congress and LCSH editors a decision is made to create a new URI reflecting this new Subject Heading.

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Acquisition-Cataloging Record Update (Notifications)

Amy, the acquisitions librarian at Delaware Public Library (DPL) adds Works and Instances to her local catalog, along with Holdings and holding status, after she orders new books. This practice allows the library staff and patrons to see that a book is coming soon and "on order". The description of these new Works and are only partially complete as they have not been fully cataloged by her consortium when she orders them. Over time however, these descriptions will be enhanced.

Several weeks later, Drew, the cataloger at DPL receives the new books and begins to search for the associated Resources in their catalog. As he logs into the catalog system, he is notified that several Works that match Works in his catalog have been updated by DPL's cataloging consortium, including the book in hand, the new Steven King novel, "Joyland". Drew chooses to accept the updates for the local Work with the new data from the Consortium.

Time 1: Discovery

Amy searches her consortium catalog and (based on her library's linked data policy) makes a copy of the initial Work and Instance associated with the new acquisition order.

<http://library.local.org/examples/king/test001/w1>
    a bf:Monograph ;
    bf:author <http://bibframe.org/auth/person/steven_king> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:title "Joyland" ;
    bf:hasInstance <http://bibframe.org/examples/king/test001/i1> ;

<http://library.local.org/examples/king/test001/i1>
    bf:ISBN "9780613174213" ;
    bf:date "2013" ;
    bf:isInstanceOf <http://bibframe.org/examples/kingtest001/w1> .

Amy also asserts a Holding on this Instance and includes a holding status.

<http://library.local.org/examples/annotation/king001/a1>
    a bf:Holdings;
    a bf:Annotation;
    bf:holds <http://bibframe.org/examples/king/test001/i1>;
    bf:heldBy <http://bibframe.org/library/delaware_public>;
    bf:status "on order";
    bf:assertedBy <http://bibframe.org/library/columbus_metro>.

Amy's cataloging system registers DPL's holding with the consortium system, and leaves a "breadcrumb" trail back to the original bf:Work in the form of a Provenance Annotation between the original bf:Work and the new local copied bf:Work. In addition, her local DPL system asks to be notified if the related bf:Work is updated in the Consortium system via a Wather Annotation that asserts that the local DPL system has registerd for updates from the Consortium.

<http://library.local.org/annotation/king001/w1>
    a bf:Annotation;
    a bf:Provenance;
    bf:origin <http://consortium.org/resource/king/w1>;
    bf:destination <http://library.local.org/examples/king/test001/w1>;
    bf:assertedBy <http://bibfra.me/bibedit/v1/>
    bf:copydate "2013-05-28".

 <http://library.local.org/annotation/king001/w2>
    a bf:Annotation;
    a bf:Watcher;
    bf:pingBack <http://library.local.org/hub/?id=http://library.local.org/examples/king/test001/w1>;
    bf:topic <http://consortium.org/resource/?id=http://consortium.org/resource/king/w1>;
    bf:annotationAssertedBy <http://bibfra.me/bibedit/v1/>;

Time 3: Cataloging Update

The Consortium updates the Work for Stephan King's "Joyland" and sends a update notification to all registered systems. The update notification will provide the necessary information for all the local systems to refresh their local bf:Work.

POST http://library.local.org/hub/?id=http://library.local.org/examples/king/test001/w1

Time 4: Cataloging Notification

In the morning, Drew logs into his cataloging dashboard and sees a notification event for an updated Work record. He reviews the changes and accepts the updates accordingly.

<http://bibframe.org/examples/king/test001/w1>
    a bf:Monograph ;
    bf:author <http://bibframe.org/auth/person/steven_king> ;
    bf:language <http://id.loc.gov/vocabulary/languages/eng> ;
    bf:title "Joyland" ;
    bf:subject "http://bibframe.org/auth/subject/City and town life -- North Carolina -- Fiction." ;
    bf:subject "http://bibframe.org/auth/subject/Amusement parks -- Fiction." ;
    bf:subject "http://bibframe.org/auth/subject/Nineteen seventies -- Fiction." ;
    bf:hasInstance <http://bibframe.org/examples/king/test001/i1> ;
    bf:summary "Set in a small-town North Carolina amusement park in 1973, Joyland tells the story of the summer in which college student Devin Jones comes to work as a carny and confronts the legacy of a vicious murder, the fate of a dying child, and the ways both will change his life forever." .

<http://bibframe.org/examples/king/test001/i1>
    a bf:Paperback ;
    bf:ISBN "9780613174213" ;
    bf:date "2013" ;
    bf:publisher <http://bibframe.org/auth/org/hardcase_crime> ;
    bf:isInstanceOf <http://bibframe.org/examples/kingtest001/w1>

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Name/Authority reconciliation (Web Notification)

Diane, a cataloger at the Whitman College Library, is in charge of managing the name change request associated with one of her Faculty who recently married and changed her name. As Whitman College has leveraged BIBFRAME extensively across the campus, Diane's job is to simply update the Authority entry for the Faculty member. For campus systems that link to the respective authority record, these changes will be instant. For others that have copied the authority information, notification and updates will be based on the update frequency defined by their respective systems.

Time 1: Original Authority

The original authority record for a faculty member at Whitman College.

<http://whitman.library.org/auth/person/barbara>
  a bf:Person ;
  a bf:Authority ;
  bf:label "Barbara Whitney" ;
  foaf:firstName "Barbara" ;
  foaf:lastName "Whitney" ;
  foaf:department <http://whitman.library.org/auth/dept/mathematics>
		

Time 2: Update to Authority

An update to the faculty member authority record reflecting a name change.

<http://whitman.library.org/auth/person/barbara>
  a bf:Person ;
  a bf:Authority ;
  bf:label "Barbara Whitney-Smith" ;
  foaf:firstName "Barbara" ;
  foaf:lastName "Whitney-Smith" ;
  foaf:department <http://whitman.library.org/auth/dept/mathematics>
		

An HTTP request on http://whitman.library.org/auth/person/barbara after this change now would reflect an update to the ETAG and Last Modified date to indicate this resource has changed and thus any local web caches would be refreshed. More information on ETAG and HTTP Caching is available here.

HTTP/1.1 200 OK
Date: Mon, 24 Jun 2013 13:36:59 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.19
X-Pingback: http://whitman.library.org/bibframe-rpc.php
Vary: Accept-Encoding
ETag: "686897696a7c876b7e"
Last-Modified: Mon, 24 June 2013 04:58:08 GMT

NOTE: The above example reflects a passive update in the use of utilizing HTTP headers to notify other Web applications the resource has changed. A more active "Web Trigger" mechanism for notification is shown in Use Case Acquisition-Cataloging Record Update (Notifications)

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Name/Authority reconciliation (Merging and de-dupe)

John, a local cataloger and a big Stephen King fan, notices that his library holds Works by Stephen King and Works by Richard Bachman (a known pen name of King's). He wants to make sure that when patrons searches for Works by King, they will also retreive Works by Bachman.

To do this, he creates an "equivalence" relationship between the authority for Steven King and the authority for Richard Bachman. Now, when patrons search for King or Bachman, they get Works from both.

Time 1: Authority Records

Local Authority records used in Library

<http://local.library.org/person/14790462> 
 a bf:Person;
 bf:label "Richard Bachman";
 bf:hasVIAFLink <http://viaf.org/viaf/14790462>.

<http://local.library.org/person/97113511> 
 a bf:Person;
 bf:label "Stephen King";
 bf:hasVIAFLink <http://viaf.org/viaf/97113511>.
		

Time 2: Equivalence Assertion

John is asserting that Stephen King and Richard Bachman are the same person.

<http://local.library.org/person/14790462>
  owl:sameAs <http://local.library.org/person/97113511>.

NOTE: Applying owl:sameAs has certain semantic conditions that aren't necessarily appropriate. This property is used simply to demonstrate the concept rather that imply ontological commitment. Further discussion is required to discuss appropriate level of "sameness". A good summary of this issue is When owl:sameAs isn’t the Same: An Analysis of Identity Links on the Semantic Web

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Collapsing Multiple Works (Merging and de-dupe)

Due to recent budget cuts, the libraries of Shelbyville and Springfield have decided to merge to become more effective in serving their communities. As both libraries maintain their own catalog, they must bring the catalogs together, merge and de-dupe the combined catalog.

To do this, they creates rules for what constitutes a duplicate, then assert an "equivelance" relationship between any Works/Instances that match those rules. One of the Works that both libraries have is the Simpsons Comics Big Bonanza.

Time 1: Work Records

Two different BIBFRAME Works.

<http://shelbyville.library.org/examples/groening/test001/w1>
 a bf:Monograph;
 bf:author <http://bibframe.org/auth/person/matt_groening>;
 bf:language <http://id.loc.gov/vocabulary/languages/eng>;
 bf:subject <http://bibframe.org/auth/subject/comic_strips>;
 bf:subject <http://bibframe.org/auth/subject/simpsons>;
 bf:title "Simpsons comics big bonanza";
 bf:summary "A collection of four comics featuring the famous animated family and their friends and acquaintances.".

<http://springfield.library.org/examples/groening/test001/w1>
 a bf:Monograph;
 bf:author <http://bibframe.org/auth/person/matt_groening>;
 bf:language <http://id.loc.gov/vocabulary/languages/eng>;
 bf:title "Simpsons comics big bonanza".

Time 2: Equivalence Assertion

An assertion indicating two BIBFRAME Works are the same.

<http://shelbyville.library.org/examples/groening/test001/w1>
  owl:sameAs <http://springfield.library.org/examples/groening/test001/w1>.

NOTE: Applying owl:sameAs has certain semantic conditions that aren't necessarily appropriate. This property is used simply to demonstrate the concept rather that imply ontological commitment. Further discussion is required to discuss appropriate level of "sameness". A good summary of this issue is When owl:sameAs isn’t the Same: An Analysis of Identity Links on the Semantic Web

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Web Triggers, Resource Identity

Local description services (Multiple holdings for single instance)

The British Library is exploring a new service which allows patrons to copy specific holdings information down to a new smart phone application and plot the results of a search on a localized map of the physical library environment.

A patron searching for "Fishes and fishing. Artificial breeding of fish, anatomy of their senses, their loves, passions, and intellects." by W.Wright, for example, would find 2 different holdings associated with this instance. One holding being slightly damaged and the other including an inscription from the author. With differing shelfmarks, these resources would be located in different physical locations

The following example reflects the different holdings descriptions for the same instance data.

		
<http://bnb.data.bl.uk/id/resource/w003985048>
    a bf:LanguageMaterial ;
    bf:label "Fishes and fishing.  Artificial breeding of fish, anatomy of their senses, their loves, passions, and intellects." ;
    bf:author <http://bnb.data.bl.uk/id/person/WrightWilliam1773> .

<http://bnb.data.bl.uk/id/person/WrightWilliam1773>
    a bf:Authority ;
    bf:label "Wright, William, 1773-1860" .

<http://bnb.data.bl.uk/id/resource/i003985048-1>
    a bf:Book, bf:Instance ;
    bf:instanceOf <http://bnb.data.bl.uk/id/resource/w003985048> ;
    bf:extent "xi, [1], 384 p., [3] leaves of plates;" ;
    bf:dimensions "18 cm. (8ยพ)" ;
    bf:note "Printer's name from colophon" ;
    bf:note "Includes index" ;
    bf:publication <http://bnb.data.bl.uk/id/provider/12345> ;
    bf:manufacture <http://bnb.data.bl.uk/id/provider/98765> .

<http://bnb.data.bl.uk/id/resource/h003985048-1>
    a bf:Holding, bf:Annotation ;
    bf:annotates <http://bnb.data.bl.uk/id/resource/i003985048-1> ;
    bf:annotationAssertedBy "British Library" ;
    bf:location "British Library" ;
    bf:subLocation "HMNTS" ;
    bf:subCollection "General Reference Collection" ;
    bl:mapingService <http://services.bl.uk/mapping/HMNTS/7906.c.6> ;
    bf:physicalCondition "Imperfect: without the plate relating to page 152, headed 'Wright's eel tongs, or forceps'" ;
    bf:shelfmark "7906.c.6" .

<http://bnb.data.bl.uk/id/resource/h003985048-2>
    a bf:Holding, bf:Annotation ;
    bf:annotates <http://bnb.data.bl.uk/id/resource/i003985048-1> ;
    bf:annotationAssertedBy "British Library" ;
    bf:location "British Library" ;
    bf:subLocation "HMNTS" ;
    bf:subCollection "General Reference Collection" ;
    bl:mapingService <http://services.bl.uk/mapping/HMNTS/C.188.a.126> ; 
    bf:copyNote "MS. presentation inscription from the author to Angela Burdett Coutts; with her bookplate" ;
    bf:shelfmark "C.188.a.126" .		
	      

Design Objectives

The following requirements and design objectives are motivations behind this use case: Web Oriented Architecture, Resource Identity, Vocabulary Evolution, Localized extensibility using global systems

Multilingual display to cataloging interfaces

The National Library of Canada has a mandate to support both French and English user interfaces to their extensive national collections. As BIBFRAME terms (Classess and Properties) are URIs, human readable lables in multiple languages may be associated with these URIs to support such requirements.

The following example reflects how different human readable names and supporting definitions might be used for the same concept.

		
<rdfs:Class rdf:about="http://bibframe.org/vocab/Work">
  <rdfs:label xml:lang="en">Work</rdfs:label>
  <rdfs:label xml:lang="fr">Travailler</rdfs:label>
  <rdfs:comment xml:lang="en">A resource reflecting a conceptual essence of the cataloging resource.</rdfs:comment>
  <rdfs:comment xml:lang="fr">Une ressource reflétant une essence conceptuelle de la ressource catalogage.</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://bibframe.org/vocab/Resource"/>
</rdfs:Class>
              

Design Objectives

The following requirements and design objectives are motivations behind this use case: Resource Identity, Vocabulary Evolution, Localized extensibility using global systems, Internationalization

Requirements and Design Objectives

The following section outlines the requirements and design objectives that shape the BIBFRAME initiative.

Web Oriented Architecture

The Web is one of the most powerful communication and commercial platforms ever conceived. It is the birthplace of much organizational rejuvenation and business modeling that has emerged in the last decade. The evolution of the Web continues to support an exciting sea change of collaboration and social interaction which is changing the face of old and new businesses alike around the world. That said, the online landscape contains both notable successes and failures. Failure has often been the result of entrenched organizations failing to innovate and be creative, while underestimating the effect of conflicts and disruption in operational models.

An informal community, Linking Open Data (LOD), sprang up around the principles for a leveraging the Web as a practical means for sharing data, as outlined by Tim Berners-Lee in his paper on Linked Data. The W3C has since provided support for this community, combining the vision of the W3C for using semantic features to enhance the Web with the pragmatism that characterizes mainstream Web.

The emphasis on RDF is natural for the W3C, but one development that gives LOD extra legs is the emergence of influential voices realizing that insistence on strict RDF format across the board is probably not the best present strategy for winning over Web developers. LOD supports RDF as a conceptual graph model, but the new emphasis is more on inter-linking and shared patterns than on any one syntax. After all, RDF boils down merely to URIs, links, and labels, so any model that includes these three can readily work with RDF systems. The full LOD community is a penumbra around the W3C-led core who support all the advantages of opening up data, and who see RDF, Atom, JSON, and so on as merely tools for Web developers to enrich their data.

A requirement of BIBFRAME is to leverage the power of Linked Open Data and the full potential of Web Oriented Architecture.

Resource Identity

BIBFRAME defines a recommended best practice for exposing, sharing, and connecting data, information, and knowledge using the Web as architecture. A key component of this architecture are URIs (Uniform Resource Identifier) and more generally IRI's (Internationalized Resource Identifier). These identifiers provide a string of characters used to identify a name or a web resource. Such identification enables interaction with representations of the web resource over a network (typically the World Wide Web) using specific protocols.

BIBFRAME resources (Work, Instances, Authorities, Annotations) may be either the main subject or the controlled value of a search. In terms of RDF, BIBFRAME resources may be the Subject or the Object of an assertion. A requirement of BIBFRAME is that these resources be denoted using URIs as a means to support both disambiguation and recombination of bibliographic resources.

Property Identity

BIBFRAME defines a set of vocabulary terms for describing the various types of resources, the relationships among these resources, and the properties associated with these resources. Each vocabulary term is defined by a URI such that the ambiguity between identically named elements or attributes can be resolved.

Vocabulary Evolution

The definition of a delivery context and the data within a context will continually evolve. Concepts and terms defined now will not be exhaustive for all communities nor the same that are needed decades from now. The BIBFRAME vocabulary must support the ability for communities to extend this vocabulary in a way to support these growing and evolving needs of the communities it serves.

Localized Extensibility

To maximize the potential of BIBFRAME, the model and vocabulary must support the ability to easily integrate these concepts with other local and domain specific vocabularies in a manner that support resiliency in systems.

Third Party Value Add

In the A Bibliographic Framework for the Digital Age (October 31, 2011) statement from the Library of Congress, the new Bibliographic Framework required a means to “accommodate and distinguish expert-, automated-, and self-generated metadata, including annotations (reviews, comments) and usage data.” The ability to add metadata over the course of the lifecycle of the resource from both automated and human contributed process is a requirement of BIBFRAME.

Defined Serialization to Support Interchange

As BIBFRAME will be the basis for interchange among library and library systems, various Linked Data patterns have been defined to support more consistent, structured exchange of BIBFRAME data. To support the ease of BIBFRAME a required serialization of RDF/XML is defined as the basis for interchange.

As BIBFRAME (similar to the RDF model) can be reduced to URIs, links, and human readable labels, any serialization that includes these three can readily work as an exchange format for BIBFRAME. Local exchange of BIBFRAME is data can be supported by other RDF serializations (Ntriples, Turtle, RDF/JSON, RDFa etc.). BIBFRAME applications however have to support the required serialization of RDF/XML in addition to alternative serialization formats and can use content negotiation and appropriate media typing to signal response preference.

Minimize Ontology Mechanics

A design objective for BIBFRAME is to minimize the amount of specialized ontologies required to share queries and processes across systems.

Web Oriented Search

A Web oriented query language is useful as a means for matching on Web data patterns and providing additional value for operating on. Ideally, such a language should include the capability to restrict matches on a queried graph by providing a graph pattern, which consists of one or more RDF triple patterns, to be satisfied in a query. It should be possible for queries to return zero or more bindings of variables. Each set of bindings is one way that the query can be satisfied by the queried graph.

SPARQL is an RDF query language for supporting such searching. While SPARQL is not a requirement, the following high level overview is provided as a means to illustrate the capabilities and potential of such a query language as a flexible means for identifying patterns in BIBFRAME and a generalized API for supporting future BIBFRAME services.

SPARQL

The following SPARQL query is designed to illustrate the major components from SPARQL:

PREFIX bf: <http://bibframe.org/vocab/>
SELECT ?title
FROM <http://loc.gov/catalog/dataset.rdf>
WHERE {
  ?x bf:title ?title .
}
ORDER BY ?title
		

The PREFIX keyword describes prefix (or namespace) declarations for abbreviating URIs.

SELECT serves very much the same function of SQL as it does in SPARQL, which is simply to return data matching some conditions. In particular, SELECT queries return data represented in a simple table where each matching result is a row and each column is the value for a specific variable.

The FROM keyword defines the RDF which is being queried.

The WHERE clause specifies the query graph pattern to be matched. This is the heart of the query. A graph pattern is, in essence, RDF with variables.

ORDER BY is one of the several possible solution modifiers which are used to rearrange the query results.

SPARQL and HTTP

The SPARQL protocol enables SPARQL queries over simple HTTP requests. A SPARQL endpoint is simply a service that implements the SPARQL protocol.

For example, if you do a curl on the following:

curl –I http://dbpedia.org/sparql?query=PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0ASELECT%20*%20WHERE%20%7B%0A%3Fcity%20rdf%3Atype%20%3Chttp%3A%2F%2Fdbpedia.org%2Fclass%2Fyago%2FCitiesInOhio%3E%0A%7D%0A
		

The response is the following:

HTTP/1.1 200 OK
Date: Wed, 29 May 2013 13:33:04 GMT
Content-Type: application/sparql-results+xml; charset=UTF-8
Content-Length: 96751
Connection: keep-alive
Server: Virtuoso/06.04.3135 (Linux) x86_64-generic-linux-glibc212-64  VDB
Accept-Ranges: bytes
		

In this context, SPARQL can simply be used as an an API for the Web.

Support Legacy and Existing Search Technologies

It is important to be able to bridge the new bibliographic Linked Data world of BIBFRAME with legacy and existing search technology familiar in the Library industry. The following examples are designed to explore the potential of leveraging the current install base for accommodating BIBFRAME data.

SRU

For SRU support of BIBFRAME, enhancements and profiling will be necessary for SRU search, retrieval, and diagnostics.

SRU Search

A CQL context set should be defined for BIBFRAME. Indexes would be defined within that set, corresponding to BIBFRAME properties, for which there are not already indexes defined in an existing context set.

For example, given a BIBFRAME Work, for which the Work Identifier is known, one will want to search for Instances of that work.

So given the Work Identifier http://example.org/A02-2009-00000001-4, and assuming that the database consists of Instance records, the query:

bf.instanceOf=http://example.org/A02-2009-00000001-4

will find instances of that Work, where 'bf' is the prefix for the BIBFRAME context set, and 'instanceOf' is an index defined within that set.

Further, if the database consists of Instance and Work records mixed together it will be necessary for the query to be restricted to Instance records. In that case the query would be:

bf.instanceOf=http://example.org/A02-2009-00000001-4 AND  bf.resourceType=instance

where 'resourceType' is an index defined in the bf context set, whose values are 'instance', 'work', etc.

There are already indexes defined in other context sets that may be appropriate for use in BIBFRAME searching, and care should be taken to avoid defining duplicate indexes. For example there is the 'bath' context set:

http://www.loc.gov/standards/sru/resources/bath-context-set.html

So for example to search for uniformTitle, or topicalSubject, bath.uniformTitle and bath.topicalSubject may be used.

So there will be analysis necessary to profile these context sets for use in BIBFRAME searching. A list of known context sets is at http://www.loc.gov/standards/sru/resources/context-sets.html .

SRU Retrieval

An SRU request includes a parameter which indicates the desired format of the response records. For example,

 . recordSchema=mods
		

indicates that MODS records are desired.

A list of known schemas is at: http://www.loc.gov/standards/sru/resources/schemas.html

Note that these are all XML schemas. SRU response records must be XML, and the recordSchema parameter indicates the XML schema, e.g. MODS. For BIBFRAME, there likely will not be an XML schema, and when using SRU to retrieved BIBFRAME records, most likely the response records will be RDF/XML. So probably a dummy schema name will be defined in this list, to indicate "BIBFRAME records in RDF/XML".

SRU Diagnostics

A list of SRU diagnostics is at http://www.loc.gov/standards/sru/resources/diagnostics-list.html . It is possible that most or even all BIBFRAME diagnostics are covered by this list. However, any new diagnostics that are needed to support BIBFRAME can be added.

Z39.50

Z39.50 is a more cumbersome protocol than SRU, however, there are direct analogies to the items discussed above - indexes, response formats, and diagnostics - and, Z39.50 does provide additional flexibility in two respects: (1) response records are not limited to XML, and (2) Z39.50 requests may include a databaseName parameter, which makes it easier to restrict the query to a particular type of record, for example Instances, and so an index need not be defined for this purpose.

Z39.50 Search

Z39.50, in theory, has a CQL Context Set analogy, called "attribute sets", which define, among other things, indexes (called "use" attributes). In practice though, there is only one attribute set, called 'bib1'. See http://www.loc.gov/z3950/agency/defns/bib1.html So, for example, you can use the bib1 set to search on "personal name", "corporate name", "conference name" , "title", and so on. There are hundreds of indexes defined, many of them fairly useless. A BIBFRAME profile of Z39.50 should provide a mapping of BIBFRAME properties to these bib1 use attributes. And any additional indexes needed can easily be added to the list.

Z39.50 Retrieval

A Z39.50 request includes a parameter indicating the requested syntax of the response records. A list of these are at http://www.loc.gov/z3950/agency/defns/oids.html#5 . They are identified by ISO object identifiers, of the form "1.2.840.10003.5.xx" where 1.2.840.10003 is the base object identifier assigned by ISO to Z39.50, '.5' is for record syntax. So for example, MARC21 (originally, USMARC) is identified as 1.2.840.10003.5.10.

Scroll down to 1.2.840.10003.5.109 which is the base oid for Z39.50 defined syntaxes for mime types. 1.2.840.10003.5.109.10 is defined for "xml (no specific version)". Note also, 1.2.840.10003.5.109.10.1.0 1.2.840.10003.5.109.10.1.1 are defined for xml, versions 0 and 1. This was all done nearly 15 years ago and not entirely well-though-out, but for xml in general, probably the "no version" identifier should be used. That should be sufficient to identify rdf/xml as the desired syntax for BIBFRAME, since it is assumed that all of the records are BIBFRAME records, and that they are all rdf. Additional OIDs will need to be defined for other rdf serializations, json, turtle, etc. and these can be added easily.

Z39.50 Diagnostics

General diagnostics can be found at http://www.loc.gov/z3950/agency/defns/bib1diag.html If additional diagnostics are needed to support BIBFRAME they can be easily added.

OAI PMH

The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) provides an application-independent interoperability framework based on metadata harvesting. The XML data for all responses to OAI-PMH requests must validate against the XML Schema. This is an issue for RDF/XML (and consequently BIBFRAME) as it enables a generalized metadata framework and, as such, it does not conform to any strict XML schema validation.

NOTE: Schema to allow inclusion of RDF in OAI-PMH responses have been defined, but in these cases the schema simply defines the root element (rdf:RDF) and then says that the contents should have 'lax' validation (i.e. no schema required). It is unclear the status of this work at this time, but it should be reconsidered in the context of BIBFRAME updates.

Enabling Web Triggers

Web Triggers (commonly referred to as PingBack, TrackBack or Web Hooks) are user-defined HTTP callbacks. Web Triggers are a REST-based architecture for peer-to-peer communication and notifications between web sites. The protocol is based on the principle of push, rather than pull. If you want to share information with another website, you initiate the connection rather than waiting for the other website to discover you (and your information).

Using Triggers, sites can communicate about related resources. For example, if Weblogger A wishes to notify Weblogger B that he has written something interesting/related/shocking, A sends a TrackBack ping to B. This accomplishes two things:

  • Weblogger B can automatically list all sites that have referenced a particular post on his site, allowing visitors to his site to read all related posts around the Web, including Weblogger A's. Automated clients can also get access to this information, enabling them to build a graph of the cross-site conversation.
  • The ping provides an explicit link between the two entries, as opposed to an implicit link (e.g. via referrer logs) that depends upon outside action (a third party's clicking on the link to create the log entry).

Several examples of this kind of Triggering exists today. The TrackBack protocol is open for implementation in all weblog tools. GitHub's Web Hooks provide a triggering mechanism to communicate with a web server whenever the repository is pushed to. These "WebHooks" can then be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to a production server. Pubsubhubbub provides a powerful but simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom and RSS.

The library and cultural heritage community support community collaboration and cooperation. WebT riggers offers a huge opportunity to accelerate this cooperation at a far more granular and decentralized manner than ever before.

Internationlization / Internationalisation

Internationalization and localization (other correct spellings are internationalisation and localisation) are means of adapting computer software to different languages, regional differences and technical requirements of a target market. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.

To be able to cope with all the challenges that are emerging with the rise of the Web of Data, BIBFRAME (and consequently Linked Data) tools must find ways to deal with its heterogeneity with regard to the content being published and the languages that content is being published in. Adequate internationalization support is a requirement for distributing or consuming multilingual data.

Open Issues

Annotation modeling

BIBFRAME Annotations identified in this document reflect a shareable, abstract representation of a local system's processes or characterization associated with a resources. Neither this definition, nor the Annotation examples reflected in this Use Case document, have been coordinated with the BIBFRAME Annotation work at this time.

Scope

A discussion worth having is where we want to define BIBFRAME scope. Provenance and Notification / Watchers can be modeling in other ways and by other vocabularies (e.g. W3C's PROV work for example might be a useful component to integrate regarding Provenance. PubSubHubBub or NISO's ResourceSync might be worth considering in terms of notification / watching.) A question worth considering is do we expect to want to "share" this provenance and notification data among libraries, museums, etc. This will help us decide on where we want to define BIBFRAME boundaries, and consequently, vocabulary terms for supporting BIBFRAME.

I18N and local tag extensions

RDF was designed with Internationalization in mind. Like global standards in general, however, it is intentionally under-specified regarding local / community conventions . There are several issues related with local conventions that have yet to be addressed in this use case document. For promoting international library catalog rule usage in BIBFRAME strings, for example, Jörg Prante proposed to leverage W3C language tag extensions. Because bibliographic rules are commonly applied only within a certain country/language area, the language in the tag could indicate the scope where the string is valid or targeted for (not necessarily the language of the string itself because more than one language can be involved, like in transliterations). Examples:

  • "¬Der¬ Process"@de-DE-x-rak
  • "The Process"@en-US-x-aacr
  • "Aleksandr Pushkin"@en-US-x-aacr-transliteration
  • "Aleksandr Sergeevič Puškin"@x-iso-9
  • "Malcolm Pasley [Hrsg.]"@de-DE-x-rak

where

  • de-DE-x-rak --> this bibliographic string originates from german catalog rules (RAK)
  • en-US-x-aacr --> this bibliographic string originates from US catalog rules (AACR)
  • en-US-x-aacr-transliteration --> this bibliographic string originates from US catalog transliteration rules (AACR)
  • x-iso-9 --> this bibliographic string was created using ISO-9 rules for transliteration

Similar codes could be applied to transcribed, recorded, or supplied strings.

A use case to support this proposal is warranted. Further consideration for the Library of Congress to manage a canonical list of local extensions to support this community requirement is suggested.

Changelog

2013-08-01
Fix typos spotted by Alan, Jean
2013-08-01
XML escaped entities
2013-08-01
Clarify notifaction workflow in section 3.7
2013-08-01
Added correct language URIs
2013-08-12
Changed Motivations section to Design Objetives
2013-08-13
Annotated initial use case instance data to help explain what the instance data means to non-programmers.
2013-08-13
Added links from Design Objectives to appropriate sections of the document
2013-08-13
Added search / response prose to help explain pseudo-instance data
2013-08-14
Spelling mistakes
2013-08-16
Name mistake, spelling mistakes, striking duplicate sentence.
2013-08-21
Republished with corrections from 16 August.