On Mon, May 20, 2013 at 7:58 PM, David C. Hay <dch@xxxxxxxxxxxxxxxxxxxxxxx>
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 - to be used by normal
friendly people. I do care about the quality of the ontology
mathematically, which is exactly why I initiated this
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*
[JMc] I agree that that time/deontics form an
assertion about the existence/state of the asserted
For example MUST (Alcohol an organic compound)
MAY (Alcohol is poisonous).
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.
whom are you wishing to express your entities & relations? It's nice
to hear you're not dismissive of using prepositional
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!
makes no sense that a triple is composed of three nouns. The predicate is
the arc's label, it is NOT a concept which, to me, is the root of
the problem here. In practice I see here on Ontolog, the predicate is
constantly spoken of as a "concept" itself. Predicates cannot be
conceptual in nature. 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
John Fatherhood Sally.
I bet you can
understand this. But, it is directional, not fully analytic.
Exists Fatherhood where John Father, Sally Child in
[JMc] The Fatherhood instance relates only to
John's relationship to Sally. Sally has a
separate Daughterhood instance. None of these instances are
'shared' among the parties to the relationship -- each participant has
its own relationship instance(s).
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
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
[JMc] thank you Dave - this is where the name "Grover Model"
In Harry's and Richard's world,
relationships can be expressed in strong assertions, in the
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.
role is played by an animal that gave birth to the child.
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
[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>? Your narrative is only the first
step; the next is to model the stated facts in
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
I agree that what you
have been doing is the very best way to do this.
for me to evaluate yourpractices since I'm talking triples (where the
rubber hits the RDF road) and you're (both) talking somehwat
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
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.
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. 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. 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.
it that "ontology" has become a 2500-year old hot new buzzword . .