- From: Boley, Harold <Harold.Boley@nrc-cnrc.gc.ca>
- Date: Thu, 10 Jan 2008 19:27:43 -0500
- 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 UTC