- From: Patrick Albert <palbert@ilog.fr>
- Date: Wed, 24 Sep 2008 11:58:58 +0200
- To: "Paul Vincent" <pvincent@tibco.com>, "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, "RIF WG" <public-rif-wg@w3.org>
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