W3C

- DRAFT -

RIF Telecon 19 Dec 06

19 Dec 2006

Agenda

See also: IRC log

Attendees

Present
Hassan Ait-Kaci, Harold Boley, Jos De Bruijn, Francois Bry, Mike Dean, Allen Ginsberg, Gary Hallmark, Sandro Hawke, Michael Kifer, Frank McCabe, Stella Mitchell, Leora Morgenstern, Igor Mozetic, Deborah Nichols, Peter Patel-Schneider, Paula Lavinia Patranjan, Axel Polleres, Christian Saint Marie, Giorgos Stoilos, Chris Welty, Mohamed Zergaoui
Regrets
David Hirtle, Markus Krötzsch, Jeff Pan, Dave Reynolds
Chair
Chris Welty
Scribe
Leora Morgenstern

Contents


 

 

Administration

Meeting for December 26th has been cancelled;

ACTION 194 (on ChrisW) to update people with multiple actions has been closed.

<ChrisW> RESOLVED: Accept minutes of 12/12 telecon

Minutes of December 12 have been accepted

Amendment to agenda: We will not discuss issue 12, since Dave (Reynolds) is not here.

That will be moved to the next meeting.

Face to Face Meetings

ACTION 201 on Sandro to set up web page for registration: continued

<Allen> no

Liaison

III: No actions; no news

IV: Technical Design

Technical Design

csma: Any discussion on use of constraints in RIF?

ChrisW: (to Harold and Michael) Did Hassan's paper clear up the confusion?

Harold: little confusion about CLPs.

cmsa: Alex and Dave were concerned about CLPs, but they are not present at this call.

csma: Continuing to slotted syntax ...

hassan: There's not much contention on uses of constraints.
... The idea is not to impose the CLP scheme, but the idea of using constraints to abstract data.
...There are two orthogonal dismensions: rules, and the data they work on.

cmsa: What is the connection to the black boxes discussed at f2f?

Harold: They can be handled by the same mechanism.

Hassan: constraints used for pattern matching, is the mechanism for binding variables

ChrisW: Isn't using too much unspecified and relying on external calls a form of cheating?

Hassan: No --- won't be unspecified.

csma: The objection is to the phrase "external call."

Hassan: But one can use a logical system for solving constraints.

<Harold> Basic semantics of an external call: map current substitution (binding environment) to a new substitution (indicating success) or to failure.

<FrankMcCabe> +q

Hassan: Unifying is the external call: external to the CLP engine.
... One shouldn't take the term "external call" too literally; it just means that two things are independent.

csma: To avoid confusion, change the term "external call."

Michael: I have a question about the extensibility of CLP schema
... (to Hassan): How does the CLP scheme extend to negation as failure (NAF), for example?

Hassan: It can be extended to handle NAF

csma: How does the scheme extend to production rules?

Hassan: It's hard to extend to production rules --- since we don't have a complete operational semantics.
... In general, if it can be expressed in LP, it can be expressed in CLP.

Michael: But: is there a model-theoretic characterization for constraint stable models as there is for stable models in LP?
... That is, we want stable semantics or well-founded semantics for CLP.

Hassan: I have to look up the issue to formalize the question, see if it has been addressed, and see if it satisfies Michael's requirements

<Zakim> GaryHallmark, you wanted to ask whether constraints = prolog built-ins

Gary: Are Prolog built-ins equal to constraints? Are they equal to predicates?

Hassan: Prolog built-ins are black boxes; they can be viewed as contraints.

<igor> in Prolog, term unification=constraints

csma: If one of the & (?) in the RIF is doing Prolog, and another is doing something else, what do we have; where do we stand?

hassan: The encoder makes the decision.

<Harold> Christian, we could say that an "external call" need not be a "foreign call": "External" in the sense of "normally independent of RIF", although in special cases it can coincide with RIF. "Foreign" in the sense of "software entirely outside of RIF".

<ChrisW> Polo, who are you?

csma: How do you decide what goes into constraints and what goes into conditions, if your language doesn't have this distinction?
... This question is not just for production rules.

Gary: Prolog built-ins can have side effects; in production rules, these would have to be implemented in the action part.

Hassan: In this scheme, putting things on the right does not say anything about execution order.

<Harold> Gary is referring to http://www.w3.org/2005/rules/wg/wiki/CORE/Rules/Horn, SYNTAX, Example 3b'.

Hassan: Gary's example is outside the scheme.

<ChrisW> uh oh

csma: But how would the implementer know what to do for an arbitrary rule language?

Hassan: Normative syntax should be constraint syntax.

<FRancois> Yes, it is.

<AxelPolleres> hmmm.

<Hassan> hmmm?

Frank: It's not that clear; some people use rules to implement constraints.
... The distinction between normal rules and constraint rule can be subtle.

<AxelPolleres> I am still unclear where the line between built-ins and constraints lies, but I was a bit distracted, for a moment, sorry.

Frank: The distinction between what's in the constraints and what's in the rules is up to the author.

<Harold> Frank and Hassan, one clear criterion for relations that should go into constraint calls would be decidability. Only decidable relations should become constraints.

Frank: Most often, people have a set of predicates that they choose to call contraints.

