W3C

- DRAFT -

RIF Telecon 22 Apr 2008

22 Apr 2008

Agenda

See also: IRC log

Attendees

Present
Hassan_Ait-Kaci, Mike_Dean, Harold, ChrisW, josb, DaveReynolds, GaryHallmark, Sandro, AxelPolleres, MichaelKifer
Regrets
IgorMozetic, AdrianPaschke, LeoraMorgenstern
Chair
Chris Welty
Scribe
GaryHallmark

Contents


Admin

<ChrisW> PROPOSED: Accept minutes of Apr 15 telecon

<ChrisW> http://lists.w3.org/Archives/Public/public-rif-wg/2008Apr/att-0092/15-rif-minutes.html

<ChrisW> RESOLVED: Accept minutes of Apr 15 telecon

Harold: Axel wants to discuss DTB

Actions review

Jos: no reply to email about functions and operators

Sandro: will send email

<Harold> Instead of a two-step interpretation for builtin-predicates Itruth ? (Iexternal(s)) (the composition of Itruth and Iexternal(s), a truth-valued function), we defined a single Interpretation, Iexternal(s) D* ? TV here

Axel: need to iterate with Michael about semantics of builtin predicates

<Harold> http://www.w3.org/2005/rules/wiki/DTB#Semantics_of_Built-ins

F2F10

Sandro: people should indicate f2f10 plans using survey. Sandro will add link to survey page

<AxelPolleres> may 10th is fine.

<sandro> http://www.w3.org/2002/09/wbs/38457/f2f10/

DTB

Axel: will discuss with Michael and produce stable DTB by Monday

Last Call Todo: Clear items from Critical Path

<ChrisW> http://www.w3.org/2005/rules/wiki/ToDo_before_BLD_last_call

Chris: has prepared a list (rather long) of pending issues for last call

Chris: issue 37 is Interoperation with Object-Oriented XML

<ChrisW> PROPOSAL: ISSUE-37 is not in critical path for BLD

<ChrisW> RESOLVED: ISSUE-37 is not in critical path for BLD

Chris: issue 38 is Interoperation with Arbitrary XML (like SAX/DOM)

<ChrisW> PROPOSAL: ISSUE-38 is not in critical path for BLD

<ChrisW> RESOLVED: ISSUE-38 is not in critical path for BLD

Chris: issue 48 is classification concepts in Core
... Core issues is not on critical path for BLD

<ChrisW> PROPOSAL: ISSUE-48 is not critical path for BLD

<ChrisW> RESOLVED: ISSUE-48 is not critical path for BLD

Chris: issue 46 is Modules in RIF. Modules are an extension of "import"

<ChrisW> PROPOSED: ISSUE-46 is not critical path for BLD

<ChrisW> RESOLVED: ISSUE-46 is not critical path for BLD

<ChrisW> http://www.w3.org/2005/rules/wiki/ToDo_before_BLD_last_call

Jos: would like to discuss imports

Chris: ok, first let's quickly go over the entire list
... added new issues: comments and preservation of metadata
... does BLD have profiles?
... extensibility, fallbacks
... import, include
... 4 syntax issues: naming, striping, XML-RDF, shortcuts in presentation syntax

metadata issues

Chris: keep condition and rule syntax together

<Harold> http://www.w3.org/2005/rules/wiki/BLD#EBNF_for_the_RIF-BLD_Rule_Language

<Hassan> +1 with ChrisW

Chris: Jos' syntax has a <Rule> element, curernt syntax has <Group> as container for rules

<josb> http://www.w3.org/2005/rules/wiki/Annotations

Jos: my metadata syntax does not use frame syntax

<Harold> "One man's metadata is another man's data."

Jos: would like to distinguish between singleton rulesets and rules
... i.e. would like metadata on rules, not only on singleton rulesets

mkifer: thinks the Group container is ok

<Harold> The new proposal follows Occam's razor: http://en.wikipedia.org/wiki/Occam's_Razor

mkifer: also, use of Frames is better for rule languages that don't support RDF

jos: cannot immediately process frame metadata -- would need an extra step anyway to extract metadata to a separate ruleset

<Harold> Jos, this is not an extraction step in the sense of information extraction. It's just retrieving the filler of the role <meta>.

mkifer: but at least with Frames you don't need a mapping from RDF->Frames to process metadata w/rules

<Harold> That filler, then, is in our own RIF language.

dave: agrees that a Rule should have metadata w/o having to wrap in a Group
... RDF syntax seems to allow nested metadata, but not Frames

chris: the 2 syntaxes are close -- primarily whether metadata can be attached to a group vs a single rule
... document => ruleset, group => rule, same number of grammar rules

jos: no way to group rules vs no way to express metadata on a single rule
... difference between a rule and a group of one rule

hassan: why can't we attach metadata to both Rule and Group?

<sandro> Chris: how about: keep the group element (with some name) and add back in the "rule" terminal symbol

chris: can we merge the proposals by adding <Rule> tag that accepts same metadata as <Group>?

mkifer: strongly objects

<josb> Formula?

mkifer: term "rule" is misleading for FLD

chris: what about "formula" instead of rule?

hassan: but the R in RIF is for Rule

<sandro> how about "Item" -- it's as neutral as "Group"

mkifer: what about queries, constraints

<Harold> Here's an example of a singleton Group:

