F2F9 Minutes

From RIF

Jump to: navigation, search

RIF Working Group Meeting Minutes, 21-22 February 2008

DRAFT. Currently Under Review

Contents


See also: IRC log day 1, IRC log day 2




Jeff Pan: JeffP has joined #rif


(Scribe changed to Axel Polleres)

Christian de Sainte Marie: objective is finishing BLD

Gary Hallmark: GaryHallmark has joined #rif

... see agenda slides.

... next objective (if time) Core, PRD.

... agenda, see http://www.w3.org/2005/rules/wg/wiki/F2F9

Review of FLD+BLD reviews

Chris Welty: we start wih Igor's FLD review. http://lists.w3.org/Archives/Public/public-rif-wg/2008Feb/0048.html

Christian de Sainte Marie: XML serialization not present in the current draft. Do we want to publish without?

Harold Boley: I can easily add a paragraph.

Michael Kifer: in the next draft it will be extended.

Christian de Sainte Marie: maybe less critical, since we have XML in BLD.

... but we may get back to this in the extensibility discussion.

Sandro Hawke: the FLD document is not the right place, since this is only about logic dialects.

s/place,/place for the discussion of the XML syntax/ (failed)

Christian de Sainte Marie: comments on 2.0.2 alphabet ... done

... 2.0.4 Sigantures ... done.

... 2.0.5 ... done

Jeff Pan: JeffP has joined #rif

... 2.0.6 Symbol Spaces: some discussion about why we don't support all XML schema types.

Michael Kifer: some discussion at last f2f with jos.

Jos de Bruijn: we didn't discuss what "supports" means. the problem is that we haven't clear here what/how to extend the basic datatyes to the reader.

Dave Reynolds: DaveReynolds has joined #rif

Jos de Bruijn: suggest that we "support" all XML Schema types and "require" compliant engines to support a basic set.

Sandro Hawke: sandro_ has joined #rif

Sandro Hawke: (Can you type in your concern?)

Harold Boley: How do we cross-reference to other W3C specs in general in general and in this case in XML Schema?

s/in XML/to XML/ (failed)

Sandro Hawke: Uh oh, DaveReynolds....
Dave Reynolds: working on the phone line ... [Scribe assist by Hassan Aït-Kaci]
Sandro Hawke: DaveReynolds, us this one CONF1 for now.
Sandro Hawke: we're dialing now.

Jeff Pan: Some datatypes such as duration, entity are not realy "RDF-friendly"

s/realy/really/ (failed)

Chris Welty: How we came to our current list was that we wanted to suggest a core list for compliance and recommend support for all basic XML Schema types.

Jos de Bruijn: general confusion types that "RIF supports" vs. " are required to be supported by inference engines"

Dave Reynolds: Supporting an integer but not a decimal is vastly more likely!

Michael Kifer: e.g. an engine that doesn't understand integer, but decimal would be able to deal with integers.

Jeff Pan: ack DaveReynolds

Christian de Sainte Marie: instead of making this subtle difference, would it be easier to define in geeneral that consuming engines translate datatypes in to their datatypes which have the same semantics?

Dave Reynolds: that's the implementers' business, has nothing to do with RIF compliance/compatibility

... why should RIF in the spec separate what is in the engine and in the language. what is in the engine is irrelevant, if the engine has to take care of the translation.

(hope I got that more or less right, dave)

Sandro Hawke: so if you support short and somebody adds 50000+50000 you are outside short, but not if you internally translate it to integer.

... but if our error semantics is that it is undefined how you handle errors than it would be ok.

Dave Reynolds: if we have builtins for testing types (isShort) then it will change the semantics. [Scribe assist by Sandro Hawke]

Michael Kifer: maybe we should just delete the paragraph about what a RIF consumer engine is supposed to to about datatypes.

... the idea to put it in was to simplify the job of implementers

Jos de Bruijn: we don't really want to restrict the datatypes you are allowed to use, but we didn't want to impose all engine with the rif stamp to have to support all.

Christian de Sainte Marie: want to keep the paragraph.

Jos de Bruijn: also want to keep it.

Michael Kifer: RIF systems still have to support all the built-ins.

Dave Reynolds: -1 to keeping paragraph, see my review

Jos de Bruijn: the problem at the moment is the (editorial) use of the words supports, compliant, consuming, etc. needs to be clarified.

MiachelK (guest): we could spell out subtypes.

Christian de Sainte Marie: remove "compliant" but only distinguish "producing" and "consuming" engines.

Michael Kifer: possibly break out datatypes in a separate document, at least keep the discussion on datatypes in one place... now scattered.

harold/michaelK: could be part of builtins document.

sandro/chrisw: Core document would make sense.

Chris Welty: paula was currently editor of builtins, but she is leaving the WG.

Harold Boley: I took over.

Sandro Hawke: just say "RIF does not define semantics for xsd:Duration" [Scribe assist by Sandro Hawke]

Axel Polleres: what should now be part of core and what of extensibility?

PROPOSED: Move text on datatypes and symbol spaces to Core

Dave Reynolds: What is Core? What happened to Arch?

