- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 11 Dec 2007 11:19:37 -0500
- To: Igor Mozetic <igor.mozetic@ijs.si>
- Cc: Dave Reynolds <der@hplb.hpl.hp.com>, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
I agree. I cannot understand why would David want to push an already completely specified feature to Phase 2. I cannot convince myself that the reason is technical. I would continue to call what we have now a BLD (because it really is basic) and define a datalog profile (BLD-OO) as well as the Core profile. --michael > 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 16:20:01 UTC