W3C home > Mailing lists > Public > public-rif-wg@w3.org > January 2007

Re: slotted notation -summary

From: Chris Welty <cawelty@gmail.com>
Date: Thu, 04 Jan 2007 09:16:51 -0500
Message-ID: <459D0C53.7040900@gmail.com>
To: Dave Reynolds <der@hplb.hpl.hp.com>
CC: Michael Kifer <kifer@cs.sunysb.edu>, RIF <public-rif-wg@w3.org>



Dave Reynolds wrote:
> 
> Michael Kifer wrote:
> 
>> Object-oriented slot notation:
>>           This semantics is used in F-logic, RDF, etc., and can also be
>>           simulated by choosing the appropriate constraints for OSF.
>>           Again, there are two things that one might say about slots in
>>           F-logic (and RDFS):
>>
>>       p(slot1->val1,...,slotn->valn)
>>             Here p is an object (as opposed to relation) and
>>         slot1(p)=val1, ..., slotn(p)=valn.
>>
>>       p(slot1=>typ1,...,slotn=>typn)
>>             Again, p is an object and this says that
>>         typeOfSlot1(p)=typ1, ..., typeOfSlotn(p)=typn.

I would call this the signature (of p), and I want to be sure we mean 
the same thing by that.

>>         Similarly to the relational notation, it means that the
>>             values in p(slot1->val1,...,slotn->valn) must conform to
>>             the type spec in p(slot1=>typ1,...,slotn=>typn).
> 
> In RDFS/OWL that "must conform to" is not quite the same notion as in 
> many object oriented notations, in RDFS/OWL it effectively means "does 
> not contradict". The semantics license a deduction that vali is of type 
> typi and only if one of vali's types is disjoint from typi is there a 
> contradiction. Many object oriented systems have a stronger notion of 
> type conformance.

I wouldn't use the word "stronger" here, I've heard some argue that it 
is weaker, even though they are talking about the same thing.  What 
you are trying to get at is that the OO notion is syntactic, and the 
RDFS (indeed, the FOL) notion is semantic.  To have a value that is an 
instance of a type disjoint with the slot signature is a syntax error 
in OO and a contradiction in FOL.  In the latter, you can at least 
*say* it, even though it leads to contradiction, in the former you 
cannot say it in the language at all.

The closed world assumption comes into play here as well, as types in 
most OO systems (but not all!) are assumed disjoint unless there is a 
subclass relation between them.  FOL (and thus RDFS and OWL) semantics 
make no assumptions.

> Further in some object oriented notations the signature is regarded as 
> closed so that if you have:
>    p(slot1=>typ1, ... slotn=>typn)
> and then later see
>    p(slotz->valz)  (where z not in 1 .. n)
> that is an error unless you modify the signature to include slotz.
> In RDFS it is perfectly legal (and beneficial).
> 
> I don't know enough about F-logic to be sure whether it is identical to 
> RDFS in these regards but in any case it seems that even within the 
> object-oriented slot notion there is some variation of semantics possible.

This closed signature actually causes a genuine incompatibility 
between FOL and OO semantics, when (using Michael's syntax here) we 
allow the predicates to have a taxonomic structure, ie p:q means that 
p is a subclass of q and "inherits" its signature, then if you have:

q(slot1=>typ1, ... slotn=>typn)
p(slotz=>typz)

in both semantics, the signature of p becomes (by "inheritance") 
essentially:

p(slot1=>typ1, ... slotn=>typn, slotz=>typz)

BUT, in FOL semantics, since all p's are q's, it is perfectly 
reasonable to have some q with a slotz, in fact there are a bunch of 
them (all the instances of p), but in OO there would be no way to 
express the rule that any q with a slotz of typz is a p.  Since the 
signature of q is closed, you cannot have an instance of q that has a 
slotz, unless it is *already* a p.  I thought this is what psi-terms 
were for, but I'm currently confused about that.

Another peculiarity here, that I'm not sure what to make of yet, is 
that in what Michael is calling the OO slot notation, all the types 
are themselves relations.  This is normal in FOL style semantics, but 
NOT normal in OO style semantics, where classes have a special status.

Again, I think it's useful to point out these differences, but I'm not 
sure how important they are.

-Chris

-- 
Dr. Christopher A. Welty                    IBM Watson Research Center
+1.914.784.7055                             19 Skyline Dr.
cawelty@gmail.com                           Hawthorne, NY 10532
http://www.research.ibm.com/people/w/welty
Received on Thursday, 4 January 2007 14:16:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:35 GMT