- From: Graham Klyne <graham.klyne@zoo.ox.ac.uk>
- Date: Mon, 09 Jul 2012 09:57:18 +0100
- To: W3C provenance WG <public-prov-wg@w3.org>
All,
I read through PROV-N over the weekend, and (with one exception that I'll raise
as a separate issue) I think it's fine for last call, even though I might
personally (still) prefer to see it as an appendix to PROV-DM than as a separate
document.
Some comments for consideration before or after last call:
Section 1.1: since we don't have a candidate for PROV-XML going into last call,
I think that the reference to [PROV-XML] should be dropped.
Also, for a section titled "purpose of this document...", I find it hard to dig
out a description of the purpose of this document - it's all rather buried in
(IMO) unnecessary justification and explanation.
Section 1.3: rather than repeating the namespace URIs here, I would reference
the corresponding section in PROV-DM (reducing possibilities for key information
getting out of phase).
Section 2.4: I would have expected to see this section deal with the form of
identifiers used in PROV-N. At the very least, I'd suggest a forward reference
to section 3.7 - but I think it would be better to deal with identifier format
up-front, since it is, along with the use of resulting URIs, such a central
aspect of PROV-N in particular, and provenance in general.
Section 3.*; there are several references to "non-terminal". This is a rather
specialized term, maybe familiar to those who have studied formal grammar
theory, but I think is a bit obscure for a wider audience. For example, "how
each constituent of a PROV-DM Entity maps to a syntax element" would be more
descriptive.
As I write this, I'm thinking that this aspect of mapping from PROV-DM
descriptions to syntax elements is rather clumsy; I think the whole mapping
table could be dropped here without any loss of useful information - the
information is apparent from a combination of the PROV-DM description and the
formal syntax given; I'd suggest dropping the mapping tables completely, as
this would make the description a lot more compact. (This also suggests to me
that having PROV-N in a separate document isn't really a useful separation - see
comment at top).
I'd also suggest using production names that are a bit more evocative; e.g., in
section 3.1.2:
activityExpression ::= "activity" "(" identifier
( "," startTime "," endTime )?
optionalAttributes ")"
startTime ::= timeOrMarker
endTime ::= timeOrMarker
etc.
Section 3.1.6:
The syntax for production startExpression suggests that the trigger, start
activity and time must all be present or all absent. I thought that in
discussion it had been agreed that trailing optional parameters (other than
attributes) could be omitted (though sect5ion 2.3 does not say this - maybe this
changed?). I don't think it's a blocker, but I find the all-or-nothing approach
to optionals is a bit unexpected.
Section 3.7.2
This section introduces reserved attribute names, but there's no indication of
where to look for a description of what they mean.
SECTION 3.7.3.1
This section introduces reserved type values, but there's no indication of where
to look for a description of what they mean.
Section 3.7.4:
"Every qualified name with this prefix in the scope of this declaration refers
to this namespace" - I find the use of "refers" here is a bit confusing - I
would expect the namespace URI to *refer to* the namespace. I'd say something
more like "belongs to" or "is part of".
I would not repeat the namespace URIs here.
Section 4
I think someone else has commented on the presentation of "toplevel bindle". I
also found the presentation a bit confusing. The sort of approach I'd take for
this would probably to have an early (sub-)section something like "ovcerall
structure of PROV-N description" - effectively introducing the distinguished
term of the grammar and its immediate productions - and drop this section 4.
Much of the content could come from the current section 4, but the reference to
"housekeeping construct" can be dropped.
Indeed, it might be as simple as this:
[[
x. Overall structure of PROV-N
A PROV-N expression matches the _bundle_ syntax production.
]]
Section 5:
For this, especially as it's an IETF standards-tree registration, I would expect
the change controller to be W3C, and possibly also the contact.
@sandro: does the W3C maintain email addresses as contact points for IETF
registrations (URI schemes, MIME types, header fields, etc.)?
Encoding considerations:
Further to previous discussions, I propose: "The encoding is always UTF-8 (or
the ASCII subset of UTF-8)"
Security considerations:
**NOTE** I'm going to raise this as a separate issue for cross-document
consideration before last call.
I think most of this material should appear in the PROV-DM document, and simply
be referenced here. Putting it all into the media type registration makes it
seem that it's all a but of an afterthought. Also, I suspect it won't get
reviewed so carefully here, and security is one area which really *needs* as
much review as it can get.
The second paragraph doesn't make sense to me: PROV-N does NOT express arbitrary
application data.
This section ignores (or obscures) the (IMO) fundamental issue that provenance
is intended to be used to make trust decisions, and as such the reliability of
provenance information used must be carefully considered according to the
importance of the decision.
...
End of review comments
#g
--
Received on Monday, 9 July 2012 08:59:03 UTC