PROPOSED: Move text on datatypes and symbol spaces to Core

Chris Welty: What is Arch? (laugh) [Scribe assist by Sandro Hawke]
Dave Reynolds: Arch = Architecture, which was originally precisely were the menu of builtins, datatypes, core XML syntax etc were going to be defined :-)
Dave Reynolds: s/were/where/ (failed)

(some discussions on how to resize font on projector... ;-) )

Chris Welty: FLD covers a good part of what I understood was "arch"

... can we extend it?

Michael Kifer: easier to write something more specific.

Christian de Sainte Marie: The reason to have datatypes and builtins in Core, not Arch, is because it's a specific thing that has to be implemented in every dialect. [Scribe assist by Sandro Hawke]

Chris Welty: is there an active Core document.

Axel Polleres: no, because we stil discuss what should be in there.

s/discuss/need to discuss/ (failed)

Sandro Hawke: We need to clarify what core is actually gonna be.

Sandro Hawke: (correction) We're getting a sense of what Core is actually going to be. BLD minus function terms, equality, and a few other things. [Scribe assist by Sandro Hawke]
Axel Polleres: What of datatypes are Core, and what are extensibility? [Scribe assist by Sandro Hawke]
Christian de Sainte Marie: The part of Datatypes that goes into Core is NOT the symbol spaces stuff (that's FLD), but the LIST OF DATATYPES goes into Core. [Scribe assist by Sandro Hawke]

Christian de Sainte Marie: definition od symbol spaces, datatypes in general belong to FLD.

Jos de Bruijn: but we don't want Core dependent on FLD! [Scribe assist by Sandro Hawke]

... core supported datatypes in Core.

Michael Kifer: nothing depends on FLD, we have XML datatypes, etc.

Christian de Sainte Marie: how does putting the list of datatypes in Core make core dependent on FLD.

... and why is it a problem to depend on FLD, core IS a logic dialect.

Axel Polleres: in AnswerSet programming, they are thinking about an exchange format, I suggested they use RIF -- they said it was too complicated. [Scribe assist by Sandro Hawke]
Chris Welty: ACTION Axel! [Scribe assist by Sandro Hawke]
Axel Polleres: Harold and I were thinking about it. [Scribe assist by Sandro Hawke]
Axel Polleres: And it doesn't make sense to do it until the spec settles down. [Scribe assist by Sandro Hawke]
Axel Polleres: This community knows their semantics, they want to see our XML syntax. [Scribe assist by Sandro Hawke]
Christian de Sainte Marie: This is like the PRD draft. They syntax is described so that people who already know their semantics can just use it. [Scribe assist by Sandro Hawke]
Sandro Hawke: csma; This is different from FLD. This is how you present the syntax of a specific dialect.
Christian de Sainte Marie: The way the syntax is currently presented in BLD is probably a problem for the language developer, just trying to build a translator. [Scribe assist by Sandro Hawke]
Michael Kifer: I suspect the AnswerSet critique refers to the old version of BLD that was much more complex. [Scribe assist by Sandro Hawke]

Hassan Aït-Kaci: the documents are still too dense, we need some introductory document(s)

Sandro Hawke: not our job to explain it... others can write tutorials.

Gary Hallmark: testcases document would do a great part of that job already.

Sandro Hawke: (it's okay for us to explain it -- but it's not a requirement on us.) [Scribe assist by Sandro Hawke]

Chris Welty: it is more a question of bandwidth

Michael Kifer: we definitly need an entry-point document.

Adrian Paschke: testcases + XML content models of RIF + use cases showing examples

... a tutorial (as planned by harold,axel,me) is separate from that.

Adrian Paschke: add syntax to the use cases.

Christian de Sainte Marie: the style of syntax presentation at the moment is not the style which developers are used to.

Adrian Paschke: syntax can be writen as reference menu
Adrian Paschke: like a glossary
Dave Reynolds: The current syntax is not that precise, there are many boring details left out. A developer needs clearer presentation, with clearer and more comprehensive examples and test cases.

(No activity for 13 minutes)

(No activity for 17 minutes)

Sandro Hawke: DaveReynolds, tell us when you need us to call in again.
Scribe Error: GaryHallmark [Scribe assist by Gary Hallmark]

(Scribe changed to Gary Hallmark)

FLD/BLD reviews, continued

issue (guest): RIF dialect can introduce new datatypes

spec should be clear that list of datatypes can be extended

Chris Welty: dialects must support AT LEAST the listed datatypes

Christian de Sainte Marie: come back to this issue when discussing extensibility

Chris Welty: what is a closed rif formula (in entailment section 3.0.7)?

Michael Kifer: no free vars

... entailment defined when no free vars (or implicitly universally quantified)

in BLD it is an error to have free variables (there is a resolution about this)

Sandro Hawke: "The free variables in the rule can be optionally quantified with Forall outside of the rule (i.e., Forall ?vars (head :- body)). "
Adrian Paschke: but we can hardly restrict the BLD syntax not to contain free variables

action on mkifer to forbid free variables

ACTION: Michael to make sure that BLD requires explicit quantification

ACTION: Mkifer to make sure that BLD requires explicit quantification

trackbot-ng: Created Action 425 - Make sure that BLD requires explicit quantification [on Michael Kifer - due 2008-02-28].

(No activity for 6 minutes)

ACTION: Mkifer to list FLD datatype subtypes explicity

trackbot-ng: Created Action 426 - List FLD datatype subtypes explicity [on Michael Kifer - due 2008-02-28].

rulesets should be explained earlier in spec because it is used to define scope of rif:local

ACTION: Mkifer to make sure "ruleset" is used consistently in FLD/BLD

trackbot-ng: Created Action 427 - Make sure \"ruleset\" is used consistently in FLD/BLD [on Michael Kifer - due 2008-02-28].

define RIF-compliant processor

Christian de Sainte Marie: define compliant consumer/producer

Hassan Aït-Kaci: compliance is too strong a term

Sandro Hawke: we do mean compliance

Christian de Sainte Marie: "inference engine" is out of scope of definition

Sandro Hawke: need something specific like inference engine to define test cases

Christian de Sainte Marie: should focus on translation, not processing

Michael Kifer: compliance should go elsewhere

Jos de Bruijn: define compliance at dialect level

Michael Kifer: need to define generally what compliance means

... but it seems out of place in FLD currently

Michael Kifer: needs to be in Core

Chris Welty: realistically, will we have other docs?

Axel Polleres: current docs: FLD, BLD, SWC, UCR, PRD, (Core?). what else?

... last call for BLD in 2-3 months

Michael Kifer: move datatypes, builtins, and compliance to another doc

Chris Welty: symbol spaces stays in FLD

Michael Kifer: can move symbol spaces too

PROPOSED: Create a new Document with provisional titles "Data Types and Builtins"

PROPOSED: Create a new Document with provisional titles "Data Types and Builtins"

PROPOSED: Create a new Document with provisional title "Data Types and Builtins" to contain elements common to all dialects

PROPOSED: Create a new Document with provisional title "RIF Vulgar" to contain elements common to all dialects

much discusson about possible title and content, including "RIF Core" (again!)

PROPOSED: Create a new Document with provisional title "Data Types and Builtins" to contain elements common to all dialects

PROPOSED: Create a new Document with provisional title "Data Types and Builtins" to contain elements common to all dialects with Harold and Axel as editors

Harold and Axel will edit the new document

RESOLVED: Create a new Document with provisional title "Data Types and Builtins" to contain elements common to all dialects with Harold and Axel as editors

ACTION: axel to create DT&B document by Friday

trackbot-ng: Created Action 428 - Create DT&B document by Friday [on Axel Polleres - due 2008-02-28].

ACTION: mkifer to remove DT&B content from FLD

trackbot-ng: Created Action 429 - Remove DT&B content from FLD [on Michael Kifer - due 2008-02-28].

Michael Kifer: producer, consumer, etc. should be defined in a common place

... also notion of dialects

... overall processing model

... need a guide (overview) of all the docs

Christian de Sainte Marie: no time to create many new docs

Harold Boley: will we publish UCR?

Sandro Hawke: can do last call on UCR

Michael Kifer: I can write a 1 or 2 page overview (guide)

Sandro Hawke: can take BLD to last call without overview info

... sort of OK not to understand, as long as audience doesn't misunderstand

Sandro Hawke: RIF Overview Document --- explaining why and how RIF is useful to people.
Christian de Sainte Marie: "A Common XML Serialization for Rule Languages" [Scribe assist by Sandro Hawke]
Sandro Hawke: Yes, it would be very useful to have a document which technical people can be pointed to, to convince them why they should use RIF, and point them to the details they need. [Scribe assist by Sandro Hawke]

... sort of OK not to understand, as long as audience doesn't misunderstand

Chris Welty: ...continuing with DaveR's review: primitive data types will be fixed with new resolution
Sandro Hawke: No, but we can dial in DaveReynolds if you want.

BLD reviews

Jos de Bruijn: need single defn of

... BLD

Christian de Sainte Marie: specialization of BLD from FLD should be appendix

Michael Kifer: direct (standalone) spec should be normative

Sandro Hawke: both can be normative

PROPOSED: make "specialization of FLD" sections (of BLD) appendices

PROPOSED: make "specialization of FLD" sections (of BLD) appendices, with both normative

PROPOSED: make "specialization of FLD" sections (of BLD) appendices, leaving standalone sections in place, and making both normative

PROPOSED: make "specialization of FLD" sections (of BLD) appendices, leaving standalone sections in place, and making both standalone and specialization normative

Axel Polleres: example -- many people use RDF non-normative rule-based semantics. [Scribe assist by Sandro Hawke]

RESOLVED: make "specialization of FLD" sections (of BLD) appendices, leaving standalone sections in place, and making both normative

Chris Welty: correction ---

RESOLVED: make "specialization of FLD" sections (of BLD) appendices, leaving standalone sections in place, and making both standalone and specialization normative

Christian de Sainte Marie: And that shows why they should both me normative, so if there is an error, it's the spec that is in error, not those folks and their implementation. [Scribe assist by Sandro Hawke]

ACTION: mkifer to move specialization sections to appendices

trackbot-ng: Created Action 430 - Move specialization sections to appendices [on Michael Kifer - due 2008-02-28].

issue (guest): xml syntax is too loosely specified

Chris Welty: dave, didn't hear your input during that proposed resolution - did it address your comment???

Michael Kifer: what does loose mean?

Chris Welty: yes, I was proposing the appendix/body be the other way round but the proposal is ok [Scribe assist by Dave Reynolds]

Jos de Bruijn: presentation to xml translation table too informal

Christian de Sainte Marie: table is not enough

Jos de Bruijn: 2 issues: want self-contained description of XML and want better translation table

Christian de Sainte Marie: e.g. which elements are required, optional, etc.

Michael Kifer: but xml schema appendix gives more info

Christian de Sainte Marie: likes PRD style

Dave Reynolds: EBNF is not "totally precise" !!

Harold Boley: ebnf is precise

Dave Reynolds: my comments critique the xml schema, too

Dave Reynolds: most of my comments are relatively minor but are important to ensure interop

... distinguish between IRIs and CURIes

Dave Reynolds: why equality in rule bodies in CORE?

Michael Kifer: because it is easy if just in bodies

... sugar for equal(?x ?x)

Sandro Hawke: but what about classical negation and = ?

Jos de Bruijn: datalog + classical negation => disjunctive datalog

Jos de Bruijn: IE disjunctive datalog. [Scribe assist by Sandro Hawke]
Michael Kifer: you can define equal(?x,?x) [Scribe assist by Sandro Hawke]

consensus is to remove equality from core to prevent problems with future extensions of core

Adrian Paschke: if strong negation is only defined in the body you don't run into conflicts between positive and negative conclusions
Christian de Sainte Marie: is this a real Resolution? [Scribe assist by Sandro Hawke]
Axel Polleres: Just as it comes to my head:
Axel Polleres: do we want to allow unsafe rules in CORE?

Michael Kifer: to prove not(equal(1,3)) you must have such a fact

Axel Polleres: safe = all variables in head must be bound by a (non-built-in) presicate in the body (if disjunction in the body additional care is needed)
Axel Polleres: s/unsafe/safe (succeeded, 1 lines ago)

(No activity for 62 minutes)

Mike Dean: is there a telecon dialin? Zakim didn't recognize RIFWG#

(No activity for 9 minutes)

Chris Welty: i'm here
Axel Polleres: I'm there
Sandro Hawke: I'm not
Chris Welty: France makes us all existential
Chris Welty: (by default)
Chris Welty: mike, the code is 26631
Chris Welty: mike, u there?

(No activity for 6 minutes)

Sandro Hawke: mdean???

(Scribe changed to Adrian Paschke)

SWC

Jos de Bruijn: Explains the four different entailment regimes fro RDF integration

Jos de Bruijn: Explains difference of OWL DL and OWL Full compatibility in RIF

Jos de Bruijn: OWL Full a[subckass->b] OWL DL: all b(x) :- a(x) [Scribe assist by Sandro Hawke]
Jos de Bruijn: So we read things with a special semantics. a[rdf:type->b]  : b(a) [Scribe assist by Sandro Hawke]
Jos de Bruijn: and a[p->b]  : p(a,b) [Scribe assist by Sandro Hawke]

Jos de Bruijn: a [p -> b]: p(a,b)

Jos de Bruijn: p might be a variable

Jos de Bruijn: Syntactically in blf frames, p could be variable. [Scribe assist by Sandro Hawke]
Sandro Hawke: s/blf/bld/ (failed)

Jos de Bruijn: interpretation of frames for the OWL Full compatibility workaround solution is different from the interpration in RIF FLD

Jos de Bruijn: a[p->b] <-> a[q->b]

Jos de Bruijn: i.e. q equivalent to p

Sandor (guest): distinguish the different interpretations of frames in RIF FLD and OWL compatibility also syntactically

Jos de Bruijn: RDFS: a sc b

Jos de Bruijn: RIF d [type -> a]

Jos de Bruijn: q[q->d] <- x [type -> b]

Jos de Bruijn: OWL DL: you can not use this rules anymore

Jos de Bruijn: In general frame syntax is incompatble from predicate syntax

Sandro Hawke: Expressions from OWL DL could be translated into both syntaxes

Sandro Hawke: How can you read it differently?

Jos de Bruijn: It is defined in the semantics

Sandro Hawke: We need something more concrete

Jos de Bruijn: I |= a[type -> b] if I |= b(a)

Sandro Hawke: How can this processed in the software

Jos de Bruijn: I imagine that somewhere in the rule set it is made explicitly

Jeff Pan: Why do we need to worry about rewriting a particular OWL statement

Jos de Bruijn: We don't rewrite

Jos de Bruijn: In RDFS the syntax can be frames

Jos de Bruijn: But in OWL DL they are classes

Jos de Bruijn: We want to use the same syntax for both

Jos de Bruijn: Use frame syntax as unifier

Jeff Pan: but you change the semantics

Jeff Pan: if you want to use different ontologies you will change the semantics

Sandro Hawke: So, I'm satisfied with Jos' explanation of why we need the two syntaxes and how they relate, but I think the document is going to [somehow] have to be a lot clearer here. [Scribe assist by Sandro Hawke]
Jos de Bruijn: Yeah. [Scribe assist by Sandro Hawke]

Harold Boley: we can use different way to write it syntactically

Adrian Paschke: if we are only talking about instance and subclass we can use a typed logic syntax

Chris Welty: the choices are binary predicate syntax or frames

Chris Welty: For a user, there's an awkward choice between using frame vs predicate syntax. There's no real guidance as to whether to chose one over the other. [Scribe assist by Sandro Hawke]

Jos de Bruijn: then use onyl frames with different semantic interpretation

Sandro Hawke: (joking) it'll be easy -- frames will be slower [Scribe assist by Sandro Hawke]
Michael Kifer: (taking it serously) not with good indexing [Scribe assist by Sandro Hawke]
Gary Hallmark: (also seriously) Java impls may just use the VM to do it, and be faster than predicates. [Scribe assist by Sandro Hawke]

s/subcalls/subclass (succeeded, 7 lines ago)

Jos de Bruijn: BLD: I |= a[b->c] if <aI,cI> in Iframe (bI)

Jos de Bruijn: That is the semantics of BLD

Michael Kifer: Yes, it captures the meaning

s/Mikeal/Michael (succeeded, 1 lines ago)

Jeff Pan: I'm in favor of a syntactical destinction instead of a different semantic interpretation of frames when using OWL DL

Michael Kifer: The problem is with extensions

Chris Welty: What about just having this modified frame semantics in BLD? that's where MK said problem with extensions [Scribe assist by Sandro Hawke]
Michael Kifer: we put predicates out of the domain, to be precisely like first-order-logic (even though it would be first order, anyway) [Scribe assist by Sandro Hawke]

Michael Kifer: We wanted to stay close to first order

Michael Kifer: We need an explanation of frames in the OWL compatibiltiy section

Sandro Hawke: RIF FAQ #4: Why do you have Frames and Predicates, and why aren't they equivalent? [Scribe assist by Sandro Hawke]
Jos de Bruijn: example with domain of size one. in OWL DL, it's not true that all classes are now the same. [Scribe assist by Sandro Hawke]

Jeff Pan: Let the users define which sort of semantics they would like to go for

Axel Polleres: Jeff, do I interpret you right, you said: Everything is fine except ... OWL DL? ;)

