- From: Igor Mozetic <igor.mozetic@ijs.si>
- Date: Tue, 11 Dec 2007 15:11:48 +0100
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
I agree with Michael and Dave that frames and #/## go hand in hand.
However, instead of Dave's suggestion:
> Core --> BLD --> BLD + OO
> |
> `----> PRD
I would suggest defining a BLD profile, BLD-OO:
Core --> BLD-OO --> BLD
|
`----> PRD
> Presumably BLD + OO is pretty much an F-Logic dialect. I suggest that
> this is a phase 2 dialect.
Also, since BLD (with OO) is mostly specified, I would rather keep it in
phase 1. Defining BLD-OO is then much simpler (as turned out to be with Core).
Regards,
Igor
Dave Reynolds wrote:
>
> Michael Kifer wrote:
>
>> The reason for having # and ## is that if we introduced frames then we
>> should complete the cycle and define the most basic object-oriented
>> concepts as first class citizens (at the cost of only a few lines in the
>> document). Namely, class membership and hierarchies. This will allow to
>> round-trip important classes of object-oriented rule-sets.
>>
>> What was the reason to include frames if not to allow object-oriented
>> round-tripping? After all, all these things are syntactic sugars. An
>> alternative would be to define a bare-bones Datalog and let other people
>> worry about embedding their languages into Datalog.
>
> I think that is a good basis for reframing the discussion.
>
> Apart from F-logic are there other object-oriented logic rule languages,
> and thus a case for RIF supporting inter-operation between them? If the
> answer is yes then I suggest that should be a separate dialect which
> would include frames, #/## and presumably the domain/range declarations
> that Michael previously proposed. We would then have:
>
> Core --> BLD --> BLD + OO
> |
> `----> PRD
>
> Presumably BLD + OO is pretty much an F-Logic dialect. I suggest that
> this is a phase 2 dialect.
>
> The question then is whether frames are needed in Core or in BLD or
> whether, given Michael's argument that it makes little sense to have
> them on their own, it would be better to remove them.
>
> Currently frames are used as the basis of the RDF embedding. This is
> simply syntactic sugar and we could drop frames and introduce a three
> place predicate rif:frame(s, p, o) for the RDF embedding to use instead.
>
> One question would then be what parts of the OO extension are needed in
> PRD. Does PRD need frames or would a simple predicate suffice?
>
>
> As an aside I think this example highlights a problem we have with our
> linear notion of extension. The OO extension is just one example of a
> component which might be wanted in multiple dialects. An extensibility
> notion that is more like "mixins" than "extensions" might be better -
> but not in the remaining time!
>
> Dave
Received on Tuesday, 11 December 2007 14:12:04 UTC