- From: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>
- Date: Tue, 10 Apr 2012 13:27:57 +0100
- To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, Paolo Missier <pmissier@acm.org>
- CC: Provenance Working Group WG <public-prov-wg@w3.org>
- Message-ID: <4F84274D.6040509@cs.man.ac.uk>
Hi Luc and Paolo, I read PROV-N document. It is well structured and easy to follow. Before starting reading PROV-N, I was skeptical about its usefulness since the PROV-N expressions are already used in PROV-DM part1 and prov-DM constraints. After reading it, I changed my mind. It actually gives a complete account of the concepts and relations on the DM in a relatively small number of pages. Also, I believe that for people who are familiar with existing provenance models, PROV-N may be the best entry point. I have only few minor comments on the document: 2- Design Rationale for PROV-N * The number of examples that are given to illustrate the notation can be reduced. For example, 2 examples are used to illustrate PROV-N optional arguments. I think that at this stage, the reader does not know yet PROV-N expression, and therefore, it would be better to use one kind of expression, e.g., derivation, and use small number of examples. * The term expression, and expression identifier is used in this section, but it is actually introduced in the section that follows. * "While not all PROV-DM relations are not binary, they involve two primary elements". I find the use of the term primary element a bit vague, specially when presenting a notation. Instead, I would use something in the following lines. "While most of PROV-DM relations are binary, such relations can be characterized (or qualified) using attributes." 4 PROV-N Productions per Component * For several expressions, e.g. generation and start by activity, it is specified that certain allowed expressions are not valid. Take the example of generation, the text specify that when the expression contain information only about the entity generated, i.e., without mentioning the activity or the generation time, then the expression is not valid. Instead of doing so, and given that this document is only on annotation, I think we can reformulate the definition of expression to exclude invalid cases. To illustrate this, consider the case of generation. The definition of generation in the PROV-N document is as follows: generationExpression ::= 'wasGeneratedBy' '('( ( identifier | '-' ) ',')? eIdentifier ',' ( aIdentifier | '-' ) ',' ( time | '-' ) optional-attribute-values ')' To avoid invalid cases, the above definition can be reformulated as follows: generationExpression ::= 'wasGeneratedBy' '(' ( ( ( identifier | '-' ) ',')? eIdentifier ',' aIdentifier ',' ( time | '-' ) optional-attribute-values | ( ( ( identifier | '-' ) ',')? eIdentifier ',' ( aIdentifier | '-' ) ',' time optional-attribute-values) ')' Hope this help, khalid
Received on Tuesday, 10 April 2012 12:28:46 UTC