[Top] [All Lists]

Re: [ontolog-forum] is-part-of: a really, really, bad practice?

To: jmcclure@xxxxxxxxxxxxxx, "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: William Frank <williamf.frank@xxxxxxxxx>
Date: Tue, 28 May 2013 20:10:10 -0400
Message-id: <CALuUwtDRgie1+ajSq=3xffmf=87MJ3Lj7OrFs1+vF41fVHi8zw@xxxxxxxxxxxxxx>

On Tue, May 28, 2013 at 7:06 PM, John McClure <jmcclure@xxxxxxxxxxxxxx> wrote:
comments below

more comments below

-----Original Message-----
From: William Frank
Sent: Monday, May 27, 2013 7:33 PM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] is-part-of: a really, really, bad practice?

On Mon, May 20, 2013 at 7:58 PM, David C. Hay <dch@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

This is one of my major beefs with both the data modeling and the ontology worlds.  Harry Ellis and Richard Barker, back in the 1980s, have come up with the perfect way to name relationships.

For specifying information models in a normal person friendly way, I agree completely.  But not mathematically.
[JMc] I am building an ontology for semantic wikis
very cool
- to be used by normal friendly people.
 I do care about the quality of the ontology mathematically, which is exactly why I initiated this discussion.

Sure, but mathematical simplicity is not the **goal** if the ontology is to be used by normal freindly people. It has to be closer to the way they think, even if you want to be mathematically grounded and of course consistent.  
Since the point of an ontology is to describe what is, "is" is the only verb that should be the basis for a relationship.  Indeed, in the data modeling world, optionality is important, so the verb actually turns out to be "must be" or "may be". 

This is a facile argument.  I and most other who have learned  logic, would make the 'must' or the 'may'  *not" part of the sentence, but an assertion *about* the sentence. 
[JMc] I agree that that time/deontics form an assertion about the existence/state of the asserted concept.

For example MUST (Alcohol is a kind of organic compound) MAY (Alcohol has the property of being poisonous).
[JMc] yes 

You are searching for the part of speech to use. 

Not me. I am not looking for ways to express entities and relationships to subject matter experts. If I were doing this job, I would be doing it the way you say.
[JMc] For whom are you wishing to express your entities & relations? 

For those who will use the ontology to enable them to precisely, concisely, universally, implementation and solution architecture indenpendently (so that they could be built in Lisp, Cassandra, Prolog, my SQL, ....), specify the behaviors of software, and then to build the most elegant, simple, concise, reusable, and interoperable software, that exhibits those behaviors.  
It's nice to hear you're not dismissive of using prepositional predicates. 

Not a bit.  In fact, I have a colleague who is using a very simple tool to collect and verify and organize business assertions in exactly the form David Hay advocates, and then translates them with automated assistence into a single thingie model, with the glue provided by pre-defined, non-business domain specific logical relations.  This is not some weird thing I am advocating, but rather, an application of common logic. (in my case, a very sloppy one, that suits my needs so far. )
  How could anybody in the business not know about Peter Chen?  Me, my favorite is David Hay.

No, nouns don't work, since nouns are already the subject and object of the sentence. 

Again, facile, who can' nouns be all three parts.  An equivelent argument,  How should subjects be represented?  Not by nouns, because nouns are already the object of the sentence!
[JMc] It makes no sense that a triple is composed of three nouns.
You are right, a subject, predicate, object triple construct requires 5 business domain-specific nouns, a noun that names a binary relation, two nouns that name the roles that the relation PLUS the logical glue that would tie them together.  You may think this sounds less concise, but it imposes so much more structure on the model that it becomes more concise and clear.   You eliminate so much redundancy.  No more mothers and fathers, sisters and brothers. They are all introduced by definition of more primitive concepts.
The predicate is the arc's label,
That is in **your** analysis model, it is.  (That is, in traditional E/R modelling, and in traditional UML class modelling, it is.)  This is the essence of what I am showing. It does not NEED to be. You do not NEED any business domain specific predicates.    This puzzles me, that you would say this as if it might be news to me, and I needed the most basic lesson. This would not be news to anyone who has been doing this for more than a few months, let alone more than a few decades. 
it is NOT a concept which, to me, is the root of the problem here.

This puzzles me more.  Is not love a concept?  Exactly as much as mother is?   Do you believe that because English and other indo eurpean languages use predicates, or verbs, or action words, separately from thing words, this is somehow essential to human thought?    It is not.  Actions and people both have temporal durations. Some actions take longer to happen than people take to happen.  The both satisfy the temporal-spacial criteria many have been talking about later.  Indeed, there are languages where one would say something like: being john there is being tall.  Only actions in places.
In practice I see here on Ontolog, the predicate is constantly spoken of as a "concept" itself. Predicates cannot be conceptual in nature.
So, consider the way a child learns about dogs, toungues, and licking.  Are the very same kinds of experiences required to experience a phemominon, and attach the label 'dog' to it, as ar required to see some licking, and call it such? 
But by associating "formalisms" with a predicate then you are treating a predicate as a concept that has attributes, namely, those darn formalisms are attributes of predicates like "isPartOf". At the same time I am NOT saying that formalisms are bad, I am saying that formalisms exist apart, indexed by predicate/subject type/object type, to be looked-up.

