Pat Hayes wrote:
>
> On Jul 13, 2009, at 12:15 PM, Ed Barkmeyer wrote:
>
>> I wrote:
>>
>>>> (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
>>
>> 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.
>>
>> 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.)
>>
>>>> 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?
>>
>> This might be better discussed on the Forum exploder.
>>
>> 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)).)
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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".
>>
>> 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".
>
> While I agree with most of what you say above, I don't accept this
> strong a statement. A --is-a--> B asserts a relationship between
> classes, is the point, not between members of the classes. (01)
Exactly. My point is that class-to-class relationships should be
visually distinguished from instance-to-instance relationships whose
roles (domain, range) are constrained to specific classes. (02)
> But there
> isn't anything particularly unique about is-a in this regard: there are
> other useful relationships between classes, such as isDisjointFrom, and
> relationships between classes and properties, such as Domain and Range
> (in the OWL sense). (03)
Yes! is-a is just the obvious one. I agree with the others above, and
I would add that "refines" -- the is-a relationship between properties
(in the OWL sense) -- is also important. (04)
> All of this is very transparently stated in CLIF
> logic, by the way, for example
>
> (forall (A B)(iff
> (is-a A B)
> (forall (x)(if (A x)(B x)))
> )) (05)
Ah yes. (demonstrating, by the way, that my would-be CLIF sentences
above are grammatically incorrect. ;-)) (06)
>> And this violates what
>> Bernd Wenzel calls the Law of Least Astonishment: it encourages false
>> analogies and erroneous interpretations.
>
> Only if there is a presumption that we are speaking only of individuals,
> not classes, at the nodes. That is the error of interpretation that we
> should guard against. (07)
My point was that, if we use the same graphical notation to speak of
individuals and to speak of classes, it confuses the reader. (This is
not a problem in CLIF, in the example above, because the full sentence
is presented. The problem with the graphical rendition is that one
doesn't actually see the x's.) (08)
Thanks,
-Ed (09)
--
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 (010)
"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority." (011)
_________________________________________________________________
Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-summit/
Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
Community Files: http://ontolog.cim3.net/file/work/OntologySummit2009/
Community Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2009
Community Portal: http://ontolog.cim3.net/ (012)
|