Harmony Project
2001-06-18

ABC Harmony Data Model Version 2


1. Introduction

This document describes an updated version of the ABC data model and vocabulary.  The model is intended to provide a common conceptual model to facilitate interoperability among application metadata vocabularies.  The model described here is a major update to the initial model presented in the working paper "ABC: A Logical Model for Metadata Interoperability".  Many of the features described in this current model are the result of collaborations with a number of communities, most notably the museum community represented by both the CIDOC/CRM and the CIMI consortium.  The modeling methodology builds on concepts from the Resource Description Framework (RDF) of the W3C, but should also be applicable in non-RDF contexts.

Work on the ABC model is a result of the JISC/NSF/DSTC sponsored Harmony project.  While much of the intellectual content of this document results from ongoing collaborations, the responsible parties for this document are Jane Hunter (jane@dstc.edu.au) and Carl Lagoze (lagoze@cs.cornell.edu). Credit also goes to Dan Brickley (danbri@w3.org) for his contributions to the original ABC model and for his role in discussions about this current version of the model.

This document is structured as follows:


2. Functional Purpose and Scope of the Model

2.1 Origins

Work on the ABC data model and vocabulary is motivated by a recognition that many of the beginning and ongoing metadata efforts often proceed with insufficient attention to underlying modeling principles.  Failure to pay due attention to more formal principles frequently has led to attempts to express complex resource descriptions within the constraints of flat attribute/value tables.  Such simple formalisms are appropriate for simple "pidgin" metadata, such as Dublin Core, but lack precision for detailed descriptions, and queries upon those descriptions, of digital and physical objects.  The need for more formal modeling work has been recognized by a number of colleagues in the metadata community, and the ABC model draws influences from CIDOC/CRM, INDECS, IFLA FRBR, and others.  

2.2 Underlying Modeling Principles

The modeling principles upon which ABC builds are described in the original strawman document.  The notion of temporality deserves emphasis here due to its importance in the model and its implications for its scope.  A core intent in ABC is the ability to model the creation, evolution, and transition of objects over time. Traditional bibliographic cataloging has generally assumed that the objects being described, and therefore their attributes,  are more or less stable.  Time and object transition has generally been relegated to "second class" status.  This has made traditional resource-based cataloging inadequate in a number of contexts, for example:

The scope of ABC is intended to include these domains and others where object origin and change are considered essential to describing an object.   ABC therefore includes the notion of temporality as a core ontology category.  This notion is employed in the following manner:

2.3 Targeted Objects

The ability to model change makes ABC appropriate for describing a wide variety of entities and the relationships between them. In particular, it has been designed to model physical, digital and analogue objects held in libraries, archives, museums and on the internet. This includes objects of all media types text, image, video, audio, web pages, multimedia. It can also be used to model abstract concepts such as intellectual content and temporal entities such as performances or lifecycle events which happen to an object. In addition the model can be used to describe other fundamental entities which occur across many domains such as: agents (people, organizations, instruments), places and times.

2.4 Intended Use and Users

ABC is not intended as a metadata vocabulary per se.  Therefore, the ABC model has not been constrained by the design principle that it be comprehensible by the standard "user", or creator of metadata. Rather, it is intended as a conceptual foundation with two communities of use in mind:


3. ABC Classes and Properties

This section describes the elements of the ABC ontology, divided into the basic classes of the model and the properties that related those classes.  An RDF schema representation of this class and property structure is available here.  A SIRPAC generated PNG image of the schema is available here.

3.1 Classes

Name

Entity 

Subclass of

none

Description

The primitive category having no differentiae.

 

Name

Temporality

Subclass of

Entity

Description

A primitive ontology category for sub-classing categories of entities that provide time existential contexts.

 

Name

Actuality

Subclass of

Entity

Description

A primitive ontology category for sub-classing categories of entities that have a tangible existence in some world view.  Actualities as identities and properties associated with those properties have a duality as continuants - entities whose identity as a set of properties/characteristics are time independent relative to the world view of a model - and occurrents - entities whose identity as a set of properties/characteristics are local to states/contexts in a model.  The hasInstance and inState properties are means of co-relating an occurrent facet of an Actuality and its continuent facet and of associating the occurrent facet with a specific state.

 

Name

Abstraction

Subclass of

Entity

Description

A primitive ontology category for sub-classing categories of entities that are pure information or concepts (stands in contrast to the Actuality category).

 

Name

Artifact

Subclass of

Actuality

Description

A type of Actuality that is the tangible realization of some pre-conceived Abstraction - a prototypical example is intellectual content.  The primary distinguishing characteristics of Artifacts is that they can be manifested in a number of ways and copied - for example the book "Hamlet" is an Artifact (of the Abstraction Hamlet) since it is one of many possible Actualities.  This contrasts to the Actuality William Shakespeare who admittedly may have been pre-conceived by his parents but can not be manifested in various ways.  Similarly a historical museum object such as a dinosaur bone is an Actuality but not an Artifact.

 

