RE: [Core] PROPOSED Core resolutions from telecon Monday, September 22

Agree with Paul, in PR languages that support objects, the variables are
typed. All the variables declaration come with a type - a class or
primitive type -- meaning that the variable might be substituted by any
instance of the class. 

Knowing that one can use abstract and concrete class names as types, it
is thus quite unusual to test the class of a variable, except for
systems that embed some form of classification engine. BTW we had a
beautiful one (named Classic) in the early days of ILOG.


 Patrick. 


-----Original Message-----
From: public-rif-wg-request@w3.org [mailto:public-rif-wg-request@w3.org]
On Behalf Of Paul Vincent
Sent: mardi 23 septembre 2008 23:20
To: Boley, Harold; RIF WG
Subject: RE: [Core] PROPOSED Core resolutions from telecon Monday,
September 22
Importance: Low


Just a minor "clarification" for the record:

> http://www.w3.org/2005/rules/wg/track/issues/48
>
> <DaveReynolds> PROPOSED: RIF Core will include member (#) but
> syntactically restricted its use in rule bodies. Note that in RIF-RDF
the
> equivalent property rdf:type would still be permitted in rule heads.
>
> <GaryHallmark> rationale: PRD rules almost always start with "if p is
a 
> person and p.age > 16 and ... then ...

Most PRD rules refer to external object (e.g. Java, XML) models. A basic
rule structure like:
- rulevariable declaration: person p
- rule condition: p.age > 16
- rule action: ...

The rulevariable declaration "person p" (TIBCO: declaration; Blaze:
pattern; Ilog: variable)) does NOT normally mean the conditional test
(ie Boolean expression) "if p is a (member of) person". It simply means
"define p as some person". This is subtly different from a member test,
although I guess could be viewed as equivalent by some.

Further explanation:
Note that more typical membership tests would be membership of sets
like:
- rulevariable declaration: person p, knownFraudsters kf
- rule condition: p is a member of kf.setOfFraudsters
- rule action: ...

Note also that some PR engines do allow you to do some subclass
ownership conditions, although I would have to say this is relatively
rare. 
- customer, nonCustomer are subclasses of person
- rulevariable declaration: person p
- rule condition: p is a customer
- rule action: ...
...which may not seem very interesting, but can be useful if I am
selecting a subobject of a rulevariable:
- customer, nonCustomer are subclasses of person
- rulevariable declaration: person p
- rule condition: p is a customer and p.spouse is a nonCustomer
- rule action: ...


Paul Vincent
TIBCO | Business Optimization | Business Rules & CEP
 
> -----Original Message-----
> From: public-rif-wg-request@w3.org
[mailto:public-rif-wg-request@w3.org]
> On Behalf Of Boley, Harold
> Sent: 23 September 2008 18:08
> To: RIF WG
> Subject: [Core] PROPOSED Core resolutions from telecon Monday,
September
> 22
> 
> 
> The final PROPOSEDs from the Core Notes
> http://lists.w3.org/Archives/Public/public-rif-wg/2008Sep/0140.html
> are extracted here [and extended by the remaining open Core issue].
> 
> -- Harold
> 
> 
> 
> http://www.w3.org/2005/rules/wg/track/issues/48
> 
> <DaveReynolds> PROPOSED: RIF Core will include member (#) but
> syntactically restricted its use in rule bodies. Note that in RIF-RDF
> the equivalent property rdf:type would still be permitted in rule
heads.
> 
> <GaryHallmark> rationale: PRD rules almost always start with "if p is
a
> person and p.age > 16 and ... then ...
> 
> 
> 
> <Harold> > > http://www.w3.org/2005/rules/wg/track/issues/70
> 
> <Harold> PROPOSED: Parameterize the conformance clauses of Core with
> safeness requirements "strict" and "none" (default: "none").
> 
> <Harold> (modulo nice word for "none")
> 
> 
> 
> <Harold> > > http://www.w3.org/2005/rules/wg/track/issues/71
> 
> <AxelPolleres> PROPOSED: Core should keep unrestricted equality and
> external function and predicate calls in rule bodies and keep external
> functions calls in rule heads.
> 
> 
> 
> [ISSUE-72  OPEN, see below]
> 
> 
> 
> <Harold> > > http://www.w3.org/2005/rules/wg/track/issues/74
> 
> <AxelPolleres> PROPOSED: Core should keep both frames/objects and
> (positional-argument) predicates/relations.
> 
> 
> 
> <Harold> > > http://www.w3.org/2005/rules/wg/track/issues/75
> 
> <AxelPolleres> PROPOSED: Core should keep disjunction in rule bodies,
> only if this is permitted by the solution to issue-70.
> 
> 
> 
> <Harold> > > http://www.w3.org/2005/rules/wg/track/issues/76
> 
> <Harold> > > PROPOSED: Core should keep unrestricted equality in rule
> bodies (cf.
> 
> <Harold> > > ISSUE-71).
> 
> 
> 
> -----Original Message-----
> From: Dave Reynolds [mailto:der@hplb.hpl.hp.com]
> Sent: September 19, 2008 11:32 AM
> To: Boley, Harold
> Cc: Axel Polleres; Gary Hallmark; Adrian Paschke; kifer@cs.sunysb.edu;
> team-rif-chairs@w3.org
> Subject: Re: RIF-Core: proposing resolutions to current issues
> 
> . . .
> 
> > http://www.w3.org/2005/rules/wg/track/issues/72
> > PROPOSED: Do not include Skolem functions or a 'New' builtin for
Core
> > (a 'New' construct can be developed for PRD).
> 
> I would prefer to include the "new" builtin and have that available in
> both BLD and PRD.
> 
> My primary motivation is that a substantial number of "in the wild"
RDF
> rule sets do something like this to construct new bNodes. For the
> observed usages then the proposed "new" builtin would be sufficient
and
> would be implementable in both a BLD and PRD setting.
> 
> However, PRD seems to be opting for the "new" action, rather than the
> builtin/skolem function, and that seems to have a Gensym semantics.
> That's clearly a problem. I assume PRD doesn't want two different
forms
> of "new" and the true Gensym form can't be in Core.  I'd like to at
> least understand the PRD position here before agreeing to this
proposal.
> 
> . . .

Received on Wednesday, 24 September 2008 09:59:56 UTC