- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 15 Jan 2008 02:05:40 -0500
- To: Gary Hallmark <gary.hallmark@oracle.com>
- Cc: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, Sandro Hawke <sandro@w3.org>, public-rif-wg@w3.org
Frames have a different semantics. > It seems simpler to just use frames for the interchange as well: > > <Exists> > <declare><Var>car_problem_oid</Var></declare> > <Frame> > <Member> > <lower><Var>car_problem_oid</Var></lower> > <upper><Const type="rif:local">car_problem</Const></upper> > </Member> > <slot> > <Const type="rif:local">name</Const> > <Const type="rif:local">headlights</Const> > </slot> > <slot> > <Const type="rif:local">status</Const> > <Const type="rif:local">work</Const> > </slot> > </Frame> > </Exists> > > Then we can remove slotted uniterms from the syntax and semantics. > > Boley, Harold wrote: > > We have slides on this from a breakout session: > > > > [TED] Slides of F2F4 Breakout on Abstract Syntax and Semantics: Slots & > > Constraints > > http://lists.w3.org/Archives/Public/public-rif-wg/2006Nov/0025.html > > > > as well as a wiki entry: > > > > [TED] CORE Pages Edited for Slot-to-Positional Transformation and > > Multisorted Syntax > > http://lists.w3.org/Archives/Public/public-rif-wg/2006Dec/0110.html > > http://www.w3.org/2005/rules/wg/wiki/CORE/Conditions/Positive?action=rec > > all&rev=10 > > (SYNTACTIC TRANSFORMATION) > > > > Another translation approach might be to regard > > named-argument uniterms as (named-argument) frames > > whose OIDs are [bNodes or are] generated as indicated > > in the 8 Jan 2008 telecon using the CLIPS example: > > > > http://lists.w3.org/Archives/Public/public-rif-wg/2008Jan/att-0028/rif-m > > inutes-jan8-2008.html > > > > However, following up on the discussion with Gary, > > CLIPS' source-level Lisp-like named-argument uniterm > > <http://en.wikipedia.org/wiki/CLIPS>: > > > > (car_problem (name headlights) (status work)) > > > > should be *interchanged* in RIF somehow like this > > <http://www.w3.org/2005/rules/wg/wiki/Core/Slotted_Conditions>: > > > > <Uniterm> > > <op><Const type="rif:local">car_problem</Const></op> > > <slot> > > <Const type="rif:local">name</Const> > > <Const type="rif:local">headlights</Const> > > </slot> > > <slot> > > <Const type="rif:local">status</Const> > > <Const type="rif:local">work</Const> > > </slot> > > </Uniterm> > > > > Only when being *stored* in an engine would an OID be > > generated, and the uniterm be transitioned into a frame. > > > > The generated OID (<Fact-0> or <Fact-1> or ...) may > > depend on the assertion/loading history of one session > > for a specific engine. But an interchange format > > should be (initially) concerned with exchanging entire > > KBs on the source-level as in the 'static' example of > > <http://en.wikipedia.org/wiki/CLIPS> rather than with > > exchanging stored KB parts as in the 'trace' example at > > http://www.ghg.net/clips/download/documentation/bpg.pdf > > (page 206). > > > > -- Harold > > > > > > -----Original Message----- > > From: public-rif-wg-request@w3.org [mailto:public-rif-wg-request@w3.org] > > On Behalf Of Michael Kifer > > Sent: Wednesday, January 09, 2008 1:10 PM > > To: Sandro Hawke > > Cc: public-rif-wg@w3.org > > Subject: Re: implementing named-argument uniterms (ISSUE-44) > > > > > > > > If the order of arguments is fixed, then it is easy. But the order of > > arguments is not fixed in BLD, and this is cumbersome. > > > > > > --michael > > > > > >> How hard is it to translate from BLD with named-argument uniterms to > >> > > BLD > > > >> without them, or to various rule languages without them? Is this > >> basically syntactic sugar, or is it pretty hard? > >> > >> If it's hard, I don't think it's appropriate to include named-argument > >> uniterms in BLD, as much as I happen to personally like them. > >> > >> Specifically, can someone provide a translation algorithm and example? > >> > >> -- Sandro > >> > >> > >> > > > > > > > > > > >
Received on Tuesday, 15 January 2008 07:06:03 UTC