Name

Event

Subclass of

Temporality

Description

An Event marks a change in State - a time snapshot in a process model. It corresponds to a transition in a Petri Net or an event in a flow-chart.  Its status as a transition between two States is codified by its  association via properites to two States, one State connected via the isInput property to the Event and the other State connected via the isOutput to the Event.  The granularity of the snapshot is variable - for example some Events are truly an instant (a point in time).  However, an Event may have coarser granularity such as span of time during which some state change was undertaken (for example, the painting of the Sistine Chapel Ceiling). The granularity of the snapshot is associated with the Event via a single atTime property.  Events provide an existential context for associated Actions or verbs, which provide anchors for agents and associated activities that contribute to the state change.  This differentiates them from States, which provide the existential context for occurrent facets of Actualities.

 

Name

State

Subclass of

Temporality

Description

A State is a context for making assertions about Actualities.  A State corresponds to the concept of a place in a Petri Net or a state in a finite-state machine.  A State stands in contrast to an Event, meaning that Events mark snapshots of change (possibly influenced by some Agent) whereas States mark periods of stability establishing a context for properties to be asserted for Actualities.  Another way of saying this is States provide a context for adjectives (properties) on Actualities, where Events provide a context for verbs (Actions) by Agents.   The time certainty for a State is implicitly within the time contexts for the events that enclose it (i.e. a State can serve as the isInput of one Event and the isOutput of another).  However, the time certainty can be be explicitly stated via a atTime property on the State.  The purpose of this is to make the model as closed as possible - where the time certainty of Events and States is known.  

 

Name

Action

Subclass of

Temporality

Description

An activity or verb performed by some Agent or Agents in the context of an Event.  Actions may involve an Actuality, which may be in its occurent or continuant facet, and may have result that is another Actuality, which always must be in its occurrent facet.

 

Name

Agent

Subclass of

Actuality

Description

An Actuality which participates in an Event through an Action.   Agents may be persons, instruments, organizations, etc.

 

Name

Work

Subclass of

Abstraction

Description

An Abstraction that is intellectual property in the IFLA FRBR sense. A Work is an abstract concept which can not exist in a model in isolation, but is only revealed when it has been actualized in some Manifestation.

 

Name

Manifestation

Subclass of

Artifact

Description

A form of an Artifact that stands as the sensible realization of a Work.  Works  and Manifestations stand in a one to many relationship. The hasRealization property associates a Work with its Manifestation(s). Associating several Manifestations with a Work through the hasRealization property defines those Manifestations as members of a (fuzzy) equivalence class implicitly identified by the common Work.

 

Name

Item

Subclass of

Artifact

Description

A form of an Artifact used to establish a set of identical copies.  Manifestations and Items stand in a one to many relationship.  The hasCopy property associates a Manifestation with its Items.  Associating several Items with a Manifestation through the hasCopy property defines those Items as members of an exact equivalence class.

 

3.2 Properties

Name

hasInput

Sub-property of

none

Domain

Event

Range

State

Description

Binds a State and the Actualities within its context as existing before an Event.

Name

hasOutput

Sub-property of

none

Domain

Event

Range

State

Description

Binds a State and the Actualities within its context as existing after an Event.  There is no explicit implication of causality between the Event and Actualities existing in the State that is the value of the hasOutput property.  Causality between Events or Actions in Events and Actualities is established through the hasResult property and its sub-properties.

 

Name

contains

Sub-property of

none

Domain

State

Range

Actuality

Description

Establishes a relationship between a State and an occurrent facet of an Actuality (reverse of inState).

 

Name

inState

Sub-property of

none

Domain

Actuality

Range

State

Description

Establishes an Actuality as an occurrent, which means that its property set exists within the context of State that is associated as the value of this property (reverse of contains).

 

Name

hasInstance

Sub-property of

none

Domain

Actuality

Range

Actuality

Description

Binds the continuent facet of an Actuality to its occurrent facet.  The Actuality that is the value of this property must itself have an inState property to establish its statefulness. Effectively the properties of the continuent facet (the subject of the hasInstance property) are constant in the world view of the model and the properties of the occurrent facet (the value of the hasInstance property) are in the scope if its associated State. (reverse of instanceOf).

 

Name

instanceOf

Sub-property of

none

Domain

Actuality

Range

Acuality

Description

Establishes the relationship between an occurrent facet and a continuant facet of an Actuality (reverse of hasInstance).

 

Name

hasRealization

Sub-property of

none

Domain

Work

Range

Manifestation

Description

Binds a Manifestation within the conceptual umbrella of a Work.  A Work may have several hasRealization properties, which establishes a fuzzy equivalence set among manifestations, implicitly stating that the properties of the subject Work are shared across the object Manifestation(s). 

 

Name

hasCopy

Sub-property of

none

Domain

Manifestation

Range

Item

Description

Binds an Item as one of several copies of a Manifestation.  A   Manifestation may have several isCopied properties, which establishes an exact equivalence set among Manifestations, implicitly stating that the properties of the subject Manifestation are shared across the object Item(s). 

 