Jeff Pan: There is only one semantics for OWL DL

Chris Welty: no and OWL DL ontology can be also interpreted with OWL Full semantics

Sandro Hawke: Chris/Jos: OWL DL has this implicit choice (are you using OWL DL or OWL Full semantics), and that carries through to RIF, when you use RIF+OWL.

Jeff Pan: You can specify the semantics by an additional attribute

Sandro Hawke: s/Jeff/Jeff (succeeded, 1 lines ago)

s/Jess/Jeff (succeeded, 1 lines ago)

Jos de Bruijn: Semantics is defined for the combinations

Jos de Bruijn: RIF-OWL Full; RIF-OWL DL

Chris Welty: You choose by using a tool

Chris Welty: You get potential different results depending which reasoner you use

Mike Dean: my other meeting is about to start - i'll try to call in again tomorrow - thanks!

Hassan Aït-Kaci: Think of Datalog and Prolog interpreters

bye Mike

Sandro Hawke: We can not solve this problems between OWL DL and OWL Full in our group

Chris Welty: Next step?

Sandro Hawke: ... but the difference in entailments is, in practice, unimportant. [Scribe assist by Sandro Hawke]

Jos de Bruijn: wether and how do we point to RDF graphs

Jos de Bruijn: which entailment regime to use

Axel Polleres: define imports of RDF data by using owl:import

