- From: Chris Welty <cawelty@gmail.com>
- Date: Thu, 04 Jan 2007 09:16:51 -0500
- 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 UTC