uom-ontology-std
[Top] [All Lists]

Re: [uom-ontology-std] UoM ontology standard - a proposed program of wor

To: Matthew West <dr.matthew.west@xxxxxxxxx>
Cc: 'uom-ontology-std' <uom-ontology-std@xxxxxxxxxxxxxxxx>
From: Ed Barkmeyer <edbark@xxxxxxxx>
Date: Mon, 13 Jul 2009 13:15:24 -0400
Message-id: <4A5B6BAC.4060706@xxxxxxxx>
I wrote:    (01)

>> (3) Matt doesn't mention the CDIF notation for "subtype"/subsumption.
>> This is a foundational concept in OWL, and it is very important to
>> modeling measurement concepts.  In particular, every 'measurement unit'
>> is_a 'quantity'.  I would be wary of a notation like:
>>    measurement-unit -- is a --> quantity    (02)

Matthew West wrote:
> [MW] I do not recall that CDIF has a specific notation, so you can either do
> what you have done here, or quite often I use the EXPRESS notation as an
> extension.    (03)

My point is that we need notation for subsumption, at least, and I think 
it useful to have a notation for unions and intersections and exclusions 
(all of which the ODM added to UML, for OWL).  I also believe in ternary 
and occasionally quaternary relations, and I prefer to see some 
distinguishing notation for them.  (The VIM has at least one ternary 
relationship in it: system-of-units appoints base-measurement-unit for 
quantity-kind.)    (04)

>> because it makes the notation ambiguous.  'is_a' is a class-to-class
>> relationship, rather than an instance-to-instance relationship (like
>> 'part of').  It models an axiom, not just a relation.  That is:
>>    A -- is part of --> B
>> models a relation "is part of" whose domain is things that satisfy
>> relation (class) A, and whose range is things that satisfy relation B -
>> -
>> a vocabulary item.  It has two free variables.  Whereas,
>>    A -- is a --> B
>> models a proposition, a statement: Every A is a B.  Formally,
>>    (forall x) (if (A x) (B x))
>> It has no free variables.  And the model asserts that proposition,
>> making it an axiom.
>> So I would object to overuse of the arrow notation, if it leads to such
>> an ambiguity.
> 
> [MW] I'd just like to push back on this a bit. I agree that you need to be
> careful to distinguish between relationships between classes and
> relationships that hold between members of classes. However, I had
> understood subtype/supertype as being able to be seen in either way. So that
> one way of seeing subtype/supertype is as an identity relationship between
> members of the subtype and members of the supertype.
> 
> Comments?    (05)

This might be better discussed on the Forum exploder.    (06)

In languages like CDIF and UML, specifying A and B to be "classes" or 
"entities", defines a relation with one free variable (A x) or (B x), 
where x is an arbitrary thing from the universe of discourse -- a 
discovered entity instance or object -- and the "result" of (A x) is 
either true or false -- the new x either is an A or it isn't.  (It is 
possible that we don't know which, but there is an underlying 
epistemological assumption that exactly one of those statements is true, 
axiomatized as the "law of the excluded middle":  (forall x)(OR (A x) 
(NOT (A x)).)    (07)

And in those same languages: "A is-part-of B" introduces a relation
  (is-part-of a b)
which maps an ordered pair of arbitrary things (a, b) to either true or 
false.  There are some semantic scoping rules that have various 
interpretations, but let us assume that "is-part-of" is a unique 
relation that is specified to be meaningful only for class A.  (The 
alternative is that it specifies a relationship "A:is-part-of", which is 
different from an "X:is-part-of" relationship for any other domain X.) 
That means that the specification implies an axiom:
  (forall a b)(if (is-part-of a b) (A a))
in any such actual relationship, the first thing must be an A.
And similarly, the second thing must be a B.    (08)

Notably, this specification, of itself, does NOT say that every A is 
part of some B.  In UML, I can add a notation, which we could represent as:
   A -- is part of --> 1..1 B
and that adds two more axioms:
   (forall a)(if (A a) (exists b)(is-part-of a b))
If a thing is an A then there is a b that it is part of.  Each A 
is-part-of at least 1 B.  And:
   (forall x b c)(if (and (is-part-of x b) (is-part-of x c))
                     (= b c))
If a thing x is a part of two things b and c, b and c must be the same 
thing.  Each A is part of at most one B.    (09)

So, following the above semantic interpretation patterns:
   A -- is-a --> B
means (forall x y)(if (is-a x y) (A x))
If for any two things x and y "x is-a y" is true, then x must be an A.
The alternative interpretation, noted above, is that:
   A -->is-a --> B
specifies a relationship "A:is-a", which is different from any other 
"is-a" relationship.  I doubt that either of these is the interpretation 
we want for "is-a", which means that the notation doesn't have 
consistent semantics.    (010)

And this goes further.  If one chooses Matthew's SQL-like 
instance-to-instance identity relationship as the meaning, we have the 
further problem that
   A -- is-a --> B
does not by itself say that every A is-a some B.  We would need 
something like:
   A -- is-a --> 1..1 B.
That is, we want to assert that the instance-to-instance relationship 
must exist.  "pediatrician is-a doctor" is different from
  "pediatrician is-a-member-of preferred-provider-organization".    (011)

This is why I am uncomfortable with such ad hoc conventions.  It's not 
that one cannot agree to use:  A -- is-a --> B to represent subsumption; 
it is that one must be clear that:
    -- is-a -->
has importantly different semantics from
    -- <term> -->
where the <term> is anything other than "is-a".  And this violates what 
Bernd Wenzel calls the Law of Least Astonishment:  it encourages false 
analogies and erroneous interpretations.    (012)

-Ed    (013)

-- 
Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                FAX: +1 301-975-4694    (014)

"The opinions expressed above do not reflect consensus of NIST,
  and have not been reviewed by any Government authority."    (015)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/uom-ontology-std/  
Subscribe: mailto:uom-ontology-std-join@xxxxxxxxxxxxxxxx 
Config/Unsubscribe: http://ontolog.cim3.net/mailman/listinfo/uom-ontology-std/  
Shared Files: http://ontolog.cim3.net/file/work/UoM/  
Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?UoM_Ontology_Standard    (016)

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