Skip to content
Esmé Cowles edited this page Aug 25, 2016 · 8 revisions

Properties

  • pcdm:hasMember < ore:aggregates: Links to a subsidiary Object or Collection. Typically used to link to component parts, such as a book linking to a page. Note on transitivity: hasMember is not defined as transitive, but applications may treat it as transitive as local needs dictate.
  • pcdm:hasRelatedObject < ore:aggregates: Links to a related Object that is not a component part, such as an object representing a donor agreement or policies that govern the resource. Can also be used to link to AlternateOrder to encode multiple orders, and TopRange to encode logical structure.
  • pcdm:hasFileSet < ore:aggregates: Links to a FileSet that represents an Object or Collection.
  • pcdm:hasFile < ore:aggregates: Links to a File contained by a FileSet.

pcdm:Collection < ore:Aggregation

A Collection is a group of resources, such as:

  • Resources managed by an institution or unit
  • Resources received from a donor
  • Resources related to a topic
  • Resources selected by a user
  • etc.

Collections have descriptive metadata, access metadata, and may link to Objects and/or Collections. By default, member Objects and Collections are an unordered set, but can be ordered using the ORE Proxy class.

pcdm:Object < ore:Aggregation

An Object represents an intellectual entity (sometimes called a "work", "digital object", etc.) or a part thereof. Objects can have member Objects nested as deeply as needed to represent hierarchical relationships, such as:

  • Physical objects with parts, such as books containing pages, or A/V materials containing discs which have sides
  • Directories and files in a filesystem
  • User-submitted materials
  • etc.

Each level of description is represented by an Object, and is capable of standing on its own, being linked to from Collections and other Objects.

Objects have descriptive metadata, access metadata, and may link to member or related Objects. By default, member Objects are an unordered set, but can be ordered using the ORE Proxy class.

Files and FileSets

pcdm:File

A File is a sequence of binary data and is described by some accompanying metadata. The metadata typically includes at least basic technical metadata (size, content type, modification date, etc.), but can also include properties related to preservation, digitization process, provenance, etc. The cardinality of pcdm:hasFile is one-to-many: an Object can have many Files, but a File can be linked to from only a single Object.

pcdm:FileSet < ore:Aggregation

FileSets encapsulate groups of related Files, such as a single master file and the derivatives. A FileSet represents the Object it is a member of, so a FileSet including a PDF would be attached directly to the book Object, but a FileSet including a TIFF of a page would be attached to the Object representing that page.

In many cases, an Object will be represented by a single FileSet that contains the best quality file and its derivatives (e.g., a TIFF scan of a page, a JPEG thumbnail derived from the TIFF, and OCR text extracted from the TIFF). But an Object may have multiple FileSets that represent it in cases where there are multiple original files, such as:

  • An item that has been digitized more than once, and you want to retain all versions for comparison.
  • An item with more than one independent digital representation, such as a postcard with both a TIFF scan and a TEI transcription.

Ordering

The members of a Collection or Object can be ordered to express the sequence of pages in a book, songs in a playlist, or any other order.

Since Objects can be members of multiple Objects and Collections, they cannot have order information attached directly to them (since the ordering information is context dependent). So Proxy nodes are used to stand in for the Object in a given context. Proxy nodes link to previous and next nodes using iana:prevous and iana:next. They link to the Object they are a proxy for using ore:proxyFor, and to the Object or Collection they are ordering the Object in with ore:proxyIn. To make it easier to find the beginning and end of the chain of proxies, the Object links to the first Proxy with iana:first and the to the last Proxy with iana:last.

Proxy Properties:

  • ore:proxyFor: Links to the resource being ordered.
  • ore:proxyIn: Links to the aggregation the resource is being ordered in.
  • iana:next: Links to the resource after the current resource (omit for the last resource).
  • iana:prev: Links to the resource before the current resource (omit for the first resource).

Collection/Object Properties:

  • iana:first: Links to the first resource in an order.
  • iana:last: Links to the last resource in an order.

pcdm:AlternateOrder < pcdm:Object

An AlternateOrder is an alternate ordering of its parent's members. It should only order the parent's members, and otherwise has all of the features of ordering (some members may be omitted from the order, members may appear more than once in the order, etc.). When there are multiple orders and none is considered the primary or default order, all of the orders can be encoded as AlternateOrders.

Logical Structure

In addition to the structure expressed by Objects, FileSets and Files, an Object may also include additional structural information. For example, digitized materials often have a primary structure that reflects their physical organization, but also have additional logical structures encoded in a Table of Contents. TopRange represents these additional logical structures, and hierarchy of Ranges represents the structure of a TopRange.

pcdm:TopRange < pcdm:Object

A TopRange is a logical ordering of the component parts of an object, corresponding to a IIIF Range with the "top" viewing hint. Has member Ranges that represent the logical structure, such as chapters within a book, scenes in a film, etc.

pcdm:Range < pcdm:Object

A Range is a section of a Work, corresponding to a IIIF Range. Has member FileSets representing the physical parts of the Work are part of the section (e.g., which pages are in a chapter).

Relationship to Linked Data Platform (LDP)

Many users of PCDM also use LDP servers (such as Fedora). While LDP can be used in an implementation of PCDM, it is not required. It can be used to manage the predicates that are required for PCDM.

Clone this wiki locally