Harmony Project
2001-06-18
ABC
Harmony Data Model Version 2
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:
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.
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:
museums, where describing the temporal transitions of an object (e.g., its discovery, classification, exhibit history) is considered essential.
archives, where provenance of an object is fundamental to establishing its integrity.
digital resources, which unlike physical content are fundamentally malleable and derivable.
rights management, where questions about "who did what, when, where, and of what nature?" are essential to assigning proper attribution.
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:
States provide the context for the expression of occurrent, or time-based properties, of an entity.
Events provide the context for transitions between states.
Actions provide the context for activites of agents with in the context of a larger state transition.
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.
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:
Individual metadata communities might use the principles demonstrated in ABC as the basis for building domain or purpose specific metadata vocabularies and models. While these vocabularies might not include all aspects of ABC, our experience has shown that awareness of the principles in ABC, especially the clean separation of entities and the conceptualization of object transition, can prove valuable in avoiding common pitfalls of metadata design. ABC has been deliberately designed as a primitive ontology so that individual communities are able to build on top of it. A set of base classes has been provided to act as either attachment points for domain-specific properties or superclasses which can be sub-classed to create domain-specific classes.
System builders might use the ABC principles as the basis for implementing tools that map among multiple metadata formats. Our experience has shown that the possibility of mapping automatically is often mitigated by the undisciplined use of existing metadata formats, or by their sometimes undisciplined models. However, it is arguably true that a foundation model such as ABC may provide a knowledge framework to assist in metadata mapping.
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.
|
Nam |
Entity |
|
Subclass of |
none |
|
Description |
The
primitive category having no differentiae. |
|
Nam |
Temporality |
|
Subclass of |
Entity |
|
Description |
A primitive ontology category for sub-classing categories of entities that provide time existential contexts. |
|
Nam |
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. |
|
Nam |
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). |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
Agent |
|
Subclass of |
Actuality |
|
Description |
An Actuality which participates in an Event through an Action. Agents may be persons, instruments, organizations, etc. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
hasInput |
|
Sub-property of |
none |
|
Domain |
Event |
|
Range |
State |
|
Description |
Binds a State and the Actualities within its context as existing before an Event. |
|
Nam |
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. |
|
Nam |
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). |
|
Nam |
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). |
|
Nam |
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). |
|
Nam |
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). |
|
Nam |
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). |
|
Nam |
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). |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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). |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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). |
|
Nam |
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. |
|
Nam |
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. |
|
Nam |
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. |
The following figure shows the composition of the ABC classes, which are described above. Classes are shown in rectangles and sub-class relationships are indicated by solid lines.
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.
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".
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.