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 &
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 Friday, 11 January 2008 00:27:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:44 GMT