See also: IRC log
<ChrisW> clear agenda
<ChrisWelty> are people having trouble with zakim?
<StellaMitchell> no problems with zakim for me
<ChrisWelty> harold, are you coming?
<ChrisWelty> Scribe: LeoraMorgenstern
<ChrisWelty> PROPOSED: Accept minutes of last week's telecon
<ChrisWelty> RESOLVED: Accept minutes of last week's telecon
any agenda amendments?
Adrian: HCLS will take up again in September.
<AxelPolleres> http://lists.w3.org/Archives/Public/public-rdf-text/2008JulSep/0007.html ... yesterday's chat on rdf:text (former rif:text).
<AxelPolleres> my actions: ACTION-551 is done, ACTION-552 is continued.
Adrian had action on making PRD conditions equivalent to BLD conditions.
Adrian: not finished
Also, Axel had an action to summarize open DTB issues.
Axel: continued. But will be ready by next week
Axel had action to remove section 4.3.5. Done.
Adrian, Stella (and Leora) had an action to discuss test cases.
That is pending discussion.
F2F11 is scheduled for Sept. 26-27.
Participants or potential participants are encouraged to make reservations now.
You need to get in early to get a relatively reasonable hotel rate.
Harold: Do you have a recommendation of a not-so-expensive hotel within walking distance?
... no IBM special rates for Manhattan
Jos: recommends Expedia
Chris: recommends looking in parts of Brooklyn close to Manhattan and taking the subway.
Leora:Need to take phone call
<ChrisWelty> harold, can you scribe for a few minutes?
<josb> no functions should mean no lists
<ChrisWelty> Scribe: Harold
<AxelPolleres> no functions in heads might be enough.
<josb> decidability of reasoning
<JeffP> (I am with Dave on phone)
Dave: We didn't explicitly discuss whether lists might be in core. If we are excluding internal function symbols then perhaps not.
<LeoraMorgenstern> I'm back; I can scribe again.
<scribe> Scribe: Leora
<josb> why allow them at all?
Chris: <missing a few moments of context> talking about a limited set of defined built-ins and no other user-defined functions
<AxelPolleres> safety (i.e. no free vars in heads) + safety of built-ins (i.e. no otherwise unbound variables in built-ins)
Jos: Axel was imposing certain restrictions on use of function symbols.
Jos:I see no reason for using function symbols except for external function symbols,
Jos:and restrictions are already defined here, so we have no problem with these.
Jos:So, we have some design principles for Core: Decidability would be #1(no function symbols).
<AxelPolleres> jos... assume:
<AxelPolleres> a(x) :- a(y), external( add(y,1,x) ).
<AxelPolleres> so, externals can also be problematic.
Jos:You could devise certain restrictions (e.g., function symbols without variables) but I doubt they would be useful
<AxelPolleres> right, that was why I suggestedt safety for head vars and vars in externals.
Chris: what more than Datalog would we want in the core?
<ChrisWelty core: datalog + keep frame syntax
Axel: We could allow unbound variable in body as long it doesn't occur in the recursion.
Jos: Rule A(x) will never terminate.
Jos:If you want any sort of safety, go for full-fledged safeness.
Axel: was only referring to external predicates.
<AdrianP> same applies for tautologies - so we need the Datalog safeness condition
<AxelPolleres> an extended notion of safeness for external preds would need binding patterns.
Chris: I don't see the need to go with binding patterns for core.
Chris: simplicity of implementation is one of the design requirements for Core.
<AxelPolleres> standards safety for both heads and externals is fair enough for core for me.
Jos: But guarantee of termination is also crucial.
<AxelPolleres> jos' statement is not in conflict with chrisW's ...
Jos: Also, if there is a notion of safety, easier to implement..
Chris: I don't find simplicity of implementation to be correlated with decidability.
<JeffP> +1 on decidability on core
<AxelPolleres> yes. I'd even say, finite (minimal) models are a desideratum for core.
Jos: Certain algorithms are associated with guaranteed termination.
<josb> I prefer satisfiability for Core, but do not consider it a strong requirement
Dave: Feature of DTB that we have binding patterns there. (as summarized by Harold)
Axel:If we say every variable occurring in external predicate needs to be bound in non-external predicates, then we don't need binding patterns, because everything is bound.
<josb> What Axel describes is a notion of safeness
<josb> Binding patterns help in the definition of safeness
Axel:The idea of binding patterns is to loosen this restriction. If for example, we say we only need to bind two out of three variables.
<josb> it does
Axel:For Datalog, we don't have external predicates, so we would only have to say that variables appearing in predicates in the head also have to appear in the body.
<Harold> Paraphrasing Axel, safeness can be seen as an overarching "binding principle", so no syntactic "binding patterns" would be needed.
<AxelPolleres> dave, that would allow exactly the example I wrote above...
<AdrianP> typically mode declarations are used to define such kinds of binding patterns, e.g. add(+,+,?) would mean first argument is bound input, second one too, third one can be output or input, i.e. free or bound
Jos:I don't think Axel's strict defintion of safeness is useful.
Jos: Definition should take external predicates into account.
<AxelPolleres> not in the standard datalog sense...
<Harold> In LP, "binding patterns" were often called "mode declarations". Introducing explicit "mode declarations" syntax for Core would be problematic: An extralogical feature that we may not want througout all RIF dialects (e.g. in BLD).
Jos:More precisely, one uses external predicates to define safeness.
<DaveReynolds> Harold: not proposing mode declarations could be part of user rules, just defined in the spec as restrictions on using of DTB fns/preds
<AxelPolleres> the thing is that a binding pattern for my example, alone would not "save" you... the extension of a() would still be infinite.
Chris: You're talking about having a mechanism to specify whether a variable needs to be free or bound?
Jos: I don't think we need anything more.
<AxelPolleres> i.e. either you take safety in the strict sense OR you take binding patterns plus safe recursion.
<DaveReynolds> Axel: agreed
<AxelPolleres> jos, do you agree?
<AdrianP> not all Datalog engines support binding patterns / mode declarations
Chris:do people agree with Jos? (No, seems, that Axel doesn't.)
<Harold>Dave, Yes, that's fine.
Axel: either take strict safety or restrictions on bindings in recursion.
Jos:yes, Datalog and the addition of external predicates does complicate things.
<AdrianP> Datalog semantics for hybrid Ontology - rule systems have been defined, it is the same problem
<ChrisWelty> Core as datalog + a limited set of datatypes & builtins
Dave: Plus frame syntax to enable the same RDF mapping as BLD.
Chris: We need to make sure Core has certain attributes--- e.g., decidability, ease of implementation
<ChrisWelty> Core should be easy to implement, decidable?, tractable?, extendable to BLD & PRD
Harold:We need to keep PRD in mind --- what do we bring from PRD to core?
Harold: E.g., Christian's notion of negation?
<Harold>Because we might adapt FLD's/BLD's negations for that.
Adrian: And also Assert action
Gary:same as frame formula or term in PRD
<Harold> We have called Assert-only PRD "Pure Production Rules".
<AxelPolleres> note that Datalog safety does not extend straightforwardly to allowing disjunction in the body, but we excluded that already, right?
<AdrianP> the semantics of the head in core for PRD would then be an assert
<DaveReynolds> Axel: right, I think we agreed to exclude that last week
<AdrianP> yes, pure production rules without negation would be Core (from the PRD perspective)
Chris: someone has to step up to take on the job of writing this all up.
Chris: Looking for volunteers.
Harold: Will work on this from the BLD point of view. Perhaps some PRD people will join. And perhaps Dave?
And Axel and Adrian also.
<AdrianP> I would join from the PRD perspective, since I will work on the conditions of PRD anyway
Chris: Harold, can you start the wiki page for the core document?
<ChrisWelty> ACTION: harold to start a core draft wiki page [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action01]
<trackbot> Created ACTION-556 - Start a core draft wiki page [on Harold Boley - due 2008-08-19].
Adrian: <overview of initial Test document>
Adrian: This is the document that we're writing for test documents
Adrian: There's also another document (the TCS doc) intended for discussion
Adrian: Test document will be the official working draft for test cases
Adrian: TCS doc is intended for discussion of questions and issues.
Adrian: Stella proposed we first discuss purpose of test suite.
Adrian: Do we want to define test suite for conformance?
Adrian:Or do we want to just give examples for test cases?
Adrian: Or will there also be test cases for validating implementation?
Adrian: Document will include two parts: 1. Define test suite (for BLD, PRD, built ins for DTB)
Adrian: and this could be informative or conformant.
Adrian: 2. Also might give concrete xml syntax for specifying test cases.
Chris: Why not just specify test cases in xml of dialect?
<Harold>Adrian, does your "test theory" already distinguish consumers and producers? http://www.w3.org/2005/rules/wiki/BLD#Conformance_Clauses
Adrian: Perhaps current dialects might not be expressive enough for some tests.
Chris: encourage to start small, and focus on test cases for BLD. and soon, PRD.
Chris: but would be hesitant to start inventing a new dialect.
Chris: Be careful with test cases for PRD, because it's evolving so quickly. Wait till it's stable. BLD, on the other hand, is stable.
Chris: And it's critical for next step of BLD --- a call for implementation --- that there are test cases.
Dave: <answered some of these questions in his email>
Dave: Should be neither conformance suite nor informative, but normative
<Harold>Dave, using finitely many tests, you can anyway only disprove conformance, not prove it.
Chris:We're not imagining a test suite is exhaustive in terms of the dialect.
Chris: Being able to run the test suite does not guarantee full compliance; not sure it's possible to have such a test suite.
Adrian:Another question: which kind of test cases?
Adrian: initial categorization in test case document
Chris:why have different categories?
Adrian:to distinguish different test suites
Adrian: also may facilitate collection process from community
Chris: don't really see point of classification system prior to the tests.
Chris:why not come up with test cases first?
Chris: tests may wind up in multiple categories
Chris: first get tests, then see if some natural ordering comes from them.
Chris: what are some of the important features of BLD to test? Important to have test cases of classification, of forms, of external functions, etc.
Chris: Work toward more explicit test cases.
Dave:main thing are validation tests, entailment tests, etc.
Dave:best to concentrate on these
Leora: To be clear: It's not that we started out with an empty set of test cases and began to suggest a tabula rasa categorization. We have a few examples of test cases that have already been collected, and we were attempting to categorize these.
<AdrianP> some test cases are here http://www.w3.org/2005/rules/wiki/Category:Test_Case
Chris:I gave a RIF presentation 2 weeks ago; first question was: do you have any examples; and I suspect that's going to be true for anyone who gives a presentation on RIF.
Chris: Since there are lots of people who learn from examples, not from reading documents.
Chris: Jeff, you expressed interest in submitting some examples. Would you still like to do this?
JeffP:Yes, I have a colleague of mine who has just expressed interest in joining the WG and will be doing this.
Chris: I can officially assign the action to him when he officially joins the WG and is on a telecon.
Chris: Anyone else who has even the simplest examples around should submit them.
Adrian: Should we have an open call for test cases?
Adrian: <open within the WG>
Chris: We do have that: we have the wiki and a wiki template for writing test cases.
Chris: What's the process for someone to create a new test case?
Adrian: For category page for test cases, there is a template for creating test cases; template is shown on bottom of page.
Chris:would be better to just click on a button and get a template.
Chris: <general instructions for creating wiki pages>
<ChrisWelty> ACTION: Chris to make WG call for use cases [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action02]
<trackbot> Created ACTION-557 - Make WG call for use cases [on Christopher Welty - due 2008-08-19].
Chris:I will make a call for the working group to submit test cases.
< some discussion between Chris and Leora on test case format, need to specify what it means to pass a test, etc.>
Chris: Peter Patel-Schneider wrote a critique of BLD; seems to be a lot of confusion over terminology.
<ChrisWelty> ACTION: debruij2 to draft initial response to PFPS4 [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action03]
<trackbot> Sorry, couldn't find user - debruij2
Chris: Jos, would you take an action to respond?
<ChrisWelty> ACTION: jos to bla [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action04]
<trackbot> Sorry, amibiguous username (more than one match) - jos
<trackbot> Try using a different identifier, such as family name or username (eg. jdebruij2, jderoo)
<ChrisWelty> ACTION: jdebrui2 to draft initial response to PFPS4 [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action05]
<trackbot> Sorry, couldn't find user - jdebrui2
<ChrisWelty> ACTION: jdebruij2 to draft initial response to PFPS4 [recorded in http://www.w3.org/2008/08/12-rif-minutes.html#action06]
<trackbot> Created ACTION-558 - Draft initial response to PFPS4 [on Jos de Bruijn - due 2008-08-19].
Chris: proposal to adjourn