- 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