- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 01 Apr 2008 23:36:56 -0400
- To: public-rif-wg@w3.org (RIF WG)
Sorry for hurling another long email on this festive day... The following is an attempt to organize our thoughts on the requirements to RIF metadata. It should help guide us to a speedy resolution. (The main reason why I did not add metadata to the "math English" syntax was that while thinking about it we started having doubts about the earlier proposal.) --michael Problems with the earlier proposal 1. The old proposal injects new syntax at the metadata level, which cannot be processed by BLD rules. For some in this group it is thus a non-starter. In fact, Sandro mentioned that he would like to import just the metadata -- presumably for processing by a ruleset -- and we agree that this is a good application. 2. Inability to attach metadata to a subset of rules. The new proposal allows arbitrary nesting of metadata attachments at the level of rules and facts. For instance, Bob may publish a bunch of rules. One subset of those rules he got from Mary and one from Liz, so the subsets are annotated with "http://mary.com/rules"^^rif:iri[date->"2002-12-12"^^xsd:date, author->"Mary Smith"^^xsd:string]. and "http://liz.com/rules"^^rif:iri[date->"2008-10-10"^^xsd:date, author->"Liz Biz"^^xsd:string]. respectively. In turn, Mary's rules are partially due to Jerry and Victor. So, Mary's subset of rules, which looks like <Ruleset> <meta> </meta> <rule> </rule> ... <rule> </rule> </Ruleset> (the <meta> </meta> part is the first frame above), can in turn have two nested <Ruleset> </Ruleset> pairs -- one for Jerry's rules and one for Victor's (plus other rules that Mary may have authored by herself. And so on. Thus, the overall structure looks like this: Ruleset( meta? rule* Ruleset( meta? rule* Ruleset(...)* ... )* ... rule* Ruleset( meta? rule* Ruleset(...)* ... )* ) 3. Two separate tags for attaching metadata instead of one. (This is a lesser issue.) Responses to the arguments against the new proposal 1. The syntax of frames in XML is more verbose than lists The group has decided on using a fully-striped syntax even inside slots, which can make document content quite verbose. Complaining about one extra tag, <meta>, to connect to <Frame> metadata (which will be a much smaller part of the document) is inconsistent with the earlier decisions. 2. The name <Ruleset> for denoting metadata attachment may be confusing. Well, we could perhaps change the name to <Rules>. This latter keyword carries less baggage. 3. The new proposal increases the level of nesting of wrappers for attaching metadata. Not true. The nesting level of the wrappers is exactly the same (or smaller, in the absence of single-rule metadata). 4. The new proposal claims that it uses fewer tags, but this is only for the metadata markup. We still need another tag to indicate the beginning and end of a ruleset. There is no need for another top-level tag. We can keep the same Ruleset (or Rules) tag at the top. And above that, there will be only rif:Document. 5. If we use RIF syntax for metadata then people will be confused that the metadata is part of the knowledge base. a. This is not a serious argument. People who would be confused by that should not be allowed within 1000 feet of RIF. :-) b. The main idea of our proposal IS to make metadata into a knowledge base and make it processable by other knowledge bases. It is just that the metadata is part of a knowledge base that is distinct from the main rulebase (cf. Sandro's wish-list). c. Another advantage is that we can reuse the existing mapping of frames to RDF (in the appendix to the RDF compatibility document). Explaining misconceptions 1. The Ruleset (or Rules) scope has implications for local RIF symbols. The Rules/Ruleset wrappers are just attachment points for metadata. If anything, they are like the include statements of C, not like import statements (see http://lists.w3.org/Archives/Public/public-rif-wg/2008Apr/0006.html) The local/global symbols business should be left to the import (and future modules) mechanism. 2. Where is the global IRI? It is the object Id of the frame used for the metadata. In the above example of Mary's rules, "http://mary.com/rules"^^rif:iri[date->"2002-12-12"^^xsd:date, author->"Mary Smith"^^xsd:string], this global Id is "http://mary.com/rules"^^rif:iri. (We are not sure whether the right constant to use is "http://mary.com/rules"^^rif:iri or "http://mary.com/rules"^^xsd:anyURI, but this is beside the point.) 3. Can metadata contain just an Id (the global iri)? Yes: "http://mary.com/rules"^^rif:iri[] 4. Can there be metadata without a global Id? Although the old proposal allowed that, it is unclear whether this is really needed. Assuming it is, there are several options: a. Use a local symbol as the object Id in the frame: "someruleset123"^^rif:local[...] b. Use a variable ?V[...] c. Use a Skolem constant (we do not have them, but should).
Received on Wednesday, 2 April 2008 03:37:59 UTC