Return-Path: <public-rif-wg-request@frink.w3.org>
Received: from rgmum105.us.oracle.com by rcsmt250.oracle.com
	with ESMTP id 2298930621166314856; Sat, 16 Dec 2006 17:20:56 -0700
Received: from rgmgw3.us.oracle.com by rgmum108.us.oracle.com
	with ESMTP id 5093158821166314847; Sat, 16 Dec 2006 17:20:47 -0700
Received: from agminet04.oracle.com (agminet04.oracle.com [141.146.126.231])
	by rgmgw3.us.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id kBH0KlwU015813
	for <gary.hallmark@oracle.com>; Sat, 16 Dec 2006 17:20:47 -0700
Received: from frink.w3.org (frink.w3.org [128.30.52.16])
	by agminet04.oracle.com (Switch-3.2.4/Switch-3.2.4) with ESMTP id kBH0KiAe018075
	(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO)
	for <gary.hallmark@oracle.com>; Sat, 16 Dec 2006 18:20:45 -0600
Received: from lists by frink.w3.org with local (Exim 4.50)
	id 1GvjlC-0000PO-QC
	for public-rif-wg-dist@listhub.w3.org; Sun, 17 Dec 2006 00:20:10 +0000
Received: from maggie.w3.org ([193.51.208.68])
	by frink.w3.org with esmtp (Exim 4.50)
	id 1Gvjl9-0000NW-Kk
	for public-rif-wg@listhub.w3.org; Sun, 17 Dec 2006 00:20:07 +0000
Received: from smtpout.mac.com ([17.250.248.171])
	by maggie.w3.org with esmtp (Exim 4.50)
	id 1Gvjks-0002pJ-02
	for public-rif-wg@w3.org; Sun, 17 Dec 2006 00:20:04 +0000
Received: from mac.com (smtpin02-en2 [10.13.10.147])
	by smtpout.mac.com (Xserve/8.12.11/smtpout01/MantshX 4.0) with ESMTP id kBH0JkSE010699
	for <public-rif-wg@w3.org>; Sat, 16 Dec 2006 16:19:46 -0800 (PST)
Received: from [10.0.1.3] (adsl-71-131-227-180.dsl.sntc01.pacbell.net [71.131.227.180])
	(authenticated bits=0)
	by mac.com (Xserve/smtpin02/MantshX 4.0) with ESMTP id kBH0JhZY000689
	for <public-rif-wg@w3.org>; Sat, 16 Dec 2006 16:19:44 -0800 (PST)
Mime-Version: 1.0 (Apple Message framework v752.3)
In-Reply-To: <45833AD4.5010609@oracle.com>
References: <23131.1166189119@cs.sunysb.edu> <45833AD4.5010609@oracle.com>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <68022FFD-D682-4EDA-8208-9132662EF2B7@mac.com>
Content-Transfer-Encoding: 7bit
From: Francis McCabe <frankmccabe@mac.com>
Date: Sat, 16 Dec 2006 16:19:43 -0800
To: W3C RIF WG <public-rif-wg@w3.org>
X-Mailer: Apple Mail (2.752.3)
X-Brightmail-Tracker: AAAAAQAAAAI=
X-Brightmail-Tracker: AAAAAA==
X-Brightmail-scanned: yes
X-Proofpoint-Virus-Version: vendor=fsecure engine=4.65.5446:2.3.11,1.2.37,4.0.164 definitions=2006-12-15_05:2006-12-15,2006-12-15,2006-12-15 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=3.1.0-0612050001 definitions=main-0612160046
Received-SPF: none (maggie.w3.org: domain of frankmccabe@mac.com does not designate permitted sender hosts)
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Scan-Sig: maggie.w3.org 1Gvjks-0002pJ-02 64e73f53fb3720c93a7894e280c2c2ef
X-Original-To: public-rif-wg@w3.org
Subject: Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core
X-Archived-At: http://www.w3.org/mid/68022FFD-D682-4EDA-8208-9132662EF2B7@mac.com
Resent-From: public-rif-wg@w3.org
X-Mailing-List: <public-rif-wg@w3.org> archive/latest/2012
X-Loop: public-rif-wg@w3.org
Sender: public-rif-wg-request@w3.org
Resent-Sender: public-rif-wg-request@w3.org
Precedence: list
List-Id: <public-rif-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Unsubscribe: <mailto:public-rif-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1GvjlC-0000PO-QC@frink.w3.org>
Resent-Date: Sun, 17 Dec 2006 00:20:10 +0000
X-Whitelist: TRUE


