ontolog-forum
[Top] [All Lists]

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

To: doug@xxxxxxxxxx, "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: William Frank <williamf.frank@xxxxxxxxx>
Date: Thu, 30 May 2013 21:55:30 -0400
Message-id: <CALuUwtA2aLdmrO5dpo9_FqNtQOumvLhgNWRUDGoD6jbM52xo8g@xxxxxxxxxxxxxx>
doug, we agree on this completely.

I would like to add, though



>>
>> Person:Harry had [[Belief:That JohnKnowsBill]]


> For me, this would be more like
>
> Past (exists B of type Belief, (Harry of type Person, and Harry plays the
> role of believer in B, and Proposition:P plays the role of believed in B,
> and P = (Exists A of type Acquaintanceship such that Person:John plays the
> role of aquainted in A and Person Bill Plays the role of aquainted with in
> A).

I like this.  I note that in:
>    Harry plays the role of believer in B
"plays the role of ... in" is a ternary predicate with arguments
"Harry", "believer", and "B".

This technique allows one to replace any domain-specific binary
predicate with a domain independent ternary predicate with
one of the arguments basically specifying what the binary predicate
is.

exactly. 

 
If you are morally opposed to domain-specific predicates, that's
fine.  

But as you say below, neither of us are so morally opposed, in their proper place.  For me, this proper place is any design that uses a language that expects these kinds of binary predicates, and would not know what in the world to do with the logical connectors (this includes E/R models, UML with its official semantics, relational databases, traditional O-O programming languages, ...
 
However, starting with a more abstract, universally applicable model with only one kind of domain thingie, that you can then cast as you find most effective for your needs and the language of your choice, to a class, a relation, a set, a function, an individual, ....

If you are morally opposed to ternary predicates, then its
not fine.

Well, I know many are, in the belief we have discussed here often, that ternary predicates can be rexpressed as binaries.   I think bad math professors must teach their students than some particular reduction (for example, iff is 'really' two if thens and an and)  is what is 'real', even though many reductions are possible, and none are more real than any other, or where we started.   If I recall correctly,  we can say anything that can be said with a Turing string.  But, it might take a mighty long time, unless you can zip out those '1's licketly split.   I am all for n-ary predicates of every n.  This has proven an elegant and simple way to express things.   OTOH, for some computational purposes, one might impose all kinds of restrictions on how we say things.  Making that into a universal, though, is pernicious, in my opinion.


I suggest that the domain specific predicates are fine within their
domains.  But also, that this technique can be used to translate
such predicates to a different form outside of the domain.

Yes, and equally importantly to me, not only across domains but across syntactic and corresponding semantic paradigms.

-- wm frank
 

-- doug foxvog



_________________________________________________________________
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

413/376-8167


_________________________________________________________________
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>