Role Classes -- e.g. Resource, TeacherMike Uschold <firstname.lastname@example.org>
From: Mike Uschold <email@example.com>
Date: Fri, 28 Jul 95 15:53:00 BST
Subject: Role Classes -- e.g. Resource, Teacher
This note describe our experiences and approach to dealing with things
like Resource that in some sense may be more properly modelled as Roles
rather than 'primary' entities.
I am posting it to pif-comments, as it is directly relevant to the PIF
effort, however it may also be of more general relevance to others
building ontologies in Ontolingua.
I do not mean to suggest that our approach is necessarily better for the
PIF effort (or even for us) but it is what we have currently done and it
seems semantically and logically correct. There may be practical
reasons for adopting an alternative approach, e.g. by making RESOURCE a
'primary' ENTITY. However, my intuition is that such an approach is
I encourage any and all sorts of feedback on this.
The following definitions appear in the natural language description of
the Enterprise Ontology -- accessible via: http://www.aiai.ed.ac.uk/~entprise/
Like the PIF document, it serves as the specification for a coded
version. The actual code in Ontolingua (not yet available) necessitated
a range of decisions, including precisely how to deal with things like
RESOURCE and more generally, ROLES.
Eventually, we hope to produce a companion document describing this an
other important issues and decisions that were taken during the coding
effort. Such a document will bridge the gap between the specification
and the code.
ROLE: the way in which an ENTITY participates in a RELATIONSHIP
this can be thought of as [the semantics of] an argument in a relation.
ROLE CLASS: the class of all entities that play a particular role in
some RELATIONSHIP (i.e. relation).
e.g. the binary relation PERFORM has two roles (arguments):
* performer of type ACTOR and
* performee of type ACTIVITY
the binary relation CAN-USE-OR-CONSUME has two roles:
* user/consumer of type ACTIVITY and
* used/consumed of type ENTITY (i.e in principle can be
anything at all!)
Many ROLES are not particularly interesting and thus are neither
referred to nor represented except implicitly as arguments in
relations. However the 'used/consumed' role is EXTREMELY important and
is usually referred to as a RESOURCE.
e.g. RESOURCE: the class of all entities that play the
used/consumed ROLE in the CAN-USE-OR-CONSUME relation.
In the Ontolingua code for the Enterprise Ontology, ROLES are not
explicitly represented, they are [only] implicit in the definition of
However, important ROLES give rise to ROLE CLASSES such as RESOURCE
which *are* formally represented. The OL code for this example is
"a Relationship between an Activity and an
Entity whereby the Entity is or can be used or consumed during the performance
of the Activity"
(and (Eo-Entity ?resource)
("An Entity produced by an Activity may be viewed as a
Resource in that *other* Activities may use/consume it;
however such outputs are not Resources with respect to the
producing Activity." ) )
"The Entity that is used or consumed in the Can-Use-Or-Consume
(Instance-Of Class) (Subclass-Of Eo-Entity))
((<=> (Resource ?resource)
(Can-Use-Or-Consume ?activity ?resource))))
("This is a special Role class, in that membership in it is
determined purely on the basis of an Entity's participating in one or
In the Enterprise Ontology, there are a considerable number of such
ROLE CLASSES; these include:
* DOER: performer of an ACTIVITY
* PURPOSE: a STATE OF AFFAIRS that is either
1) the Intended-Purpose of some Plan, or
2) in a Hold-Purpose relationship with some Actor
This is an interesting example where PURPOSE is logically the union
of two ROLE CLASSES.
* PURPOSE-HOLDER: The ACTOR in the Hold-Purpose relation
to name just a few.
I hope this is of some use in the PIF effort, and others building
ontologies in Ontolingua.
Mike Uschold AI Applications Institute,
INTERNET: M.Uschold@ed.ac.uk The University of Edinburgh,
Tel: (031) 650 2732 80 South Bridge, Edinburgh EH1 1HN
Fax: 650-6513 Scotland