- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Thu, 04 Jan 2007 09:20:32 +0000
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: RIF <public-rif-wg@w3.org>
Michael Kifer wrote:
> Possible approaches
> -------------------
> 1. At some point, Hassan proposed to use one syntax and give it different
> semantics in different dialects. This has a problem that it might create
> confusion and has a big drawback in that it becomes awkward to have > 1
> kind of slots in the same dialect.
>
> 2. Harold is trying to unify Psi-terms and relational slots (see below) by
> adding special syntax (of rest-variables), but this has no good model
> theoretic underpinning and (as far as I can see) so far his proposals
> failed to capture both semantics correctly.
>
> 3. Gerd proposes to have one slotted syntax in the core and give it one of the
> known semantics, which we as a group will identify as the most important one.
>
> 4. This approach is not to have slots in the core and let dialects add
> their own slotted syntax. This way > 1 slotted syntax (with different
> semantics) is possible within the same dialect.
>
> 5. This approach is two have several different syntaxes and several different
> semantics.
>
> Personal opinion (sorry for taking the liberty of injecting it here)
> ----------------
> I favor the 4th approach.
+1
> 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.
> 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.
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.
Dave
Received on Thursday, 4 January 2007 09:21:01 UTC