This document introduces and defines BIBFRAME Profiles, and describes how they are created, maintained and used. It gives an overview of the purpose of BIBFRAME Profiles, describes how they can be used to support unique community's descriptive practices, and provides specific examples of how profiles can be constructed.
Status of this Document
- Draft for public review (5 May 2014)
- Please send general comments about this document to the listserv [email protected] or via email to [email protected].
- To the extent possible under law, the Library of Congress has waived all copyright and related or neighboring rights to this work.
Table of Contents
1. Introduction
BIBFRAME is the result of the Bibliographic Framework Initiative. It is a framework or metamodel for discovery and exchange of library and other memory organization information using Web technology, publicly or privately. The BIBFRAME metamodel is designed to be lightweight, flexible and able to accommodate the declarative needs of both existing (RDA, DACS, VRA, etc..) and yet-to-be-developed community vocabularies. To best accomodate these communities the BIBFRAME RDF Schema is intentionally underspecified in terms of constraints such as domain and range. This same flexibility comes at a cost; without a way of constraining these vocabularies, authoring tools, for example, are unable to provide guidance to content authors for specific vocabularies and derived models. BIBFRAME Profiles provide such supplementary descriptions.
A BIBFRAME Profile is a document, or set of documents, that puts a Profile (e.g. local cataloging practices) into a broader context of functional requirements, domain models, guidelines on syntax and usage, and possibly data formats.
This BIBFRAME Profile document describes an information model and reference serialization to support a means for identifying and describing structural constraints. A Profile defines a means in which a resource can be constrained to enumerate the the properties that may be used to describe it, and the ways the property values surrogate may be given.
A BIBFRAME Profile is primarily a means for an application, e.g. cataloging tool, to guide a cataloger in the creation or modification of a BIBFRAME record. But such Profiles can also be used in other ways such as a formal representation of the constraints associated with a content description standard (e.g. RDA, DACS, etc.) or agreed upon representation for interoperability.
A BIBFRAME Profile does not address the following:
- Human-readable documentation and / or cataloging rules.
- Definition of vocabulary terms.
- Version management and / or governance of vocabulary terms.
A BIBFRAME Profile contains the formal syntactic constraints only, and will need to be combined with human-readable information, semantic expression, usage guidelines, etc. in order fully useful by a community. However, the design of the BIBFRAME Profile information model is intended to facilitate the merging of BIBFRAME information and external information of the above kinds. Therefore, apart from the specifications outlined in this document, BIBFRAME Profiles are owned and maintained by their community and are independent from BIBFRAME as a whole. This independence is key to the ability to support multiple community needs.
2. Basic Structure
A BIBFRAME Profile is defined by a set of "resources templates," each of which is further defined by an array of "property templates," used to describe the possible metadata structures in a conforming record. "Value Constraints" can be applied to properties and are defined as a means to define or constrain the permissible values associated with properties associated with property templates.
While templates are used to express structures, constraints are used to limit those structures. It is important to note that the constraints defined by BIBFRAME Profiles do not replace or override the semantic constraints defined by such standards as RDF Schema and OWL, but rather reflect a more narrowly focused local cataloging practice or community patterns of use.
The following is a breakdown of the particular characteristics associated with the Profile and the corresponsing Resource, Property and Value Constraint templates.
2.1. Profile
The following properties are assocated with a BIBFRAME Profile structure which are designated by the "Profile" object or array.
Name | id |
---|---|
Summary | Unique identifier associated with the profile |
Value | Text |
Name | title |
---|---|
Summary | Textual title associated with the profile |
Value | Text |
Name | description |
---|---|
Summary | Textual description associated with the profile |
Value | Text |
Name | date |
---|---|
Summary | Date associated with the profile |
Value | Text |
Name | contact |
---|---|
Summary | Contact information associated with the profile |
Value | Text |
Name | remark |
---|---|
Summary | Comment or guiding statement intended to be presented as supplementary information in user display. |
Value | Text |
Name | resourceTemplates |
---|---|
Summary | An array representing one or more Resource Templates (see section 2.2 below). |
Value | Array |
Example
{ "Profile": { "id": "bfp:Monograph", "title": "Monograph", "description": "An example monograph profile reflecting the cataloging practices of example public library", "date": "2013-05-01", "contact": "Example Public Library cataloging help desk, [email protected]", "resourceTemplates": [ { ... } ] } }
2.2. Resource Template
A Resource Template construct describes one of the various resources (Works, Instances, etc.) associated with a given Profile.
Name | id |
---|---|
Summary | Identifier associated with a resource template. |
Value | Text |
Default | None |
Name | resourceURI |
---|---|
Summary | URI of the RDF resource associated with the resource template. |
Value | URI |
Default | None |
Name | resourceLabel |
---|---|
Summary | Localized label associated with the resource. |
Value | Text |
Default | None |
Name | propertyTemplates |
---|---|
Summary | An array representing one or more Property Templates (see section 2.3 below) |
Value | Array |
Name | contact |
---|---|
Summary | Contact information associated with the profile |
Value | Text |
Name | remark |
---|---|
Summary | Comment or guiding statement intended to be presented as supplementary information in user display. A common use for this is to notify a user of code lists or schemata associated with the expected value of this resource. |
Value | Text |
Examples
... "resourceTemplate": [ { "id": "bfp:Work:Book", "resourceLabel": "Book", "resourceURI": "http://bibframe.org/vocab/Text", "propertyTemplates": [ { ... } ] } ...
... "resourceTemplate": [ { "id": "bfp:MediaCategory", "resourceLabel": "Media Category", "resourceURI": "http://bibframe.org/vocab/mediaCategory", "remark": "Values derived from http://id.loc.gov/vocabulary/mediaTypes or http://rdvocab.info/termList/RDAMediaType" } ...
2.3. Property Template
A Property Template construct describes one of the various properties associated with a particular resource.
Name | propertyURI |
---|---|
Summary | URI of the RDF property being described. |
Value | URI |
Default | None |
Name | propertyLabel |
---|---|
Summary | Preferred, human readable label associated with this property. |
Value | Text |
Default | None |
Name | mandatory |
---|---|
Summary | Indication that the property is mandatory. |
Value | "true" or "false" |
Default | false |
Name | repeatable |
---|---|
Summary | Indication that the property is repeatable. |
Value | "true" or "false" |
Default | true |
Name | type |
---|---|
Summary | Type or value (literal / resource) that is allowed by this property. |
Value | Text or URI |
Default | literal |
Name | valueConstraint |
---|---|
Summary | Constraint associated with the value (see sections 2.4 and 2.5 below). |
Value | Sub-description |
Name | remark |
---|---|
Summary | Comment or guiding statement intended to be presented as supplementary information in user display. |
Value | Text |
Examples
... "propertyTemplate": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/titleStatement", "propertyLabel": "Title", "mandatory": "true", "type": "literal" }, { ... } ] ...
... "propertyTemplate": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "type": "resource", "valueConstraint": { ... } }, { ... } ] ...
2.4. Value Constraint
A Value Constraint construct describes an expectations placed on the value of a property. The following are used for specifying expectations on literal values.
Name | valueLanguage |
---|---|
Summary | Language specified for a literal. |
Value | Text |
Default | None |
Name | languageURI |
---|---|
Summary | URI associated with the language of the literal. |
Value | URI |
Default | None |
Name | languageLabel |
---|---|
Summary | Preferred, human readable label associated with the language of the literal. |
Value | Sub-description |
Default | None |
Name | valueDataType |
---|---|
Summary | Description specifying a datatype for a literal. |
Value | Sub-description |
Default | None |
Name | valueTemplateRefs |
---|---|
Summary | An array of one or more resource template identifiers (see section 2.2 above) of the resource templates that define the expected value. |
Value | URI |
Default | None |
Name | useValuesFrom |
---|---|
Summary | An array of identifiers that identify value lists from which acceptable values should come. Scheme URIs are expected, but differing communities may develop differing solutions. |
Value | URI |
Default | None |
Name | editable |
---|---|
Summary | Whether the value provided for the property is meant to be modified by a cataloguer. If not, the specified default value is in effect fixed. |
Value | URI |
Default | None |
Name | remark |
---|---|
Summary | Comment or guiding statement intended to be presented as supplementary information in user display. |
Value | Text |
Examples
... "propertyTemplates": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:Agent:Person", "bfp:Agent:Organization", "bfp:Authority:Place" ] } }, { ... } ] ...
... "propertyTemplates": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/carrierCategory", "propertyLabel": "Carrier Category", "type": "resource", "valueConstraint": { "remark": "The fixed value of this property is of type bfp:CarrierCategory", "editable": "false", "defaultURI": "http://id.loc.gov/vocabulary/carriers/cr", } }, { ... } ] ...
2.5. Value DataType
A Value DataType construct describes a data type expectation on a literal value.
Name | dataTypeURI |
---|---|
Summary | URI associated with the DataType |
Value | URI |
Default | None |
Name | dataTypeLabel |
---|---|
Summary | Preferred, human readable label associated with the DataType. |
Value | Text |
Default | None |
Name | dataTypeLabelHint |
---|---|
Summary | Short, human readable label primarily for display purposes. |
Value | Text |
Default | None |
Name | remark |
---|---|
Summary | Comment or guiding statement intended to be presented as supplementary information in user display. |
Value | Text |
Example
... "propertyTemplates": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/vra/beginDate", "propertyLabel": "Begin Date", "type": "literal", "valueConstraint": { "valueDataType": { "dataTypeURI": "http://bibframe.org/vocab/proposed/ISO8601", "dataTypeLabel": "ISO 8601", "dataTypeLabelHint": "ISO" } } }, { ... } ] ...
3. Validation
In order to examine whether a particular set of instance data matches a particular profile, the process of validation is defined as follows:
- Binding of descriptions to resource templates: Each description is bound to a Resource Template by evaluating the Resource Constraint of each Resource Template against the described resource. Each description must be bound to exactly one Resource Template.
- Binding of statements to property templates: Each statement, of each description, is bound to a Property Template in the corresponding Resource Template by evaluating the Property Constraint. Each statement must be bound to exactly one Property Template.
- Evaluating datatyping constraints: Now that all metadata in the description set has been bound to a template, all constraints can be verified.
4. Serialization
The detailed grammar for a BIBFRAME Profile is defined in subsequent sections, using a variant of Backaus-Naur Form (BNF). For simplicity and consistency sake, an JSON serialization will be used in this document.
5. Usage Scenarios
The following section outlines a set of templating patterns that reflect common usage scenarios.
5.1. Constraining the resource
The following BIBFRAME Profile matches descriptions with a BIBFRAME Person resource.
{ "Profile": { "id": "profile:bf:Agents", "title": "BIBFRAME Agents", "resourceTemplates": [ { "id": "profile:bf:Agent", "resourceURI": "http://bibframe.org/vocab/Agent", "resourceLabel": "Agent", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/hasAuthority", "propertyLabel": "Lookup", "type": "resource", "valueConstraint": { "repeatable": "false", "usesValuesFrom": [ "http://id.loc.gov/authorities/names", ] } }, { "propertyURI": "http://bibframe.org/vocab/authorizedAccessPoint", "propertyLabel": "Authorized access point", "type": "literal", } ] } ] } }
5.2.Constraining the property
The following BIBFRAME Profile adds a mandatory foaf:name property to the previous example.
{ "Profile": { "id": "profile:bf:Agents", "title": "BIBFRAME Agents", "resourceTemplates": [ { "id": "profile:bf:Agent", "resourceURI": "http://bibframe.org/vocab/Agent", "resourceLabel": "Agent", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/hasAuthority", "propertyLabel": "Lookup", "type": "resource", "valueConstraint": { "repeatable": "false", "usesValuesFrom": [ "http://id.loc.gov/authorities/names" ] } }, { "propertyURI": "http://bibframe.org/vocab/authorizedAccessPoint", "propertyLabel": "Authorized access point", "type": "literal" } { "propertyURI": "http://xmlns.com/foaf/0.1/name", "propertyLabel": "Name", "mandatory": "true", "type": "literal" } ] } ] } }
5.3.Constraining the value (Resource)
The following BIBFRAME Profile expresses an expectation that the value be one of several possible resources.
... "propertyTemplates": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:Agent:Person", "bfp:Agent:Organization", "bfp:Authority:Place" ] } }, { ... } ] ...
5.4.Constraining the value (DataType)
The following BIBFRAME Profile expresses an expectation that the value be a literal with a particular data type (in this case ISO 8601 date).
... "propertyTemplates": [ { ... }, { "propertyURI": "http://bibframe.org/vocab/beginDate", "propertyLabel": "Begin Date", "type": "literal", "valueConstraint": { "valueDataType": { "dataTypeURI": "http://bibframe.org/vocab/proposed/ISO8601", "dataTypeLabel": "ISO 8601", "dataTypeLabelHint": "ISO" } } }, { ... } ] ...
5.5. Considerations
BIBFRAME Profiles do not require any particular level of expectations or constraints. Communities can deploy profiles using strict or relaxed mechanisms according to their needs. Overly strict constraints can reduce flexibility in applying and evolving vocabularies. Overly lax expectations can reduce levels of interoperability.
It is up to each community to measure this tradeoff as needed. BIBFRAME Profiles do not override or replace the semantic constraints defined by RDF Schema or OWL (Web Ontology Language), but rather provide a means for a community to define the set of classes and properties that it requires.
6. Examples
The following sections provide examples of how communities of practice might use BIBFRAME Profile to support various requirements.
6.1. Default BIBFRAME Profile for simple editing interface.
The following is an example of a default BIBFRAME Profile for simple editing interface. Human readable labels for the display are extracted from the RDF schema associated with the class identifiers.
{ "Profile": { "id": "bfp:Monograph:Book", "title": "Monograph -- Book", "description": "An example profile reflecting the cataloging practices of example public library", "date": "2014-05-01", "contact": "Example Public Library cataloging help desk, [email protected]", "resourceTemplates": [ { "id": "bfp:Work:Book", "resourceLabel": "Book", "resourceURI": "http://bibframe.org/vocab/Text", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/title", "propertyLabel": "Title", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:Agent:Person", "bfp:Agent:Organization", "bfp:Authority:Place", "bfp:Authority:ClassificationEntity", "bfp:Authority:Topic" ] } }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/aut", "propertyLabel": "Author", "type": "resource", "repeatable": "true", "valueConstraint": { "valueTemplateRefs": [ "bfp:Agent:Person", "bfp:Agent:Organization", "bfp:Agent:Meeting" ] } } ] } ] } }
6.2. RDA as a BIBFRAME Profile
The following image reflects at a conceptual level how BIBFRAME Profiles may be used to express high level RDA's notion of Work, Expression, Instance and Manifestation as BIBFRAME classes.
6.3. VRA as a BIBFRAME Profile
The following example fragment reflects VRA projected as BIBFRAME Profile. Additional catalog-friendly labels have been added to the resources and properties defined as a way of expressing VRA in a cataloging interface.
{ "Profile": { "id": "bfp:VRA", "title": "VRA BIBFRAME Profile", "description": "The following profile is a draft attempt at reflecting VRA core semantics
in the BIBFRAME / RDA model", "date": "2014-10-31", "contact": "Eric Miller, [email protected]", "resourceTemplates": [ { "id": "bfp:work", "resourceLabel": "Work", "resourceURI": "http://bibframe.org/vocab/Work", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/title", "propertyLabel": "Title" }, { "propertyURI": "http://bibframe.org/vocab/alternativeTitle", "propertyLabel": "Alternative Title" }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/arc", "propertyLabel": "A:Architect", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/art", "propertyLabel": "A:Painter", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/scl", "propertyLabel": "A:Carver", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/culturalContext", "propertyLabel": "Language", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bp:language" ] } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/beginDate", "propertyLabel": "Begin Date", "type": "literal", "valueConstraint": { "valueDataType": { "resourceURI": "http://bibframe.org/vocab/proposed/ISO8601", "valueLabel": "ISO 8601", "valueLabelHint": "ISO" } } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/consecratedDate", "propertyLabel": "Consecrated Date", "repeatable": "literal", "valueConstraint": { "valueDataType": { "resourceURI": "http://bibframe.org/vocab/proposed/ISO8601", "valueLabel": "ISO 8601", "valueLabelHint": "ISO" } } }, { "propertyURI": "http://bibframe.org/vocab/description", "propertyLabel": "Description", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/inscription", "propertyLabel": "Inscription", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/location", "propertyLabel": "Location", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:TGN:Place"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/material", "propertyLabel": "Material", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Authority"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/measurement", "propertyLabel": "Measurement", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/relatedTo", "propertyLabel": "Relation", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bf:work"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/rights", "propertyLabel": "Rights", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/source", "propertyLabel": "Source", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:WebResource"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/stateEdition", "propertyLabel": "State Edition" }, { "propertyURI": "http://bibframe.org/vocab/vra/stylePeriod", "propertyLabel": "Style / Period", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Period"] } }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["LCSAF:Topic"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/technique", "propertyLabel": "Technique", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Technique"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/testref", "propertyLabel": "Reference" }, { "propertyURI": "http://bibframe.org/vocab/vra/workType", "propertyLabel": "Work Type", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:WorkType"] } } ] }, { "id": "bfp:depicts", "resourceLabel": "Image", "resourceURI": "http://bibframe.org/vocab/Image", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/width", "propertyLabel": "Width", "type": "literal", }, { "propertyURI": "http://bibframe.org/vocab/height", "propertyLabel": "Height", "type": "literal", } ] }, { "id": "ULAN:Agent", "resourceLabel": "Agent", "resourceURI": "http://bibframe.org/vocab/rda/Agent", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Authority", "resourceLabel": "Authority", "resourceURI": "http://bibframe.org/vocab/rda/Authority", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Period", "resourceLabel": "Period", "resourceURI": "http://bibframe.org/vocab/rda/Period", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Technique", "resourceLabel": "Technique", "resourceURI": "http://bibframe.org/vocab/rda/Technique", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:WorkType", "resourceLabel": "Type of Work", "resourceURI": "http://bibframe.org/vocab/rda/WorkType", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:TGN:Place", "resourceLabel": "Place", "resourceURI": "http://bibframe.org/vocab/rda/Place", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bp:language", "resourceURI": "http://bibframe.org/vocab/LanguageEntity", "resourceLabel": "Language", "propertyTemplates": [ { "mandatory": "true", "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] } ] } }
8. Detailed Grammar of Profile
The syntax descriptions in this section use the Extended Backus-Naur Form notation to describe the essential BIBFRAME Profile syntax elements. The EBNF here is condensed for human readability. The requirement that the property and type names in end-tags exactly match the names in the corresponding start-tags is implied by the XML rules. All syntactic flexibilities of JSON are also implicitly included; e.g. whitespace rules, quoting using either single quote (') or double quote ("e;), character escaping, case sensitivity, and language tagging.
Profile ::= id | title | description | date | contact | remark | resourceTemplates* resourceTemplates ::= id | resourceURI | resourceLabel | remark | propertyTemplates* propertyTemplates ::= propertyURI | propertyLabel | mandatory? | repeatable? | type | valueConstraint | remark valueContraint ::= valueLanguage | languageURI | languageLabel | valueDataType | valueTemplateRefs | editable | defaultURI | remark valueDataType ::= dataTypeURI | dataTypeLabel | dataTypeLabelHint | remark valueTemplateRefs ::= editable | defaultURI | defaultLabel mandatory ::= "true" | "false" repeatable ::= "true" | "false" editable ::= "true" | "false" id ::= URI resourceURI ::= URI propertyURI ::= URI languageURI ::= URI dataTypeURI ::= URI valueTemplateRefs ::= URI defaultURI ::= URI type ::= literal | resource literal ::= valueLanguage | langaugeURI | languageLabel | valueDataType resource ::= valueTemplateRefs | editable | defaultURI
8. Implementation
To date, cataloging input tools required advance knowledge of the potential input fields and function. Implementing BIBFRAME Profiles specific to communities creates an environment that is organic and able to grow/evolve outside of the cataloging tool. As BIBFRAME Profiles contain the description, statements and constraints specific to a community, it carries the necessary descriptions for the community. The cataloging tool may be agnostic the community and simply pull in the BIBFRAME Profile needed for the cataloging exercise. By pointing at the BIBFRAME Profile, the tool is always presenting the most recent version of the BIBFRAME Profile to the user and is able to switch between BIBFRAME Profile without changing the fundamental code of the tool itself.
9. History and Relationship to Other Efforts
BIBFRAME Profiles were designed / based / influenced by various discussions related to how best to loosely "package" RDF vocabularies to allow for defining vocabulary profiles reflecting best practices. Many of these design decisions were based on early experience / experimentation building the OCLC CORC (Cooperative Online Resource Cataloging) toolkit, along with various discussions that resulted in early Dublin Core specifications including DCMI's "Application profiles" and "Description Set Profiles". BIBFRAME Profiles in particular mirror some of the development of the DCMI Description Set Profiles, but differs in the alignment with RDF rather than DCAM and in minimizing the contraint capability that does not create conflicts with RDF Schema and / or OWL. Various W3C discussions, along with further Zepheira implementation related to implementing RDF editing platforms have also contributed to this design.
10. Credits
This document was drafted by the Zepheira team of Eric Miller, Vicki Mueller, Uche Ogbuji, and Mark Baker; with additional editing by Kevin Ford, Library of Congress.
This document is a component of the Bibliographic Framework Initiative project. For more information, see www.loc.gov/bibframe.