[Top] [All Lists]

Re: [ontolog-forum] Defining everything in terms of relations (was Charl

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Barkmeyer, Edward J" <edward.barkmeyer@xxxxxxxx>
Date: Tue, 25 Feb 2014 18:08:34 +0000
Message-id: <567ce0a04622458bb2b9109523f6ffa4@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>



You wrote:


> But I have found it harder to sell that idea right off the bat than selling the understanding that some words used to describe things are actually describing roles of the things (customer, scoutmaster) , and others are not (person).

In my experience (and a lot of it is bitter), people with various kinds and degrees of expertise in modeling and semantics have many different ideas about what a ‘role’ is, and they merge these ideas in various ways.   (And they can be quite adamant about their choices and conflations.)  There are at least half a dozen different ideas:

1.  A ‘role’ is an argument slot in a relation.  This is the one William and I mean, I think.  It doesn’t matter whether the relation expresses a state or an action, and it does not matter what the ‘reading’ of the relation is.  Almost nobody in the modeling community agrees with this!

2.  A ‘role’ is a relationship between two things, usually as viewed by one of them.  This covers the idea of one’s ‘role’ in a project, and my daughter’s English teacher.  This is a ‘static role’,  The ‘role’ per se is often conflated with the ‘relationship’, that is, the argument slot is confused with the predicate.  Formally, the predicate is a mapping from tuples of individuals to true/false, e.g., teachesEnglishTo(teacher, student).  It can be converted to a function – a mapping from tuples of individuals to other individuals, e.g, EnglishTeacherOf(student).  The function is applied to the individual that plays the other role (student), and produces the individual playing the named role (English teacher).  But the same relation may also produce the function EnglishStudent(teacher), which returns the student(s).  This is why we say that the role is a VIEW of the relationship.

3.  A ‘role’ is a specific behavior that is part of an event or activity.  (An ‘activity role’ or ‘dynamic role’.)  This is a special case of (1) that is commonly used in process models and resource planning.  Many people who make this interpretation don’t think of ‘role’ as a behavior in a static situation.  Activity roles can be subdivided into ‘active roles’ (actors, agents) in which role involves the resource in a way that includes taking actions and/or making decisions, and ‘passive’ roles, in which the resource is only ‘acted on’.  Some modelers use the term ‘resource’ to refer to the things that play both kinds of roles, others think ‘role’ means ‘active role’ and ‘resource’ means ‘passive role’.  (A second level of inconsistency in the use of ‘role’.)

4.  A ‘role’ is the responsibility for performing some set of behaviors (3) over some set of events and activities.  This covers company presidents and janitors.  (I think of these as ‘systemic roles’, a subset is ‘organizational roles’.)  These roles involve a (2), in that the responsibility is usually taken with respect to some other entity, but they are usually considered entities in their own right – they often have titles and exist as systemic or organizational elements, even when they have no current participant.

5.  A ‘role’ is the ability to perform some such behaviors over some set of events, whether one has that current responsibility or not.  The examples are things like ‘auto mechanic’ or ‘teacher’.  This is actually a ‘type’/’class’, but it is accidental in some sense, rather than intrinsic in the nature of the thing.  Formally, it is the unary predicate created by an existential in the other argument slot(s) of an n-ary predicate that houses the role (1) for which it is named.  E.g., from repairs (auto-mechanic, automobile), we get
  forall (x) auto-mechanic(x) iff person(x) and exists (y) such that automobile(y) and repairs (x, y)
An auto-mechanic is a person who repairs some automobile(s).

6.  For all of these except the last, there can be a distinction between the role as a characterization of behavior or relationship (a ‘role type’) and an instance of that characterized behavior (a role being played, a ‘role instance’). 

You can also see the semantic drift here.  A (3) becomes a (2) when the (3) role (2) is repeated.  (2) and (3) also distinguish static roles from dynamic roles, which may not be easily distinguished in some cases.  ‘customer’, for example, could be either (2) or (3), depending on whether you are talking about a relationship to the vendor that persists over multiple interactions, or just the behaviors involved in a particular sale.  A (4) is an aggregation of (2)s or (3)s.  ‘Scoutmaster’ can be viewed as a (2) and a (4) – it has a static relationship to a ‘troop’ that entails certain responsibilities.  A (5) is created by training for, and experience in, performing (2)s and (3)s.  

(1) is a formal abstraction of (2), (3) and (4).  It distinguishes ‘roles’ from ‘relationships’ (the argument slot from the predicate), and it does not distinguish static roles from dynamic roles – they are both arguments to predicates.  It is the pure formality of this concept that makes it ‘un-intuitive’ to most modelers.

Experts consciously or unconsciously assign one or more of these definitions to ‘role’, and it easily produces ‘talking past one another’.  (In a recent exchange with Matthew West, I used ‘role’ in sense (1) to refer to a ‘role’ in a static relationship, but Matthew’s response showed that he thought ‘role’ meant (3).)

Of the above, as a type, only (5) is properly a subtype of whatever kind of thing plays the role. It is a common error to see type (2),(3),(4) roles modeled as subtypes of the class of individuals that can play the role.  Teacher, defined as in (5), is a subtype of person.   ‘teacher of (c)’ where c is a class, i.e., ‘teacher’ as a (2), is not a subtype of person; it is a role of person with respect to a ‘given’ class c.  (teacher(2) is not a unary predicate, it is a function.)  It “becomes” a (5) when you ‘give’ the class c, either as a constant or as an existential, i.e., when you fill the (c) argument slot.  ‘Principal’ is a (4).  It is not a subtype of ‘person’; it is a subtype of ‘organizational position’ and it is related to ‘person’ by something like ‘job of (person)’.  But there is also a role (5) ‘School Principal’, which is the class of persons who hold, or have held, those positions.

[Chapter X in the book I will never write...] 

I know William understands ‘role’.  (I think we have had this conversation before.)  But I wonder what part of his audience really does.  As I said, much of my experience is bitter.




Edward J. Barkmeyer                     Email: edbark@xxxxxxxx

National Institute of Standards & Technology

Systems Integration Division

100 Bureau Drive, Stop 8263             Work:   +1 301-975-3528

Gaithersburg, MD 20899-8263             Mobile: +1 240-672-5800





From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of William Frank
Sent: Tuesday, February 25, 2014 9:38 AM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] Defining everything in terms of relations (was Charles Fillmore...)