Name

involves

Sub-property of

none

Domain

Action, Event

Range

Actuality

Description

Expresses the involvement of an Actuality in the performance of an Action (in the context of an Event).  There is no implication of transformation in this use.   

 

Name

hasPatient

Sub-property of

involves

Domain

Action ,Event

Range

Actuality

Description

Strengthens the notion of involves to the classic patient sense stating that the Actuality that is the value is transformed by the Action.

 

Name

usesTool

Sub-property of

involves

Domain

Action, Event

Range

Actuality

Description

A specialization of involves that in effect weakens the notion of involvement of the Actuality in the Action - e.g., it is used but not transformed.

 

Name

hasResult

Sub-property of

none

Domain

Action, Event  

Range

Actuality

Description

Expresses the result of an Actuality, which always must be in an occurent facet, in the performance of an Action (in the context of an Event).

 

Name

destroys

Sub-property of

hasPatient

Domain

Action, Event

Range

Actuality

Description

A specialization of hasPatient that indicates that the value Actuality ceases to exist in State(s) that are output of the Event.  Any Actuality that is not explicitly destroyed can be assumed to exist in subsequent States even though it might not be explicitly represented.

 

Name

creates

Sub-property of

hasResult

Domain

Action, Event  

Range

Actuality

Description

Specializes hasResult to mean the coming into existence of the Actuality that is the value of this property.  This means that the Actuality can be assumed to not exist in States prior to the one in which the created instance of the Actuality appears.

 

Name

hasAction

Sub-property of

none

Domain

Event

Range

Action

Description

An Event can have one or more Actions, which are verbs performed by Agents in the context of the Event.

 

Name

hasAgent

Sub-property of

none

Domain

Action

Range

none

Description

Associates a subject with an Action.  The property relation can either be binary or ternary.  In the binary relation the value of the hasAgent property is a literal or an entity of type Agent. In the ternary relation the value is an intermediate node with a hasRole property (that specializes the verb in the Action)  and a value property, with the value being the agent (a literal or an entity of type Agent).

 

Name

hasRole

Sub-property of

none

Domain

none

Range

none

Description

Specializes the participation of an Agent in an Action.  Its domain, although undefined in the schema, will be an intermediate node that is the value of a hasAgent property, and the statement expressed will be ternary relation between Action, role, and Agent.

 

Name

atTime

Sub-property of

none

Domain

Temporality

Range

none

Description

Associates a time (of unconstrained type) with an entity that is a sub-category of an Temporality.

 

Name

inPlace

Sub-property of

none

Domain

Actuality, Temporality

Range

none

Description

Associates a location (of unconstrained type) with an entity.  The entity can be an Actuality or Temporality.


4. Class Hierarchy Diagrams 

4.1 ABC Class Hierarchy

The following figure shows the composition of the ABC classes, which are described aboveClasses are shown in rectangles and sub-class relationships are indicated by solid lines.

 

4.2 ABC Class Hierarchy Supplemented with Properties

The following figure duplicates the previous figure, and adds the relationship of the ABC properties to the classes.  Classes are shown in rectangles and sub-class relationships are indicated by solid lines. Properties are down as dashed lines directed from their domain class(es) to their range class.  A property that does not have a defined range is indicated by an oval at the end of a dashed arc.  Finally, property/sub-property relationships are indicated by dotted arcs with an oval of the sub-property at the end of the arc.

 

 


5. ABC Modeling Examples

5.1 Children's Book Example

The book, "Charlie and the Chocolate Factory" was written by Roald Dahl in 1964. The first edition (a hardcover, illustrated by Joseph Shindleman) was published in 1985 by Knopf. A second edition was published in 1998 by Puffin. It was a paperback illustrated by Quentin Blake. In 1995, a 3 hour audiocassette recording of the book was produced by Caedmon. It was narrated by Robert Powell and the caterer during production was "Sam 'n Ella's Catering".

5.2 Dinosaur Bone Example

A dinosaur bone was discovered by Richard Leakey in 1995 in Kenya.  In 1971 it was acquired by the British Museum in London and added to its collection.  In 1991, Jean Smith, the curator of the British Museum, classified the bone as part of a plesceosaur.  In 1998, the Richard Hill took an image of the dinosaur bone and it was mounted on the museum's web site.

5.3 Birth Example

On June 14 2001 at the Wesley Hospital, an 8lb 11oz baby girl was delivered to parents Jill and John Smith. The obstetrician at the delivery was Jane Kildare and the midwife was Carl Nightingale.

This example demonstrates how the Action type refines or more narrowly specifies the actions which occur within an Event. The Agent Role further refines or more narrowly specifies the role of the specific agents within an action.

5.4 AMOL Vase Example

5.5 Clayton Plant Specimen Example

5.6 RLG Van Echten Photo Example

5.7 RLG WPA Poster Example

5.8 National Museum of Denmark Example