Hassan: That's exactly my point!

<GaryHallmark> a Java method can be very fast at solving some kind of constraints, but it only works if some variables are bound. Is this allowed?

<Harold> (Not all decidable relations would need to become constraints, so *efficient* decidability could be a more strict criterion.)

Frank: The whole issue of slotted vs. positional arguments can be viewed in terms of constraints.

Harold: One could have some predefined library of constraints: perhaps built-in libraries that come with RIF.

Hassan: I really like Harold's idea.

<AxelPolleres> +1 to have a list of built-ins.

Harold: There needs to be lots of discussion about which are the right built-ins.

<AxelPolleres> can Xpath/Xquery functions be a starting point?

csma:Built-ins would be on constraints, for efficiency reasons.

<ChrisW> Axel, that is a place for us to look, I think (Xpath/Xquery)

Harold: There is no need to change semantics for slots.
... change syntax to transform slots into positional arguments.

<GaryHallmark> URL?

Harold:(This is on wiki Core)
... positive conditions --- syntactic transformations

Harold: details about the transformation ...

<Hassan> Where is this on the wiki?

Harold: It all can be implemented nicely using Hassan's CLP.

http://www.w3.org/2005/rules/wg/wiki/CORE/Conditions/Positive

csma: Can you do the transformation in the other direction as well?

Harold: (to csma) Yes.

Frank: I'm confused about the bottom (false) element.
... Slotted to positional; you would expect missing slots to map to any variable.

Hassan: Yes, it should map to top element.

Harold: It depends on the semantics. For a minimalistic semantics: yes.

<Hassan> Then what does bottom denote? It denotes constraint failure to me!

Harold: Bottom denotes a variable that doesn't bind to anything.

Hassan: No, that's not the semantics for bottom.
... It's the semantics for top, not bottom!

<FRancois> Sorry, friends, I must go.

Hassan: This is a very strange version of extensible records of functional programming
... This was suggested nearly 20 years ago, by Mitchell Wand in a LICS 1987 paper ("Complete Type Inference for Simple Objects")
... Why do this? It can be much more simply handled.

<AxelPolleres> Can we wrap this up and move it to the list?

csma: We can't solve this now. Can Harold's version on the wiki be modified?

ChrisW: The point of Harold's document was that there be no rest variables.

<PaulaP> I wish you relaxed holidays!

Hassan: But this can be solved much more simply. We don't need extensible variables!

<PaulaP> bye

ChrisW: (to Hassan) I'm unclear about your position on signatures.

Hassan: Yes, you do need signatures.

ChrisW: For Hassan, signatures are a way of solving the problem.

Harold: We want to do this statically.
... We don't want constraints in condition part.

<FrankMcCabe> you can achieve the same effect by mapping f(a=1,b=2) to f/2(1,2)

csma: Hassan, please go to Harold's wiki page and suggest ways of modifying it.

Hassan: My paper already explains it.

csma: A paper is not the same as a RIF document/proposal.

Hassan: All right, one more try. There's too much workload to persist in this.
... But I'm taking no new actions until January.

<Harold> Right, "Point of Harold's document was that there be no rest variables (check this)": No rest variables (no 'subsumption' or 'open-slot' semantics) to avoid the problem we had after F2F4, namely that, e.g., p(a,b) would be 'equal' to p(a) through the shortcut of p{1->a,2->b} being equal to p{1->a}.

csma: Let's move to production rules.

Gary: Trying to clarify interaction with the rules system --- no straightforward way to transform LP rule to production system.

<Hassan> As Harold wrote it in one email, transforming top-down to bottom-up rule evaluation

ChrisW: Suggestion from Gary: pragmas in the translation.

<Hassan> is done with Magic sets

<sandro> [ I'm deeply sorry -- I had to step out of the meeting there to handle an urgent personal matter. ]

csma: Pragmas related to RIF processing models?

<sandro> [ back now, though ]

<AxelPolleres> MAgic sets are an optimization method for "emulating" top-down wthin bottom-up evaluation of rule sets

<Harold> I wonder about Francois' SATCHMO, ... experience here (top-down plus bottom-up).

ChrisW (to csma): Could be.

Frank: Does Chris mean that pragmas should capture operational semantics of the rules?

Chris: I have to think about this more.

csma: We need examples.

<AxelPolleres> -1

Frank: One can't capture the essence of rules if operational semantics is ignored.

<AxelPolleres> to that operational semantics is essential in all cases.

csma: The discussion probably needs to be put back on the mailing list.

<Hassan> Yes, but how many "pure" such language vs. "dirty" rule langues?

Axel: I was disagreeing that an operational semantics is always essential. After all, one can have a model theoretic semantics.

ACTION 188 closed

<AxelPolleres> please post the URIs again in the minutes to these actions to have a hook here.

ACTIONS 156, 157, 159, 160 all continued

<AxelPolleres> bye

<Hassan> +1 to adjourn

<Hassan> Happy many things

http://www.w3.org/2005/rules/wg/track/actions/open

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.127 (CVS log)
$Date: 2006/12/19 17:41:55 $

--=_mixed 00070C4D8525725E_=--