On Mon, Feb 24, 2014 at 11:10 PM, John F Sowa <sowa@xxxxxxxxxxx> wrote:

Ed, Pat C, William,



> Nothing wrong with the word 'attribute', or the way CHEN and now
> everyone uses it.
> EXCEPT FOR Tthe BIG MISTAKE of thinking that a certain kind of  thingie
> (say blue) IS an attribute, just because it **can play that role.**

I agree.  I would use a dyadic relation named HasAttr to relate
an entity to something called an attribute of that entity.

An attribute of something is only an attribute when it is viewed
in the role of the second argument of a relation named 'HasAttr'.


Right, I have been saying the following on this forum for almost two years: 

being an attribute is, in human language, not a fixed feature of a word or a concept, except for some of the words in some minority of languages.  In others, 'beauty' and 'beautiful' and 'is beautiful' are expressed with exactly the same word, and the role in the sentence is market either by word position (in a positional language) or a particle that shows this (in a tagged language).  

In a very mongrel language like English, things are very complex, because multiple patterns are in play at the same time, on a word-by-word basis. For example, some words, like 'German', and the same as nouns and adjectives.  He is German, He is A German, while others that occupy the same semantic space, like English and Scottish, are not the same, but have to turn into English Person and Scot. 

 psycholinquists are examining how various language-related disabilities are manifested by speakers of different languages, and thus finding more about what is the same and different about the fundamental samenesses and differences between thinking and speaking in different languages.    They don't use entities, attributes, and relationships as their foundation, nor parts of speech like nouns and verbs.  They tend to use theta roles.


Given this, why would one want to insist that the fundamental organization of thought or a universal simple way to express propositions is based on entities, their attributes, and their relationships?



> In another attibutive relation, the same thingie, blue, can play
> the role of attributed to, such as in 'blue is a color.'

This raises the question about instances of blueness.  We'd like to say
the blue of your coat is darker than the blue of the sky.  So we need
to include instances of blueness in the ontology:  the HasAttr relation
relates a coat x to an instance of blueness y, which we can relate to
another instance of blueness z of the sky.


Yes, this is yet another role that 'blue' can plan.  It can be the name for a particular repeatable experience of blueness.

The blue of my coat is, if I understand correctly, what some metaphysicians are calling 'tropes' these days.

According to trope theory, the world consists (wholly or partly) of ontologically unstructured (simple) abstract particulars or, as they are normally called, tropes.  " Stanford Encyclopedia of Philosophy

That is, it is a particular but repeatable experience of blue.   And, in fact, if I understand, in this thought, 'my coat' is there just to locate the blue experience using a shared identifier, becasue the experience of that blueness, along with many other cues, is in fact one of the things that underlies constructing the coat in question out of our fundamental experiences.   Personally, I like this direction for metaphysics, in that it brings it closer to psychophysics and social psychology.   


> Did you ever have clients who had trouble seeing that 'customer'
> was a role, and that so was 'vendor,' so that the vendor and customer
> might be the same company?

Good old Aristotle was quite clear about those issues.  He
distinguished the "substance" -- such as HumanBeing -- from the
"accidents" such as being blue or being a customer, vendor, etc.
For an Aristotelian description of George Washington, see slide 6
of http://www.jfsowa.com/talks/aristo.pdf


Yes, and this goes back to some previous discussions here about natural types, with which I also agree. 

But I have found it harder to sell that idea right off the bat than selling the understanding that some words used to describe things are actually describing roles of the things (customer, scoutmaster) , and others are not (person).

Thanks for this, 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    (01)

<Prev in Thread] Current Thread [Next in Thread>