- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Fri, 01 Feb 2008 10:54:04 +0100
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- CC: RIF WG <public-rif-wg@w3.org>
- Message-ID: <47A2EC3C.7070803@inf.unibz.it>
I incorporated all the comments and put the proposal online at: http://www.w3.org/2005/rules/wiki/Annotations Best, Jos Jos de Bruijn wrote: >>> == prelude == >>> >>> We distinguish between two kinds of annotations: >>> 1 annotations which can be ignored for rule set processing (e.g., >>> author, date, title, natural language description); we call these >>> annotations *metadata* >>> 2 annotations which cannot be ignored for rule set processing (e.g., >>> imports, data set references); we call these annotations *attributes* >>> [this name is not very good; suggestions are welcome] >> >> I agree we have this distinction at present, and your proposal cleanly >> separates them. >> >> [We could choose to only support metadata and move everything else of >> semantic significance into the language - specifically imports and >> required datasets. I'm not sure this is the right approach but we >> should at least consider it.] >> >> A possible alternative to the name "attributes" might be "processing >> instructions", not sure I like it but it's the only plausible option >> that has sprung to mind so far. > > I'm not really comfortable with the term "processing instruction". For > example, a data set reference is not necessarily a processing instruction. > >> >>> Annotations can be written about any rule set or rule. >>> >>> Since metadata can be ignored for rule set processing, we do not >>> restrict the metadata properties which can be used in any dialect. >> >> For interoperability purposes I believe we should recommend a core >> vocabulary for metadata terms. In particular, I think that it will be >> quite common to want to give rules and rulesets a name, a longer >> descriptive comment (possibly multi-lingual), author attribution, >> creation dates and references to external documentation. If people in >> general use the same vocabulary for these then editors, viewers and >> other tools will be more functional and practical interoperation often >> benefits from being able to find things like comments. >> >> Specifically for these meatadata terms I suggest: >> rdfs:label >> rdfs:comment >> dc:creator >> dc:date >> rdfs:seeAlso > > I agreed that we can recommend a core vocabulary. However, I'm not so > sure whether the RDFS metadata vocabulary is the best way to go. > Personally, I prefer using Dublin core (e.g. title, description). To be > honest, I never understood why RDFS does not simply use of Dublin core. > >> >>> Attribute properties cannot be ignored; in fact, all attribute >>> properties must be understood by anyone who processes rule sets of a >>> particular dialect. Therefore, every dialect has a fixed set of >>> attributes properties which may be used. >>> Suggested attribute properties for BLD: rif:imports, >>> rif:requiresDataSet, rif:dataModel (see [1] for a description of the >>> rif:requiresDataSet and rif:dataModel properties). >>> >>> == Extension of the presentation syntax == >>> >>> The syntax for rule sets and rules needs to be extended to allow for >>> rule set and rule identification. Furthermore, it is convenient to >>> group annotations together with rule sets and rules. Finally, it is >>> currently foreseen that rule sets can have both metadata and >>> attributes, and rules can only have metadata. We propose the >>> following modification of the grammar: >>> >>> Ruleset ::= ' Ruleset( ' iri? Attribute* Metadata* RULE* ' ) ' >>> Attribute ::= ' Attribute ( ' iri Const ' ) ' >>> Metadata ::= ' Metadata ( ' iri Const ' ) ' >>> RULE ::= ' Rule( ' iri? Metadata* RuleContent ' ) ' >>> RuleContent ::= ' Forall ' Var+ ' ( ' RULE ' ) ' | Implies | ATOMIC >>> Implies ::= ATOMIC ' :- ' CONDITION >>> >>> Metadata properties can be any IRI; each RIF dialect prescribes a >>> fixed list of attributes properties. >> >> A nice simple approach but ... >> >> (1) It would be useful to enable metadata property values to be >> structured. Specifically the proposal in [1] uses RDF resources and >> bNodes for this. > > I agree. I think we can simply use turtle syntax. I will put my > proposal on a wiki page and update it. > >> >> (2) I would like to have a documented mapping from our metadata syntax >> to RDF. This would *not* require an implementer to process the >> metadata as RDF nor be able to understand RDF syntax but would help >> (a) forestall questions at Last Call on the relationship, (b) allow us >> to use RDFS as in [1] to document the intended domain/ranges of the >> metadata properties. This mapping could be informative rather than >> normative. > > Agreed. I will add this to my proposal. > > Best, Jos > >> >>> Neither attributes nor metadata are reflected in the model theory. >>> >>> If it is deemed necessary that arbitrary metadata statements (not >>> only about rule sets and rules) can be added, the following change >>> could be made to the Ruleset production: >>> >>> Ruleset ::= ' Ruleset( ' iri? Attribute* Metadata* (RULE | >>> MetadataStatement)* ' ) ' >>> MetadataStatement ::= ' MetadataStatement ( ' Const iri Const ' ) ' >>> >>> == Extension of the XML syntax == >>> >>> Ruleset( rs1 >>> Attribute("a1"^^rif:iri "v1"^^rif:iri) >>> Attribute("a2"^^rif:iri "v2"^^xsd:string) >>> Metadata("a3"^^rif:iri "v3"^^xsd:string) >>> Metadata("a4"^^rif:iri "v4"^^rif:iri) >>> Rule( r1 >>> Metadata("a5"^^rif:iri "v5"^^xsd:string) >>> .... >>> ) >>> ) >>> >>> translates to >>> >>> <Ruleset rif:identifier="rs1"> >>> <Attribute rif:identifier="a1" type="rif:iri">v1</Attribute> >>> <Attribute rif:identifier="a2" type="xsd:string">v2</Attribute> >>> <Metadata rif:identifier="a3" type="xsd:string">v3</Metadata> >>> <Metadata rif:identifier="a4" type="rif:iri">v4</Metadata> >>> <Rule rif:identifier="r1"> >>> <Metadata rif:identifier="a5" type="xsd:string">v5</Metadata> >>> .... >>> </Rule> >>> </Ruleset> >>> >>> >>> best, Jos >>> >>> [1] http://www.w3.org/2005/rules/wg/wiki/Arch/Data_Sets >> >> >> Dave > -- Jos de Bruijn debruijn@inf.unibz.it +390471016224 http://www.debruijn.net/ ---------------------------------------------- Doubt is not a pleasant condition, but certainty is absurd. - Voltaire
Received on Friday, 1 February 2008 09:54:20 UTC