Perhaps this leads to one of the reasons that I have been  
uncomfortable about the lingua franca approach as a whole.
Because, I can use the same argument to eliminate what is interesting  
about production rule systems:

Logic does not have actions.
Therefore RIF core should not support actions.

Since, I assume, some flavor of logic will be in the RIF core.

The intersection of all rule based languages is almost certainly empty.

Frank


On Dec 15, 2006, at 4:16 PM, Gary Hallmark wrote:

>
> I don't understand your argument.  I may want to exchange a single  
> "hello world" fact, but it doesn't mean I want to restrict RIF Core  
> to doing just that.
>
> Here is my argument.  Can you point out the fallacy, or if not,  
> accept the conclusion?
>
> RIF Core is a common subset of all RIF Dialects.
>
> There will be a RIF dialect for production rules.
>
> A RIF dialect should capture common and useful language features of  
> important real world rule languages because those are the ones we  
> care about interchanging.
>
> Support for recursive rules is not common among real production  
> rule languages.
>
> Therefore, RIF Core should not include recursive rules.
>
> Michael Kifer wrote:
>
>>>> This would be a ridiculous and unjustified restriction.
>>>>
>>>> The core is for exchange. There is no requirement for any concrete
>>>> system to properly include the core. (Don't confuse concrete  
>>>> systems with
>>>> RIF dialects.)
>>>>
>>> I'm not sure where the disagreement or misunderstanding here is.
>>>
>>> My understanding fits with what Gary said, that RIF Core is a  
>>> dialect
>>> and it's a part of every RIF dialect, so every rule engine using RIF
>>> must implement RIF Core.
>>
>> I think that this requirement makes no sense and, furthermore, is  
>> meaningless.
>> Suppose people want to exchange aggregate-free subsets of SQL 1992  
>> through RIF.
>> Does it mean that RIF core should be limited to relational algebra?
>> Or does it mean that we will kick them out even though they can  
>> perfectly
>> use RIF core to exchange their stuff (preserving semantics etc.)  
>> we will
>> somehow stop them until they implement full RIF Core?
>>
>> (Note that different SQL vendors have various deviations from SQL  
>> 1992
>> (even though most of them claim to support it!), so such an  
>> exchange is not
>> completely out of question.)
>>
>> 	--michael
>>
>>> We'll need some normative Conformance text at some point,  
>>> something a
>>> bit like:
>>>   http://www.w3.org/TR/owl-test/#consistencyChecker
>>>
>>> We could say something like (as a rought first cut):
>>>
>>>     A "RIF Core Rule Engine" is a rule engine which can perform  
>>> sound
>>>     and complete reasoning on any rule set which can encoded in  
>>> one or
>>>     more RIF Core documents.  It must be able to answer all queries
>>>     against the deductive closure of the ruleset, where a query is
>>>     equivalent to a RIF Core anticedent, and to answer a query  
>>> means to
>>>     provide every matching set of bindings to the variables in the
>>>     anticedent.
>>> At the moment, unless some new information comes along, I'm  
>>> inclined to
>>> agree that we need to leave recursive Horn rules out of the core.
>>>
>>> My understanding is that recursive Horn rules are also a problem for
>>> prolog.  As with rete systems, there are lots of clever and  
>>> effective
>>> ways of dealing with this problem (I was once an enthusiastic XSB  
>>> user),
>>> but my sense is that they are still kind of cutting edge instead  
>>> of the
>>> kind of dirt simple we want in RIF Core.  With non-recursive  
>>> rules, one
>>> can do the trivial mapping to prolog or rete rules and any halfway
>>> decent engine will be a sound and complete reasoner for RIF Core  
>>> rules.
>>> I think that's what we want.
>>>
>>> We could go another step back for RIF Core, all the way to  
>>> datalog, but
>>> I think non-recursive terms are still quite useful (eg for defining
>>> uncle), so I'd rather not do that.
>>>
>>>   -- Sandro
>>>
>>>
>>
>>
>>
>



