By Peter Pinch on March 25, 2011
I presented PBCore 2.0 as part of a panel on collaboration at the IMA 22011 conference in Austin, Texas.
The panel was mostly focused on case studies of collaboration — including examples between radio & print, amongst television & the arts community, and between media makers.
PBCore is more of an enabling technology than an example of collaboration, but I managed to fit in with the rest of the panel by describing how PBCore 2.0 was a combined effort by many folks in public broadcasting, including radio, television and online. I also threw in a few details about some of the tools we used to collaborate — from this blog, to Google Docs, to GitHub.
PBCore presentation for IMA 2011 Conference
Posted in Events, News, Training | Tagged homepage, IMA, News |
By pbcore on March 4, 2011
As a well-defined metadata format, PBCore records can be embedded within and transported over almost any API.
Here are two examples
PBCore embedded in Atom
(Accessed through an OpenSearch API)
OpenSearch is an open API for documenting and exposing search query interfaces. Although it supports any data format for query responses, this example uses the Atom format (similar to RSS and compatible with most feed readers), with embedded PBCore records.
The American Archive Content Inventory Project has an OpenSearch interface, which is described at http://americanarchiveinventory.org/catalog/opensearch.xml
You can craft queries that return pbcore metadata by adding content_format=pbcore to the query string. For example, the following URL returns pbcore metadata about items in the CPB collection (assuming you are logged in with appropriate credentials).
http://americanarchiveinventory.org/catalog.atom?content_format=pbcore&forganization_name_facet=Corporation+for+Public+Broadcasting
PBCore accessed through OAI
The OpenArchives Initiative is a collection of APIs and protocols designed to support the harvesting of metadata over the web.
The American Archive Content Inventory Project has an OpenSearch interface. By using the OAI identify verb, you can get basic information about the collection and OAI interface:
http://americanarchiveinventory.org/catalog/oai?verb=Identify
You can retrieve a list of records in the PBCore format by using the listRecords verb along with metadataPrefix=pbcore (assuming you are logged in with appropriate credentials):
http://americanarchiveinventory.org/catalog/oai?verb=ListRecords&metadataPrefix=pbcore
Posted in How To, Tools | Tagged american archive, API, OAI, openaarchives, opensearch, PBCore |
By pbcore on March 2, 2011
PBCore may be used to express multiple instantiations per work (e.g., multiple tapes containing one program). It may be done in different ways, depending on what – if any – descriptive metadata should accompany each tape.
If metadata to describe the content of each tape (i.e., the program segment material) is not needed, then the program can be described generally at the level of element ‘pbcoreDescriptionDocument,’ and each of its multiple carriers noted most simply by the repeated use of the sub-element structure within pbcoreInstantiation. For example:
<?xml version="1.0" encoding="UTF-8"?>
<pbcoreDescriptionDocument xmlns="http://pbcore.org/PBCore/PBCoreNamespace.html"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pbcore.org/PBCore/PBCoreNamespace.html>
<pbcoreIdentifier source="MARS">XYZ123</pbcoreIdentifier>
<pbcoreTitle>XYZ123: The Program</pbcoreTitle>
<!-- section removed for clarity -->
<pbcoreInstantiation>
<instantiationIdentifier source="MARS">XYZ123-A</instantiationIdentifier>
<instantiationLocation>VAULT</instantiationLocation>
<instantiationRelation>
<instantiationRelationType annotation="One of a multi-part instantiation">Precedes in Sequence</instantiationRelationType>
<instantiationRelationIdentifier source="MARS">XYZ123-B</instantiationRelationIdentifier>
</instantiationRelation>
</pbcoreInstantiation>
<pbcoreInstantiation>
<instantiationIdentifier source="MARS"></instantiationIdentifier>
<instantiationLocation>VAULT</instantiationLocation>
<instantiationRelation>
<instantiationRelationType annotation="One of a multi-part instantiation">Follows in Sequence</instantiationRelationType>
<instantiationRelationIdentifier source="MARS">XYZ123-A</instantiationRelationIdentifier>
</instantiationRelation>
<instantiationRelation>
<instantiationRelationType annotation="One of a multi-part instantiation">Precedes in Sequence</instantiationRelationType>
<instantiationRelationIdentifier source="MARS">XYZ123-C</instantiationRelationIdentifier>
</instantiationRelation>
</pbcoreInstantiation>
<!-- section removed for clarity -->
</pbcoreDescriptionDocument>
If descriptive metadata about the program material is needed at the level of the tape, then use pbcoreDescriptionDocument as before, but with sub-elements ‘pbcorePart’ instead of ‘pbcoreInstantiation.’ There, data about each tape would be contained within pbcorePart structures, each with a ‘pbcoreInstantiation’ assemblage:
<?xml version="1.0" encoding="UTF-8"?>
<pbcoreDescriptionDocument xmlns="http://pbcore.org/PBCore/PBCoreNamespace.html"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pbcore.org/PBCore/PBCoreNamespace.html>
<pbcoreIdentifier source="MARS">XYZ123</pbcoreIdentifier>
<pbcoreTitle>XYZ123: The Program</pbcoreTitle>
<!-- section removed for clarity -->
<pbcorePart startTime="00:00:00" endTime="00:29:50">
<pbcoreIdentifier source="MARS">XYZ123-A</pbcoreIdentifier>
<pbcoreTitle>XYZ123: The Program Part One</pbcoreTitle>
<pbcoreDescription>The stage is set for conflict between X, Y and Z</pbcoreDescription>
<pbcoreInstantiation>
<instantiationIdentifier source="MARS" annotation="One of a multi-part instantiation">XYZ123-A</instantiationIdentifier>
<instantiationLocation>VAULT</instantiationLocation>
<instantiationRelation>
<instantiationRelationType annotation="One of a multi-part instantiation">Precedes in Sequence</instantiationRelationType>
<instantiationRelationIdentifier source="MARS">XYZ123-B</instantiationRelationIdentifier>
</instantiationRelation>
</pbcoreInstantiation>
</pbcorePart>
<pbcorePart startTime="00:29:50" endTime="00:59:40">
<pbcoreIdentifier source="MARS">XYZ123-B</pbcoreIdentifier>
<pbcoreTitle>XYZ123: The Program Part Two</pbcoreTitle>
<pbcoreDescription>The forces of X, Y and Z combine to shake the world</pbcoreDescription>
<pbcoreInstantiation>
<instantiationIdentifier source="MARS" annotation="One of a multi-part instantiation">XYZ123-B</instantiationIdentifier>
<instantiationLocation>VAULT</instantiationLocation>
<instantiationRelation>
<instantiationRelationType annotation="One of a multi-part instantiation">Follows in Sequence</instantiationRelationType>
<instantiationRelationIdentifier source="MARS">XYZ123-A</instantiationRelationIdentifier>
</instantiationRelation>
</pbcoreInstantiation>
</pbcorePart>
<!-- section removed for clarity -->
</pbcoreDescriptionDocument>
Posted in How To, Training | Tagged endTime, instantiationRelation, instantiationRelationType, pbcorePart, startTime |
By pbcore on February 16, 2011
Full Article (PDF)
Abstract:
In less than ten years, broadcasting has been completely transformed from an analog media to a production and distribution environment that is digital from end-to-end. Early in the transition, the public broadcasting system recognized the need for a single, unified metadata schema able to deliver digital content across multiple platforms. The Public Broadcasting Metadata Dictionary Project (PBMD), comprised of representatives from both public radio and public television, was convened by the Corporation for Public Broadcasting in 2001 and spent several years analyzing metadata standards and collecting user requirements. PBCore v1.0, based in large part on Dublin Core, was released in 2005, and since then, it has been widely adopted not only by broadcasters, but also by media archives as the preferred scheme for descriptive and technical metadata. During several years of dormancy, PBCore was maintained by a loyal group of users, but with the planning of the new American Archive project, CPB is once again supporting PBCore with a release of 2.0 scheduled by the end of 2010. Based on an expanding community of user institutions, PBCore is proving to be very valuable in meeting its original goal as a standard for rich media metadata that is extensible, scalable, flexible and easy to understand.
Posted in News, Training | Tagged article, broadcasting, descriptive metadata, digital asset management, digital media, Dublin Core, interoperability, media archives, Media metadata, metadata schema, News, PBCore, preservation, public television, public television archives, semantics, taxonomy, video database |
By pbcore on February 15, 2011
Having just published PBCore 2.0, we thought we’d summarize the evolution of the schema. Following is a timeline and summary of previous versions of PBCore. For new developments in 2.0, see Jack Brighton’s “Introducing PBCore 2.0″ post.
1.3 – August 2010
PBCore version 1.3 added a new top-level element, a new attribute of string values, and removed the previous requirement to describe one or more instantiations of any asset. Its new element, “pbcoreAssetType,” could be used to explicitly declare the asset’s broad business purpose, and its new attribute “source” could help clarify the text value of an element, much like the attribute “version” has done. PBCore v1.3 used 62 elements organized into 15 containers and 4 sub-containers.
1.2.1 – December 2008
PBCore version 1.2.1 was published to better accommodate the possibility that a media asset may have multiple instantiations with various technical attributes. A new container called “pbcoreEssenceTrack” contains all other new elements to express different attributes associated with multiple instantiations. PBCore v1.2.1 used 61 elements organized into 15 containers and 4 sub-containers.
1.1 – January 2007
PBCore Version 1.1 enhanced the binding of related metadata elements (such as Title and TitleType) into new, hierarchically-organized “Element Containers.” In that arrangement, each Element Container collects and houses associated “child” Elements that are thematically related. Basically, what was a “flat” arrangement of the 48 PBCore elements became a more “nested” structure of 53 elements, arranged in 15 containers and 3 sub-containers.
1.0 – April 2005
PBCore Version 1.0 defined 48 metadata elements which combined to describe a media asset or resource’s intellectual content, creation, creators, usage, permissions, constraints, use obligations, and its form or format in the physical or digital realm.
Posted in News, XSD | Tagged change requests, News, pbcore1.0, pbcore1.1, pbcore1.2, pbcore1.3, pbcore2.0, revisions, XSD |
By pbcore on February 14, 2011
PBCore 2.0 can be used to express “abstract,” or metadata-only assets.
These assets simply do not have any instantiations, and might serve to represent a high level idea such as a television for which there is no single physical or digital instantiation.
The descriptive metadata within such an assets may be referenced from within other assets. For example, programs within a series can reference the series record and vice versa. This can save the effort of creating redundant metadata.
Posted in How To, Training | Tagged abstract, pbcoreDescriptionDocument, pbcoreInstantiation |