Editors
Carl Lagoze
(OAI Executive;
Cornell University - Computer Science)
Herbert Van de Sompel
(OAI Executive;
Los Alamos National Laboratory - Research Library)
Michael Nelson
(Old Dominion University - Computer Science)
Simeon Warner
(Cornell University - Computer Science)
This document is one part of the Implementation Guidelines that accompany the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH).
1. Introduction and Scope
2. Rights expressions and the OAI-PMH data model
3. Conveying rights expressions at the record level
4. Conveying a manifest of rights expressions at the repository and set levels
4.1 Repository level rights expressions
4.2 Set level rights expressions
5. Responsibilities of clients harvesting
metadata with associated rights expressions
Acknowledgements
The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) provides a mechanism for data providers to expose metadata for harvesting over the Web. This metadata is disseminated in the form of OAI-PMH records. Metadata harvested from one or more data providers using the OAI-PMH can be used by service providers for the creation of services (e.g. search, browse) across the harvested data.
Typically, an OAI-PMH record contains descriptive metadata about a resource.
However, use-cases have emerged where records contain non-bibliographic metadata
such as usage logs and XML-based representations the resources.
In order to accomodate such emerging uses of the OAI-PMH,
in the remainder of this document the term "metadata" must be
interpreted broadly to mean XML-formatted data pertaining to a resource,
or strictly as being the content of the <metadata>
elements in OAI-PMH
GetRecord and
ListRecords
responses.
Regardless of the nature of the exposed metadata, data providers might want to associate rights expressions with it, as a means to convey how the metadata may be used after it has been harvested, including how it may be shared, modified, and used as the basis for derivative products (e.g., enhanced metadata). This specification defines how such rights information can be conveyed in responses to OAI-PMH protocol requests. The described technique:
In this document the key words "must", "must not", " required", "shall", "shall not", "should", "should not", "recommended", "may", and "optional " in bold face are to be interpreted as described in RFC 2119. An implementation is not conformant if it fails to satisfy one or more of the "must" or "required" level requirements.
The OAI-PMH data model defines a number of entities, some of which aggregate other entities. These entities are as follows and are illustrated in the figure below:

