- 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