Axel Polleres: option: define an RDF thing like owl:imports for importing a ruleset from inside RDF. [Scribe assist by Sandro Hawke]

reviews to RDF/OWL compatibility documents

Axel Polleres: Review of Axel

Axel Polleres: some editorial issues

Axel Polleres: imports of OWL ontologies

Axel Polleres: bi-directional or uni-directional imports

Chris Welty: it is reasonable that RIF can import anything

Axel Polleres: number 10 : example in section 2

Axel Polleres: number 11: is there a way to have it defined for standard RDF graphs instead of extende RDF graphs

Axel Polleres: make a distinction in the examples

Axel Polleres: <http://a> "http://p"^^rif:iri "http://b"^^rif:iri .
Axel Polleres: "http://a"^^rif:iri <http://p> "http://b"^^rif:iri .

(No activity for 11 minutes)

Axel Polleres: comment 22

Axel Polleres: do you get ill-typed literals with using RIF-RDF

Chris Welty: p(1). p(a). + (x,1) -> p(x)

Michael Kifer: that is not ill-typed

ACTION: Axel to do what he just said

trackbot-ng: Created Action 431 - Do what he just said [on Axel Polleres - due 2008-02-28].

ACTION: axel to make a strange use case to generate ill-typed literals

trackbot-ng: Created Action 432 - Make a strange use case to generate ill-typed literals [on Axel Polleres - due 2008-02-28].