This document specifies the mechanisms by which rights expressions can be conveyed at the record level (section 3), and at the repository and set aggregation levels (section 4). These mechanisms can be summarized as follows:
ListRecords
and GetRecords
responses is packaged in <record> elements. Each
<record> may include one or more <about>
containers that provide information about the metadata. A rights expression can be
associated with the metadata by including a <rights>
package in an <about>. This specification defines an
XML schema to which such <rights> packages must
conform. This schema allows for actual rights expressions to be specified
in-line within a <rights> package, or by-reference via
the provision of the URL of a network-accessible rights expression.Identify
request contains information about the repository.
This responses may include one or more <description>
containers which provide an extensible mechanism for repository
description.
A manifest of the rights expressions used in the repository
may be conveyed by including an optional
<rightsManifest> package within the
<description> container. This specification
defines an XML schema to which such a
<rightsManifest> packages must conform.
The purpose of this manifest is to provide a covenient way for harvesters
to assess the rights expressions used within a repository.ListSets
request contains information about the set structure of the repository.
This response may include one or more <setDescription>
containers which provide an extensible mechanism for set description.
A manifest of the rights expressions used in a set may be
conveyed by including an optional
<rightsManifest> package within the
<setDescription> container. This specification
defines an XML schema to which such a
<rightsManifest> package must conform.
The purpose of this manifest is to provide a covenient way for harvesters
to assess the rights expressions used within particular sets.Repositories may associate different rights expressions with records in different metedata formats from the same item. Manifests should include rights expressions for all records from the items in the appropriate repository or set.
Data-providers wishing to include rights expressions about metadata exposed via the OAI-PMH should use the methods described in this document. Use of this canonical mechanism means that the rights expressions should be found by harvesters (see section 5).
The XML schema shown below defines the format for a <rights>
package that can be used to include a rights expression within an <about>
container as part of a record returned from a
ListRecords
or GetRecord
request. Such a rights expression pertains only to the <metadata>
part of the record.
The schema provides two mutually exclusive alternatives for specifying a rights expression:
<rightsDefinition> child element of the <rights>
element. The XML elements and attributes used in the rights expression
must be defined in a namespace distinct from that of the OAI-PMH XML
elements and attributes. The schema requires only that the contents of
the <rights> element are well-formed XML. However,
the contained rights expression may be subject to validation with
some external schema.
<rightsReference> child element of the <rights>
element. There are no restrictions on the nature of the resource referenced
by this URL. However, to facilitate machine processing, the recommended
format for referenced rights expressions is XML. Data providers
that disseminate records with by-reference rights expressions should
be aware of persistence issues related to URL references.
Specifically, the possible latency between the dissemination of metadata
with a by-reference rights expression and the eventual use of that metadata,
and resolution of the reference, may result in a failed reference or even
a reference to a changed rights expression with different meaning. Therefore,
it is recommended that data providers concerned with truly static
rights expressions employ the in-line method.
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.openarchives.org/OAI/2.0/rights/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:rights="http://www.openarchives.org/OAI/2.0/rights/"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<annotation>
<documentation>
Schema for rights statement to be included either by-reference or
in-line. In-line statements may be in any namespace and are to be
skipped by XML Schema validators so that rdf and non-W3C schemas
may be used.
Carl Lagoze and Simeon Warner (Cornell University)
$Date: 2004/06/10 03:11:23 $
</documentation>
</annotation>
<element name="rights" type="rights:rightsStatementType"/>
<complexType name="rightsStatementType">
<choice>
<element name="rightsReference">
<complexType>
<attribute name="ref" type="anyURI" use="required"/>
</complexType>
</element>
<element name="rightsDefinition">
<complexType>
<sequence>
<any namespace="##other" processContents="skip"/>
</sequence>
</complexType>
</element>
</choice>
</complexType>
</schema>
|
| This schema is available at http://www.openarchives.org/OAI/2.0/rights.xsd |
The following example shows the use of a <rights>
element to convey an in-line rights expression. The rights expression
in this example is the RDF/XML for the
Creative Commons license
that can be displayed in human-readable form at
http://creativecommons.org/licenses/by/2.0/.
<about>
<rights xmlns="http://www.openarchives.org/OAI/2.0/rights/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/rights/
http://www.openarchives.org/OAI/2.0/rights.xsd">
<rightsDefinition>
<rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>
<license rdf:resource="http://creativecommons.org/licenses/by/2.0/"/>
</Work>
<License rdf:about="http://creativecommons.org/licenses/by/2.0/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/>
<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
</License>
</rdf:RDF>
</rightsDefinition>
</rights>
</about>
|
The following example shows the use of a <rights> element
to convey a rights expression by-reference.
<about>
<rights xmlns="http://www.openarchives.org/OAI/2.0/rights/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/rights/
http://www.openarchives.org/OAI/2.0/rights.xsd">
<rightsReference ref="http://creativecommons.org/licenses/by/2.0/"/>
</rights>
</about>
|
Manifests of rights expressions at the repository and set aggregation
levels may be included using the optional <rightsManifest>
package. Details of application at the
repository level (section 4.1)
and the
set level (section 4.2) are given separately.
The XML schema below defines the format of the
<rightsManifest> package.
The schema allows one or more <rights> child elements.
The individual <rights> elements are
identical to those included at the record level,
and must contain a single rights expression either in-line or by-reference.
The <rightsManifest> element has a single attribute,
appliesTo, which must have the value metadata.
This attribute is included as a mechanism for future expansion.
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.openarchives.org/OAI/2.0/rights/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:rights="http://www.openarchives.org/OAI/2.0/rights/"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<annotation>
<documentation>
Schema for a manifest of rights statements to be included in the
Identify and ListSets responses of an OAI server. The appliesTo
attribute permits only the value 'metadata' but is included in
anticipation of later extension.
Carl Lagoze and Simeon Warner (Cornell University)
$Date: 2004/06/10 22:04:54 $
</documentation>
</annotation>
<include schemaLocation="http://www.openarchives.org/OAI/2.0/rights.xsd"/>
<element name="rightsManifest" type="rights:rightsManifestType"/>
<complexType name="rightsManifestType">
<sequence>
<element name="rights" type="rights:rightsStatementType" maxOccurs="unbounded"/>
</sequence>
<attribute name="appliesTo" type="rights:appliesToType"/>
</complexType>
<simpleType name="appliesToType">
<restriction base="string">
<enumeration value="metadata"/>
</restriction>
</simpleType>
</schema>
|
| This schema is available at http://www.openarchives.org/OAI/2.0/rightsManifest.xsd |
The optional <rightsManifest> package may be
included in a <description> container in the response to
an Identify
request. The purpose of the <rightsManifest> package at the
repository level is to provide a list of all the rights expressions that
apply to metadata disseminated by the repository.
A typical use of this manifest is the case where all metadata disseminated by the repository is covered by a small set of rights expressions. When this small set of rights expressions is packaged as a manifest within the Identify response, harvesting clients can quickly determine the rights expressions associated with the metadata disseminated by the repository and decide whether to proceed with harvesting. While the completeness and correctness of this manifest is not mandated by this specification, it is highly recommended that data providers maintain its accuracy since its contents may affect decisions by harvesters to collect metadata from the repository.
The following example shows the use of a <rightsManifest>
container within a <description> element in an
Identify response.
<description>
<rightsManifest
xmlns="http://www.openarchives.org/OAI/2.0/rights/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/rights/
http://www.openarchives.org/OAI/2.0/rightsManifest.xsd"
appliesTo="metadata">
<rights>
<rightsDefinition>
<rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>
<license rdf:resource="http://creativecommons.org/licenses/by/2.0/"/>
</Work>
<License rdf:about="http://creativecommons.org/licenses/by/2.0/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/>
<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
</License>
</rdf:RDF>
</rightsDefinition>
</rights>
<rights>
<rightsDefinition>
<rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>
<license rdf:resource="http://creativecommons.org/licenses/by-nc/2.0/"/>
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc/2.0/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/>
<prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/>
<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
</License>
</rdf:RDF>
</rightsDefinition>
</rights>
<rights>
<rightsReference ref="http://creativecommons.org/licenses/by-nd/2.0/"/>
</rights>
</rightsManifest>
</description>
|
Sets are an optional mechanism to support selective harvesting within OAI-PMH. Repositories may or may not implement sets. Selective havesting by rights expression may be useful and thus repositories may use sets to group items for which the metadata shares particular rights expressions.
The optional <rightsManifest> package may be
included in <setDescription> containers in the response to a
ListSets
request.
The purpose of the
<rightsManifest> package at the set level is to provide
a list of all the rights expressions that apply to metadata disseminated
in a particular set.
A typical use of this manifest is the case where all metadata
for items within a set is covered by a small set of rights expressions.
A data provider may find it appropriate to include manifests for some
sets even when it is not feasible for the entire repository.
Data providers should not include set level rights manifests unless
they provide complete, accurate and unambiguous information about rights
expressions pertaining to metadata for items within a set.
The following example shows the use of a <rightsManifest>
container within a <setDescription> element for one of four
sets described in a ListSets response.
<ListSets>
<set>
<setSpec>music</setSpec>
<setName>Music collection</setName>
</set>
<set>
<setSpec>music:(muzak)</setSpec>
<setName>Muzak collection</setName>
</set>
<set>
<setSpec>music:(elec)</setSpec>
<setName>Electronic Music Collection</setName>
<setDescription>
<rightsManifest
xmlns="http://www.openarchives.org/OAI/2.0/rights/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/rights/
http://www.openarchives.org/OAI/2.0/rightsManifest.xsd"
appliesTo="metadata">
<rights>
<rightsReference ref="http://creativecommons.org/licenses/by-nd/2.0/"/>
</rights>
<rights>
<rightsReference ref="http://creativecommons.org/licenses/by-nc/2.0/"/>
</rights>
</rightsManifest>
</setDescription>
</set>
<set>
<setSpec>video</setSpec>
<setName>Video Collection</setName>
</set>
</ListSets>
|
This specification aims to provide a canonical mechanism for the inclusion of rights expressions in OAI-PMH records. Harvesters should look for and abide by the contents of any rights expressions included using this mechanism within records they harvest.
The mechanisms described in this document are not intended to provide any level of enforcement of rights expressions. Nevertheless, consumers of metadata with which these rights expressions are associated should act in good faith and abide by the conditions as stated. Actions in response to a failure of a harvester to abide by rights expressions are outside the scope of this specification.
Support for the development of the OAI-PMH and for other Open Archives Initiative activities comes from the Digital Library Federation, the Coalition for Networked Information, and from the National Science Foundation through Grant No. IIS-9817416. Individuals who have played a significant role in the development of OAI-PMH version 2.0 are acknowledged in the protocol document.
2004-05-27: First draft of this document.
2004-06-02: Second draft with substantive changes
2004-06-08: Third draft with substantive changes