See also: IRC log
<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
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
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/
Axel: will discuss with Michael and produce stable DTB by Monday
<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
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').