<Harold> Group "http://sample.org"^^rif:iri["dc:publisher"^^rif:iri->"w3:W3C"^^rif:iri]
(
Forall ?item (
"cpt:reject"^^rif:iri("ppl:Fred"^^rif:iri ?item) :- "cpt:unsolicited"^^rif:iri(?item)
) )

<AxelPolleres> what about "fiffi"?

<sandro> or "Entry"

mkifer: using "formula" requires reworking existing use of formulas in documents

hassan: groups are used for 2 purposes and should just be used for grouping rules rather than providing a place to attach metadata to a single rule

chris: what is the objection to adding a terminal for a single rule/formula?

harold: don't want a mandatory terminal

jos: ok, as long as it is possible
... different terminal symbol depending on whether the content is singleton or not

<sandro> PROPOSED: add an optional terminal like "Rule" or "Formula" or something to wrap a single formula, for adding metadata

<ChrisW> RULE ::= 'Forall' Var+ '(' CLAUSE ')' | CLAUSE

<sandro> PROPOSED: add an optional terminal like "Rule" or "Formula" or something to wrap a single formula (called non-terminal RULE in BLD draft), for adding metadata

<ChrisW> RULE ::= Rule IRIMETA? ('Forall' Var+ '(' CLAUSE ')' | CLAUSE)

<MichaelKifer> rule is unacceptable from the fld point of view and also from the point of view of dialects that allow constraints and queries

<ChrisW> RULE ::= ['Rule' IRIMETA?]? ('Forall' Var+ '(' CLAUSE ')' | CLAUSE)

<Hassan> yes

<ChrisW> RULE ::= ['Formula' IRIMETA?]? ('Forall' Var+ '(' CLAUSE ')' | CLAUSE)

mkifer: "formula" slightly better than "rule" but still seems like "syntax pollution"

<Harold> <Group card="1">
<meta>
<Frame>
<object>
<Const type="rif:iri">http://sample.org</Const>
</object>
<slot>
<Prop>
<key><Const type="rif:iri">dc:publisher</Const></key>
<val><Const type="rif:iri">w3:W3C</Const></val>
</Prop>
</slot>
</Frame>
</meta>
<sentence>
<Forall>
<declare><Var>item</Var></declare>
<formula>
<Implies>
<if>
<Atom>
<op><Const type="rif:iri">cpt:unsolicited</Const></op>
<arg><Var>item</Var></arg>
</Atom>
</if>
<then>
<Atom>
<op><Const type="rif:iri">cpt:reject</Const></op>
<arg><Const type="rif:iri">ppl:Fred</Const></arg>
<arg><Var>item</Var></arg>
</Atom>
</then>
</Implies>
</formula>
</Forall>
</sentence>
</Group>

<sandro> -1 using attribute like that

harold: use of "cardinality" attribute could be used instead of Group + Formula

sandro: singleton group is not the same as its content

hassan: production rules each have a name. Odd to have to wrap each in a Group in order to carry the name metadata

<ChrisW> RULE ::= ['Formula' IRIMETA?]? ('Forall' Var+ '(' CLAUSE ')' | CLAUSE)

chrisw: who objects to this?

<MichaelKifer> -1

<sandro> MichaelKifer: instead of "Group" say "Block" -- something that can easily have one thing.

<sandro> Hassan: call it "Meta"

mkifer: Group has just one purpose - to carry metadata. There are no modules in RIF just yet.

<sandro> MichaelKifer: Fine!

<Harold> <Meta> would be fine with me, too.

<ChrisW> Group ::= 'Meta' IRIMETA? '(' (RULE | Group)* ')'

<Harold> We would just need to change the lower-case <meta> role tag.

<Harold> Meta ::= 'Meta' IRIMETA? '(' (RULE | Group)* ')'

<Harold> Meta ::= 'Meta' IRIMETA? '(' (RULE | Meta)* ')'

jos: not so happy because it doesn't change the fact that a single rule can't have direct metadata

<Harold> The XML above example would change to <Meta><annotation>...</annotation><sentence>...</sentence></Meta>.

<Hassan> I give up ... let us use a meta wrapper to introduce meta stuff around anything

<ChrisW> RULE ::= ['Formula' IRIMETA?]? ('Forall' Var+ '(' CLAUSE ')' | CLAUSE)

<ChrisW> Group ::= 'Meta' IRIMETA? '(' (RULE | Group)* ')'

<Harold> Meta ::= 'Meta' IRIMETA? '(' (RULE | Meta)* ')'

chris: take strawpoll about preferences

<ChrisW> "FORMULA" Proposal

<Hassan> +1 although I would use Meta rather than Formula

<MichaelKifer> -1

<DaveReynolds> +0.5

<Gary Hallmark> +1 but call it Rule in honor of RIF

<sandro> NONBINDING-PROPOSED: add a terminal for individual rules

<josb> +0.5 would rather get rid of Group altogether

<mdean> +1

<sandro> +1

<Harold> -0.5

<AxelPolleres> +0.5

<josb> (would also prefer calling it "Rule")

<ChrisW> "Meta" proposal

<Harold> +1

<sandro> NONBINDING-PROPOSED: renamed "Group" to "Meta"

<Hassan> +0.5

<josb> -1

<sandro> +0

<MichaelKifer> +1

<DaveReynolds> -0

<mdean> 0

<Gary Hallmark> -1 just attach metadata to ruleset as Jos proposed

<Harold> The attachment point for metadata: The set of rules defining one predicate are sometimes called a 'definition' (in Prolog are called a 'procedure').

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.133 (CVS log)
$Date: 2008/04/22 16:29:13 $