Tom,
The idea of exclusive and non-exclusive subtypes also existed in IDEF-1X and NIAM/ORM and (ISO) EXPRESS and others – all 1980s information modeling languages.
But in most of those languages, exclusion is/was a relationship between subtypes.
There are many non-role examples of non-exclusive subtypes. Consider Person having the subtypes MalePerson, FemalePerson, EUCitizen, nonEUCitizen, etc. While
MalePerson and FemalePerson are mutually exclusive, MalePerson overlaps both EUCitizen and NonEUCitizen, along with MedicalDoctor, and many others. The concept of categorization (system) – mutually exclusive sets of subtypes -- was supported in some of the
1980s languages, while OO modeling often assumed it. A mere 25 years later, it became possible to express categorizations in UML, after removing the OO prejudices.
There is nothing wrong with your decision to use ‘non-exclusive subtype’ to represent a ‘role’ in Erwin. In a similar way, roles were modeled as 'mixin classes'
in some OO languages. But the real semantics of your ‘customer’ was really “customer of the firm the model is about”, which is a class. In a supply-chain model, the concept ‘customer’ is not an entity/class; it is a (view of) a relationship between parties,
and it cannot be a subtype of anything but another relationship between parties.
-Ed
Edward J. Barkmeyer
Thematix Partners
Email:
ebarkmeyer@xxxxxxxxxxxx
Phone: +1 240-672-5800
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx]
On Behalf Of Thomas Johnston
Sent: Sunday, October 18, 2015 4:39 PM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] A Question About Mathematical Logic
Some nice distinctions in this discussion of roles.
In my relational data modeling days, I distinguishes between roles and subtypes. Relational data modeling tools (like Erwin) allowed the modeler to create subtype
hierarchies which were either "exclusive" or "non-exclusive".
With non- exclusive subtypes, something could belong to more than one of those subtypes. So a common two-level type hierarchy was Organization, with subtypes
Supplier, Self and Customer. These are non-exclusive subtypes since the same company could be both a supplier and a customer.
With exclusive subtypes, something could belong to only one of a set of subtypes. An example of a two-level exclusive type hierarchy is Financial Instrument
Document, with subtypes Purchase Order and Invoice. A document may be a purchase order, but if it is, it can't also be an invoice. And vice versa.
I used the term "role" for non-exclusive subtypes, since in natural language, any of us can take on multiple roles, e.g. father, Little League coach, employee,
church deacon, etc. And I used the term "type" for exclusive subtypes, since for a set of types with a common supertype (e.g. Team Member with subtypes Player or Coach), one ordinarily thinks that someone is either a coach or a player, but not both.
I think it's a good choice of terminology to associate with the non-exclusive / exclusive distinction. Also, "type", I think, is more often associated with
ontology taxonomies (hierarchies) than is "role". And ontology taxonomies are partitionings, from which it follows that they are exclusive hierarchies.
But I don't know whether or not this contributes anything other than a nice terminological distinction to this discussion.
John,
You have hit upon an issue that has troubled a lot of 'conceptual model' and 'ontology' developers for many years. I would describe that issue as the ambiguity of the term 'role'. Pat's examples: employee, buyer, seller are instances of what one might call
a 'relational role' (there is probably a more formal philosophical term). That is, such terms only make sense *relative* to some specific situation or thing. One cannot be "a buyer"; one can only be "a buyer of" something.
Student, OTOH, can be a relational role -- one can be a "student of" a given professor, or a "student at" a given school; but student can also be a (temporal) class. The class is derived from the relational role by existential quantification of the related
object. Student = a human who is enrolled as a "student at" *some* school. Museums, for example, often treat students and 'seniors' (another temporal category) as special classes of human when charging entry fees. (Then again, one might treat 'student'
as a specialization of the relational role 'visitor' in that case, and it might be argued that every use of the supposed class 'student' is actually a specialization of some other relational role.)
I have also sometimes found it important semantically to distinguish between a 'participation role' and a relational role. One can be 'the buyer in' a specific purchase transaction, which is a relationship to the event/situation, as distinct from 'the buyer
of' the item that is purchased in that transaction. The relationship between the person and the purchased item is derived from the participation relationship. The concept of 'role' in process modeling is always a participation.
There is yet another kind of role which we might dub 'reified role', but most organizations would call a 'position', such as Dean of the Engineering School. Such a role exists as a thing in the UoD, even when no thing plays the role.
Put another way, the different notions of 'role' can be modeled in OWL as a Property, a Property slot, a Class, or an Individual, according to what one intends by the term 'role' and how one expects to use it in making inferences.
I do expect that an expert in one of the cognitive science disciplines can tell us that 'role' is carefully defined in that discipline and should be used only with that intent. (In particular, I'm pretty sure Pat used the term carefully, with the accepted
meaning in some discipline.) But the literature of the information sciences is littered with uses of 'role' that appeal to the intuition of the reader to determine what is meant. Even worse, some of the literature "defines" the term in such a way that it
is not clear which of the above is intended.
-Ed
-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F Sowa
Sent: Friday, October 16, 2015 4:31 PM
To: ontolog-forum@xxxxxxxxxxxxxxxx
Subject: Re: [ontolog-forum] A Question About Mathematical Logic
On 10/16/2015 1:44 PM, Obrst, Leo J. wrote:
> Example: Student. Employee. Buyer. Seller. And so on.
> These are roles, and can be characterized in a role hierarchy, if one
> wishes.
I agree that it's important to distinguish roles. In my CS book (1984), I distinguished them as role type (e.g., Student) vs.
natural type (e.g., Human). Nouns that represent role types have more typical or expected relationships than those that represent natural types. But natural types also have expected relationships (e.g., Human vs Elephant vs Rose vs Cabbage).
> But e.g., Student is not a subclass of Person (or, more clearly Human).
That is a prime example of a typical confusion. The phrase 'more clearly' is a clue that it's not clear.
A class is normally defined as a set that is characterized by some criterion that may be stated by a monadic predicate. The students in a school form a set that may be represented by a monadic predicate.
Q: Why would anyone claim that 'Student' is not worthy of being a class?
A: Some philosopher said so.
Q: Does that distinction make a difference in how the term is
represented in ordinary language?
A: Role types and natural types are both represented as nouns.
But a noun that represents a role may occur in some phrases
that are not expected for a natural type: e.g., "a student
of physics", "a teacher of physics", but it's unusual to say
"a man of physics". In any case, 'unusual' means "unexpected,
but not impossible".
Q: Does it make a difference in how the term is represented in logic?
A: Not in predicate calculus. But some people choose different
ways of making that distinction in some versions of logic.
Q: Does it make a difference in a theorem prover?
A: No. If you represent all the required, expected, and unusual
relationships, you get the same implications.
Q: So why does anyone make that distinction?
A: Because some philosopher said so.
Q: Do all philosophers agree on that point?
A: No. Some say it's a pseudo-problem. Others say there's
a continuum with many borderline cases.
Summary: I have a high regard for good philosophy. But I have little patience with those who make a fetish of distinctions that don't make a difference in computing the implications. I have even less patience when those distinctions create incompatibilities
between systems that happen to make different choices.
John
_________________________________________________________________
Message Archives:
http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr:
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join:
http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
|
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J (01)
|