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

RE: implementing named-argument uniterms (ISSUE-44)

From: Boley, Harold <Harold.Boley@nrc-cnrc.gc.ca>
Date: Thu, 10 Jan 2008 19:27:43 -0500
Message-ID: <E4D07AB09F5F044299333C8D0FEB45E904FFDC3B@nrccenexb1.nrc.ca>
To: "Michael Kifer" <kifer@cs.sunysb.edu>, "Sandro Hawke" <sandro@w3.org>
Cc: <public-rif-wg@w3.org>

We have slides on this from a breakout session:

[TED] Slides of F2F4 Breakout on Abstract Syntax and Semantics: Slots &

as well as a wiki entry:

[TED] CORE Pages Edited for Slot-to-Positional Transformation and
Multisorted Syntax

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:


However, following up on the discussion with Gary,
CLIPS' source-level Lisp-like named-argument uniterm

(car_problem (name headlights) (status work))

should be *interchanged* in RIF somehow like this

  <op><Const type="rif:local">car_problem</Const></op>
    <Const type="rif:local">name</Const>
    <Const type="rif:local">headlights</Const>
    <Const type="rif:local">status</Const>
    <Const type="rif:local">work</Const>

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
(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.


> How hard is it to translate from BLD with named-argument uniterms to
> 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 Friday, 11 January 2008 00:27:56 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:49 UTC