John Fatherhood Sally.

I bet you can understand this.   But, it is directional, not fully analytic.

Exists Fatherhood where John Father, Sally Child in Fatherhood

[JMc] The Fatherhood instance relates only to John's relationship to Sally. S
Absolutely, and exactly as much Sally's relationship to John, in the same instance.  Sally plays one named role, john the other.  The need for two SEPARATE 'predicatres' is an artifact of the inefficiency of using position placement to implicitly indicate roles. When you state the roles explicity, position is irrelevant, becuase made explicit. 
ally has a separate Daughterhood instance. 

It has a separate english sentence, but not a separate real relationship.  There is only one actual fact here, not two.  

None of these instances are 'shared' among the parties to the relationship -- each participant has its own relationship instance(s).

Yes the are, and MUST be.  

We are trying to see how the nouns are related to each other. Verbs don't work, since we are not trying to model processes, here.  Just existence.  Let's see, what part of speech can we use for relationships?

Grover in Sesame Street actually has it right.  Prepositions!  This is the part of speech that is about relationships: over, under, around, and so forth.  Think "Grover words".
[JMc] thank you Dave - this is where the name "Grover Model" comes from 

In Harry's and Richard's world, relationships can be expressed in strong assertions, in the form:

Each [subject] must be|may be [predicate] one and only one|one or more [object]. 

For example, each PERSON must be son of one and only one MALE PERSON, and each MALE PERSON may be the father of one or more PERSONS.

This is great for expressing this in a clear way with clients, but it is not as deeply simple as

the motherhood  relation has two role, the child role and the mother role. 

the child role is played by an animal that the mother in the relation gave birth to.

the mother role is played by an animal that gave birth to the child.

As someone else said recently, events usually determine relationships.

the fact that mother role in the motherhood relation is constrained to female animals is a logical consequence of the above and other assertions, better than stating that derived constraint in the relation definition.
The Romans were the destroyers of Carthage;  Carthage was destroyed by the Romans. (Since this describes the past, we can dispense with "must be" and "may be".  "Was/were" works just fine.)
[JMc] then so you have a triple something like <Army:Roman Army> is-a <Type:Destroyer> ?


Where's the role stated, in triples? maybe <City:Carthage> has <Destroyer:Army:Roman Army>? 
I am sorry, but is almost impossible to use typing and subtyping thisthis way effectively.   I know the tutorials on OWL do this.  Set modelling back before Chen.   Type hierarchies should be trees. 

For example, chardonnay is NOT a type of wine, contrary to the OWL tutorial. Chardonnay is a type of grape, and a wine may be classified according the grapes used to make it, as well as in myrid other ways.   These are not different 'types" of wine, using the bilogical analogy for taxonomies.  Wine would have only ONE subtype hierachy, based on what is essential about wine being wine.  (How it is made).
Your narrative is only the first step; the next is to model the stated facts in triples.

And so forth. 

I've been using this structure for some 25 years, now, with remarkable success in carrying out meaningful conversations with subject matter experts in many fields. 

I agree that what you have been doing is the very best way to do this. 
[JMc] hard for me to evaluate yourpractices since I'm talking triples (where the rubber hits the RDF road) and you're (both) talking somehwat narratively. 
I was amused to see the Semantic Web pick up the idea with RDF a few years ago, although none of that group figured out that adding discipline to the way predicates were formed could add incredibly to the power of the ontologies created.
[JMc] what discipline(s), are you saying? 

Remember, these are ontologies being created.  They are supposed to describe what exists, not how it came about.
[JMc] I was planning on a Timeline for each resource, along which are plotted events.
Well, there is a problem with this.  Most things that happen involve multple things.   Like Catalyis.   Which 'resource' are you going to attach that chemical reaction to?  Like a boxing match.  And, while we are at it, if it so unatural to talk about roles and gerunds and not use domain specific verbs, why is it ok to subject the freindly world to 'resources'.
Now that you said it, I wonder if separating action and fact misses an opportunity.  There is a duality  between the two.  You ARE married because you GOT married, and nothing making that false happened in between.   you cannot get divorced unless you ARE married[JMc]  or, unless
you HAVE a Spouse or you ARE a Spouse

These are not two different facts, even though they are two different english sentences, required becuse of positionality.  One reason S.W.I.F.T. won, and bankwire lost, is because SWIFT is not positional ,every role is a tag on the noun.   So, order is unimportant. another example, with a predicate  gaul object conquer ceasar subject means you don't have to have a separate work for conquered by. 
See, you are using mutliple words because they exist in English.  Why  human female young instead are primitives, and girl is only a defined term. 
Why in the world is it good to create a set of rules about static relationships *separately* from their duals in the world of action?   Why not do both together? [JMc] Substantially they are done together, because the fact of a particular role (its provenance if you will) should reflect the marital event and or a certificate about the event. 

I agree.   I like provenance here.

   To me, this might be the most lasting lesson of object-orientation.  OTOH, most behavioral rules, and even the set of states a thing can have, change more rapidly.   For instace, I use UML mostly because I want to create state transition models, and these have to be unifies  with the classes.   But, I do the static e/r type models first. 


Dave Hay
Houston, Texas

(I love it that "ontology" has become a 2500-year old hot new buzzword . . .)

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

William Frank


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>