Axel Polleres: comment 24

Axel Polleres: comment 25

Axel Polleres: comment 26

Axel Polleres: comment 28: replace condition 4 by condition 4'

break!

(No activity for 22 minutes)

Christian de Sainte Marie: Dave, we reconvene
Sandro Hawke: DaveReynolds, you want to call in?
Sandro Hawke: okay, DaveReynolds
Hassan Aït-Kaci: Review of MK's BLD document...

(No activity for 5 minutes)

Sandro Hawke: let's take out the section on SubDialects of BLD. It's not something you need to know to implement BLD. [Scribe assist by Sandro Hawke]
Chris Welty: Yeah, it's touting the power of the framework. [Scribe assist by Sandro Hawke]
Hassan Aït-Kaci: Discussing syntactic equality ... Should we remove it from BLD (because of pbs with constructive negation)?
Sandro Hawke: Or maybe move it to an appendix. [Scribe assist by Sandro Hawke]
Christian de Sainte Marie: Need to make precise what is BLD and what is "core"... [Scribe assist by Hassan Aït-Kaci]
Harold Boley: or put it in an overview. [Scribe assist by Sandro Hawke]
Hassan Aït-Kaci: ChrisW - suggests to remove all mention of sub-dialiects in BLD - perhaps could be in FLD?...
Michael Kifer: do we - or not - need to define a core? [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: Sandro and CSMA: propose to ask for feedbakc from eventual reviewers of the published document
Hassan Aït-Kaci: s/feedbakc/feedback/ (failed)
Michael Kifer: who is going to take this up (i.e. core) - Sandro? [Scribe assist by Hassan Aït-Kaci]
Chris Welty: Let's go with an Appendix. [Scribe assist by Sandro Hawke]
Sandro Hawke: (move 2.0.9 into an appendix.)
Michael Kifer: core is BLD minus some stuff ... [Scribe assist by Hassan Aït-Kaci]

ACTION: mkifer to move 2.0.9 to an appendix

trackbot-ng: Created Action 433 - Move 2.0.9 to an appendix [on Michael Kifer - due 2008-02-28].
Hassan Aït-Kaci: Issues ...
Chris Welty: we were close to an agreement on named arguments ... [Scribe assist by Hassan Aït-Kaci]
Chris Welty: if a system does not support named args, what can they do (knowing that they are the majority)? [Scribe assist by Hassan Aït-Kaci]
Chris Welty: one way is to take named args as sytactic sugar... [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/sytactic/syntactic/ (failed)
Chris Welty: All args *must* mys either named or positional, and none must be missing [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/mys/be/ (failed)
Chris Welty: (on board) Arg.Names are not necessarily distinct. [Scribe assist by Sandro Hawke]
Michael Kifer: we could make them distinct. [Scribe assist by Sandro Hawke]
Chris Welty: order of names does not matter [Scribe assist by Hassan Aït-Kaci]
Chris Welty: (on board) P( a->b a->c ) == P( a->c a->b ) right? MichaelKifer: Yes. [Scribe assist by Sandro Hawke]
Michael Kifer: proposing to define dialects in a modular way extending BLD [Scribe assist by Hassan Aït-Kaci]
Christian de Sainte Marie: why not use a cononical rep (say, by sorting the names)? [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/cononical/canonical/ (failed)
Chris Welty: So the NUMBER of repeatable argument names has to be constant? MichaelKifer: Yes. [Scribe assist by Sandro Hawke]

PROPOSED: make argument names distinct

RESOLVED: make argument names distinct

Sandro Hawke: (in France, they supply bottles of wine, on which to toast our resolutions!)
Chris Welty: lexical ordering? MichaelKifer: but they are not strings. [Scribe assist by Sandro Hawke]
Chris Welty: P(a->b c->d) = P(b d) Sandro: isn't it P'  ? [Scribe assist by Sandro Hawke]
Jos de Bruijn: I'd like them to be the same. [Scribe assist by Sandro Hawke]
Hassan Aït-Kaci: That means names are useless! [Scribe assist by Sandro Hawke]
Sandro Hawke: Sandro,Gary: They are just comments.
Harold Boley: There are several Use Cases for Named Arguments:
Hassan Aït-Kaci: If arguments could be omitted, and predicates could be overloaded, THEN this would be useful. [Scribe assist by Sandro Hawke]
Harold Boley: * ISO Common Logic
Harold Boley: * CLIPS
Harold Boley: * Relational Tables
Harold Boley: * CycL
Harold Boley: * OO jDREW
Harold Boley: * Python
Michael Kifer: named args exist in FLD but there may be dialects other than BLD where names could be meaningful and/or optional [Scribe assist by Hassan Aït-Kaci]
Christian de Sainte Marie: likes the fact named args are not anything special to support - just a convenience [Scribe assist by Hassan Aït-Kaci]
Dave Reynolds: Harold - I'm not sure CLIPS named argument are compatible with RIF named arguments, I thought you could omit arguements in CLIPS.
Michael Kifer: it would be wrong to say P(b->c a->d) = P(d c) because in a more-useful dialect you'll want to do other things with them. [Scribe assist by Sandro Hawke]
Harold Boley: If you do not support named arguments in your system, then positionalize them using lexical order of the argument names.
Michael Kifer: this is a bad idea ... because extending BLD for dialects that treat them differently would be ruled out as extensions of BLD [Scribe assist by Hassan Aït-Kaci]
Harold Boley: (that's what I got from Chris' due dilligence)

if we don't enforce that RIF users always specifiy explicitly all the signatures of the public functions of a RIF rule set, named args are a good way to to make an "unkown" RIF rule set accessable to new users

Christian de Sainte Marie: I would rather have the producer of a RIF document positionalize them, so the burden is onthe one who support them, not on the ones who do not...
Chris Welty: Okay, then: A RIF consumer that does not support named arguments MUST treat them as position arguments in the lexical order of the argument names. [Scribe assist by Sandro Hawke]
Christian de Sainte Marie: a RIF consumer system that does not support named arguments replace them by positions [Scribe assist by Hassan Aït-Kaci]
Christian de Sainte Marie: How about the producer has to put them in order! [Scribe assist by Sandro Hawke]
Hassan Aït-Kaci: s/CSMA/ChrisW/ (failed)
Sandro Hawke: csma, the ordering may be significant to users. [Scribe assist by Sandro Hawke]
Christian de Sainte Marie: sandro, agreed; that may be significant if the processor is not an engine, but a browser, an editor etc

if we simply skip them and don't implement them in the RIF XML schema it will be very hard for RIF users who need named arguments to extend the RIF schema with named arguments. But if we make them optional in the schema the users can choose if they need them or not

Harold Boley: Dave, it would be better to support a special case of named arguments (without 'rests') of any languages (CLIPS, ...) than none at all.
Michael Kifer: in BLD there are no declarations so round-tripping is impossible [Scribe assist by Hassan Aït-Kaci]
Christian de Sainte Marie: s/processor/producer/ (failed)
Axel Polleres: if we had the signature as MetaData then it would be possible [Scribe assist by Hassan Aït-Kaci]

PROPOSED: We settled named arguments with: A RIF consumer that does not support named arguments MUST treat them as position arguments in the lexical order of the argument names (as pair of symbol-space name, and lexical representation of that order)

Jos de Bruijn: Is anyone still opposed to getting rid of named args? [Scribe assist by Hassan Aït-Kaci]

PROPOSED: We settled named arguments with: A RIF consumer that does not support named arguments MUST treat them as positional arguments (of a different predicate) in the lexical order of the argument names (as pair of symbol-space name, and lexical representation of that order)

PROPOSED: We settled named arguments with: A RIF consumer that does not support named arguments MUST treat them as positional arguments (of a different predicate, formed in a defined-by-BLD-way) in the lexical order of the argument names (as pair of symbol-space name, and lexical representation of that order)

PROPOSED: We settled named arguments with: A RIF consumer that does not support named arguments MUST treat them as positional arguments (of a different predicate, formed in a defined-by-BLD-way) in the lexical order of the argument names (sorted as a pair of symbol-space name, and lexical representation of that order)

Chris Welty: it something is "easy" to deal with (e.g., named args) then we should make that explicitly clear and how [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/it so/if so/ (failed)
Jos de Bruijn: what is the syntax for args names [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/names/names?/ (failed)
Michael Kifer: just names - sequences of chars [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/chars/unicode chars/ (failed)
Sandro Hawke: Ah -- so we don't need the symbol-space name.
Jos de Bruijn: shouldn't names be consts [Scribe assist by Hassan Aït-Kaci]
Hassan Aït-Kaci: s/consts/consts?/ (failed)
Chris Welty: they would be no problem if they could be optional ... [Scribe assist by Hassan Aït-Kaci]

PROPOSED: Removed named arguments.  :-)

PROPOSED: Make named arguments optional

Michael Kifer: they do not make sense in BLD because of unique name signatures [Scribe assist by Hassan Aït-Kaci]
Harold Boley: Optional?

PROPOSED: We settled named arguments with: A RIF consumer that does not support named arguments MUST treat them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names.

PROPOSED: We keep named arguments, explaining in BLD that: A RIF consumer that does not support named arguments MUST treat them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names.

+1 for Sandros proposal (Prova does not support named arguments anyway for efficiency reasons - and where I realy need them, e.g. in inductive logic programming, I simulate them via a meta programing interpreter)

Harold Boley: E.g., P(b->?Y a->?X) treated as P'(?X ?Y).
Sandro Hawke: Right.
Sandro Hawke: (note that the second one is P-prime)
Harold Boley: Yes, P-prime could be a reserved name for every P.
Harold Boley: (as Hassan just mentioned -- for round-tripping)
Hassan Aït-Kaci: ChrisW and CSMA: keep the metadata for translation and recover the original on roundtripping
Sandro Hawke: (on board) for P' you can use P__b__a(....) [Scribe assist by Sandro Hawke]
Harold Boley: Metadata will be needed for provenance information anyway.

PROPOSED: We keep named arguments, explaining in BLD that: A RIF consumer that does not support named arguments can implement them, with relative ease, by treated them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names.

Scribe Error: Jeff [Scribe assist by Christian de Sainte Marie]

(Scribe changed to Jeff Pan)

Chris Welty: let's describe how easy it is in the doc, since MichaelK said it is easy

Axel Polleres: How do I rewrite P__a(b->c)

Michael Kifer: My only concern is that whether it is be in the main part of a document or in an informative appendix

Chris Welty: it should not only be in examples, it should be in spec

Harold Boley: Generally, if the named arguments of P are, lexicographically ordered, aL1, aL2, ..., LaN, then the predicate name is P__aL1__aL2__...__LaN.
Sandro Hawke: so, this breaks if you have two translators from RIF to some local language. But that's not a critical use case. [Scribe assist by Sandro Hawke]

Sandro Hawke: why does it affect comformance, ChrisW?

(ChrisW has to go)

Sandro Hawke: some other Implemtation Techniques we could include: rewriting away existentials and disjunction in conditions. [Scribe assist by Sandro Hawke]

Christian de Sainte Marie: we might need to write implementation hints in some of the docs

PROPOSED: We keep named arguments, explaining in BLD that: A RIF consumer that does not support named arguments can implement them, with relative ease, by treating them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names.

s/treated/treating (succeeded, 1 lines ago)

Christian de Sainte Marie: we close Issue 44

PROPOSED: We keep named arguments, explaining in BLD that: A RIF consumer that does not support named arguments can implement them, with relative ease, by treating them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names. (Closing ISSUE-44)

Jos de Bruijn: (abstain)

RESOLVED: We keep named arguments, explaining in BLD that: A RIF consumer that does not support named arguments can implement them, with relative ease, by treating them as positional arguments (of a different predicate, formed in a stable but implementation-dependent way) in the lexical order of the argument names. (Closing ISSUE-44)

abstain (guest): josb, DaveR, GaryH

Christian de Sainte Marie: why can a term be a frame?

... why did we change from only counting const, var and func as terms?

Michael Kifer: once the framework is there, all this becomes possible

... in the new version, the semantics is simpler in some sense

Michael Kifer: unnesting used to be in there as v1: a[b->c[d->e]] could be rewriten as v2: a[b->c]^c[d->e] no longer the same, because: [Scribe assist by Sandro Hawke]

... now a(b->c(d->e)) is no longer the same as a(b->c) ^ c(d->e)

... now the whole term c(d->e) is the value, rather than c is the value

... the new semantics allows reifications

Sandro Hawke: Any standard in the F-Logic community on this? [Scribe assist by Sandro Hawke]
Michael Kifer: No. Slightly different syntaxes for each form. [Scribe assist by Sandro Hawke]

Christian de Sainte Marie: what is the consequence when you use frames

Sandro Hawke: how about variables?

Jos de Bruijn: why to make the language more complex?

Michael Kifer: the language is the same

Christian de Sainte Marie: what is the consequence when you use frames to represent objects? [Scribe assist by Christian de Sainte Marie]
Michael Kifer: It used to be that p(a[b->c]) meant the same as p(a)^a[b->c] [Scribe assist by Sandro Hawke]
Jos de Bruijn: No, frames were terms. This makes the language more complicated. [Scribe assist by Sandro Hawke]

jobs (guest): allowing equalities and frames as terms makes the language more complex

Michael Kifer: In this version, p(a[b->c]) introduces a reified term. [Scribe assist by Sandro Hawke]

PROPOSED: equality, frames, subclass, membership are not terms in BLD

Michael Kifer: I don't want unnesting in BLD. [Scribe assist by Sandro Hawke]
Axel Polleres: I tend to agree that reification looks like possibly causing pain...

Sandro Hawke: agree with csma and josb

Christian de Sainte Marie: this is a major change in BLD

Harold Boley: the reviewers were fine with it

Christian de Sainte Marie: maybe people overlooked it

Sandro Hawke: Sandro,csma,Jos: The reviewers didn't notice it.

... we should ask the reviewers

Jos de Bruijn: I thought it was a typo. [Scribe assist by Sandro Hawke]
Sandro Hawke: I am deeply suspicious of reification in here. [Scribe assist by Sandro Hawke]

Christian de Sainte Marie: what's DaveR's opition?

Dave Reynolds: I missed that

Axel Polleres: ... I have to think about it, to be honest. [Scribe assist by Axel Polleres]
Dave Reynolds: I also didn't notice. I assumed the language hadn't changed. [Scribe assist by Sandro Hawke]

... the new approach does seem to be a worry for me

Michael Kifer: This reification is in the framework. [Scribe assist by Sandro Hawke]

Christian de Sainte Marie: being in the framework is different from being in BLD

Axel Polleres: The question to me is more whether we can, with this, "deify" reified statements again by rule application.