W3C home > Mailing lists > Public > public-rif-wg@w3.org > November 2008

Re: RIF Core shortened

From: Christian de Sainte Marie <csma@ilog.fr>
Date: Tue, 18 Nov 2008 16:00:37 +0100
Message-ID: <4922D895.800@ilog.fr>
To: Gary Hallmark <gary.hallmark@oracle.com>
CC: kifer@cs.sunysb.edu, Patrick Albert <palbert@ilog.fr>, Dave Reynolds <der@hplb.hpl.hp.com>, "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, Adrian Paschke <Adrian.Paschke@gmx.de>, Axel Polleres <axel.polleres@deri.org>, RIF WG <public-rif-wg@w3.org>

(Executive summary for those who do not read long emails:

<<[...] my analysis (at this point) is that we may allow the assertion of:
- facts of the form o#C if and only C is not part of an externally defined data model, except in the only case of object creation;
- facts of the form sub##SUP if and only if sub and SUP are not both part of the same externally defined data model, with no exception.>>

See explanations and details below.)

Gary Hallmark wrote:

> Core (and thus BLD and PRD) needs to be able to represent facts and 
> rules.  Here are some examples of facts:

No contest about that: the Assert action in PRD really only asserts facts (ground atomics). Even membership and subclass facts, why not: if Core and BLD need it, in the case where the data model is not externally defined (that would not be the most prominent use case for PRD, and thus maybe a bit more difficult to implement; but not infeasible; at least, worth considering).

So, as I understand it, the question is, really, whether we want to allow the assertion of membership facts when the class belongs to an externally defined data model, and why; and, even more, whether we want to allow the assertion of subclass facts when one or both classes belong to an externally defined data model, and why.

As far as I can see, the only use case for asserting a membership fact when the class is part of an externally defined data model is object creation (where the fact that the new object is a member of its class must be asserted). Are there other use cases?

If not, first, Core and BLD do not need it; and, second, wouldn't embedding that specific assertion in the "New" action do the trick without requiring that the assertion of membership be allow in general (as proposed in [2])?

Regarding the assertion of subclass facts, I can see no case where it makes sense if both classes (the subclass and the superclass) are defined as part of the same externally defined data model (since, indeed, that fact is externally defined).

If one of the classes involved in the subclass fact is not part of an externally defined, then no problem: asserting such subclass facts amount to link an internally defined data model (that is, a data model defined by the rule set itslef) to an externally defined one.

And if both classes are part of different externally defined data models, then, why not: that would amount to define internally a new data model that links the externally defined ones. I do not know whether there are use cases, but I do not see an issue in principle.

So, my analysis (at this point) is that we may allow the assertion of:
- facts of the form o#C if and only C is not part of an externally defined data model, except in the only case of object creation;
- facts of the form sub##SUP if and only if sub and SUP are not both part of the same externally defined data model, with no exception.

We "may", but we do not necessarily "want" or "need" to: the question, here, is whether or not we want or need to make RIF a format for interchanging data models as well as rules. But that is a different question (issue-48 [1])

[1] http://www.w3.org/2005/rules/wg/track/issues/48
[2] http://www.w3.org/2005/rules/wiki/Alt_AbstrAction

Cheers,

Christian
Received on Tuesday, 18 November 2008 15:02:08 GMT

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