- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Tue, 09 Jan 2007 15:16:00 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
Michael Kifer wrote:
>
> [...]
>
> Different slotted styles
> ------------------------
> We can distinguish at least 2 styles of slotted notation: relational and
> object-oriented.
At least for those two ones, isn't it the case that a slotted predicate
of the OO kind can always be represented as a conjunction of binary
slotted predicates of the relational variety, where the predicate
represents the slot/property/attribute, one of the roles is the object
(e.g., the first, by convention), and the other one is the value?
> 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.
That is, couldn't that be, by convention (in RIF):
slot1(p, val1) and ... and slotn(p, valn)?
I may be naive, but I did not see in the discussion anything that could
not be handled that way (except maybe for RDF bNodes).
So, why not have the closed relational slotted notation in RIF Core, and
some convention for transforming OO slotted predicated into that
notation (same kind of process as the one to bring an OSF term into its
solved form)? (*)
I am aware that that solution might have an impact on roundtrips (and,
thus, on efficiency in specific rule engines; readibility in specific
target rule languages etc), but that would be an argument in favor of
having data-model specific dialects, rather than having two different
notations (**) for the same thing in RIF Core.
On the other hand, if the two notations (**) are not equivalent, and if
there is no single notation (with a single semantics) that can account
for both kind of slotted syntaxes (***), we should probably not have
slots in RIF Core (that is, Michael's option 4).
(*) that would not imply a closed-world assumption, if I am correct.
(**) 1) n-ary slotted predicate where the predicate is actually the
object; 2) binary slotted predicates where the predicate is the
attribute, and the arguments the object and the value.
(***) what other semantics are there for slotted syntaxes? How do they
relate to the relational and OO ones?
Christian
Received on Tuesday, 9 January 2007 14:15:21 UTC