- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Sun, 04 May 2008 20:56:24 +0100
- To: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
This seems rather complex and more general than we need. All I want to do is identify a rule with an IRI (no arbitrary Consts) and attach RDF compatible metadata to it. I see no RDF mapping in this proposal. It is clear that one could use the RDF to Frame mapping to map from RDF to Frames and attach them via this metadata representation but (a) that doesn't account for the *i component and how that relates to any Frame identifiers and (b) the reverse mapping is not possible. I'm not comfortable with introducing a metadata notation to the semantic web which can't be mapped to RDF without some serious consultation. This is not yet a formal objection. Up to now, to avoid blocking progress, I've abstained (+/- 0) rather than objected to schemes I'm less happy with. For this one I'd need to think about it some more and consult with colleagues. Dave Boley, Harold wrote: > Hi RIF WG, > > Here is a new proposal for moving forward with identification > and metadata, which we hope will satisfy everyone. > > The idea, initially articulated by Sandro, is to allow IRIMETA > annotations to appear at any level, now also separating optional > identification from optional metadata, as suggested by Jos and > others. > > In the presentation syntax, IRIMETA has the following form: > > ('*i' Const)? ('*m' FORMULA)? > or > '<*' Const? FORMULA? '*>' > > (Left open here: in the first case, an *i marks the Const > as identifier and an *m marks the FORMULA as metadata, while > in the second case the IRIMETA is bracketed with a <* *> pair.) > > The Const acts as an optional identifier and the FORMULA (e.g. a Frame > or > a conjunction of Frames) acts as optional metadata. FORMULA cannot be a > constant or a variable (this latter restriction is always fulfilled in > BLD, > but is needed for FLD). > > Why formulas instead of just frames? In most cases it would be just a > single frame. Conjunctions of (unnested) frames can be used to express a > set of nested RDF descriptions. But, in general, one might say that the > publisher is either Springer or MIT Press. Or, that the publisher is > NOT Springer. In BLD we might decide to restrict the allowed formulas. > > The above annotations can appear in front of any formula, subformula, > or term. Most often they will be used in front of rules or groups, > but other places are also allowed. > > This provides for the identification of individual rules as well as > groups, facts, etc. Metadata can also be attached everywhere. > > For example, the IRI part > > *i "http://sample.org"^^rif:iri > > and the META part > > *m "pd"^^rif:local[dc:publisher->w3:W3C > dc:date->"2008-04-04"^^xsd:date] > > can be used individually or together in a modified RIF-BLD Example 3 > (IRI and META parts): > > *i "http://sample.org"^^rif:iri > *m "pd"^^rif:local[dc:publisher->w3:W3C > dc:date->"2008-04-04"^^xsd:date] > Group ( rule fact ) > > or > > <* "http://sample.org"^^rif:iri > "pd"^^rif:local[dc:publisher->w3:W3C > dc:date->"2008-04-04"^^xsd:date] > *> > Group ( rule fact ) > > Annotation works the same way at the level of rules. > For example, the following is a rule annotated with a meta part, but > without the id part. > > *m "cn"^^rif:local[dc:creator->nrc:NRC] > Forall ?item ( > cpt:reject(ppl:Fred ?item) :- cpt:unsolicited(?item) > ) > > or > > <* "cn"^^rif:local[dc:creator->nrc:NRC] *> > Forall ?item ( > cpt:reject(ppl:Fred ?item) :- cpt:unsolicited(?item) > ) > > Here is a similar example where metadata annotates an atom: > > *m "cs"^^rif:local[dc:creator->tools:SIEVE] > cpt:unsolicited(spam:flyer12) > > or > > <* "cs"^^rif:local[dc:creator->tools:SIEVE] *> > cpt:unsolicited(spam:flyer12) > > This can be extended down to the level of Constants like spam:flyer12. > > The annotated rule and atomic fact can be inside an annotated Group: > > *i "http://sample.org"^^rif:iri > *m "pd"^^rif:local[dc:publisher->w3:W3C > dc:date->"2008-04-04"^^xsd:date] > Group ( > *m "cn"^^rif:local[dc:creator->nrc:NRC] > Forall ?item ( > cpt:reject(ppl:Fred ?item) :- cpt:unsolicited(?item) > ) > *m "cs"^^rif:local[dc:creator->tools:SIEVE] > cpt:unsolicited(spam:flyer12) > ) > > Note that now the object names of metadata frames are no longer > the identifiers of rules/groups -- unlike in our earlier proposal. > The object names of metadata frames can be rif:local, rif:iri, etc., > and can now be used to cross-reference other pieces of metadata > (which annotate other formulas). This also captures Paul's desiderata > of sharing metadata. > > For example, metadata, below, references the above pd metadata: > > *i "http://sample.org/rule"^^rif:iri > *m > "http://sample.org/meta"^^rif:iri["crossref"^^xsd:string->"pd"^^rif:loca > l > > "cost"^^xsd:string->"12"^^currency:USD] > Group ( rule1 rule2 rule3 ) > > The EBNF for RIF-BLD can be generalized thus: > > IRIMETA ::= ('*i' Const)? ('*m' FORMULA)? > or > IRIMETA ::= '<*' Const? FORMULA? '*>' > > Document ::= IRIMETA? 'Document' '(' DIRECTIVE* Group? ')' > Group ::= IRIMETA? 'Group' '(' (RULE | Group)* ')' > RULE ::= IRIMETA? 'Forall' Var+ '(' CLAUSE ')' | CLAUSE > CLAUSE ::= Implies | ATOMIC > Implies ::= IRIMETA? ATOMIC ':-' FORMULA > . . . > UNITERM ::= IRIMETA? Const '(' (TERM* | (Name '->' TERM)*) ')' > Equal ::= IRIMETA? TERM '=' TERM > . . . > > In the XML syntax, IRIMETA can likewise be split into > an <id>-striped Const and a <meta>-striped FORMULA. > The stripes/roles <id> and <meta> can be XSD-specified > as the optional initial children of <Document>, <Group>, > <Forall>, <Implies>, <Atom>, <Equal>, etc. > > The semantics for now just discards IRIMETA, as already done for > Document and Group. > > Best, > Harold & Michael >
Received on Sunday, 4 May 2008 19:58:09 UTC