--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dictionary/prov-dictionary-grammar.txt Tue Jan 29 14:42:39 2013 +0100
@@ -0,0 +1,145 @@
+
+
+
+
+[1] document ::= "document" (namespaceDeclarations)? (expression)* (bundle)* "endDocument"
+
+[2] ::= ( entityExpression | activityExpression | generationExpression | usageExpression | startExpression | endExpression | invalidationExpression | communicationExpression | agentExpression |
+ expression = associationExpression | attributionExpression | delegationExpression | derivationExpression | influenceExpression | alternateExpression | specializationExpression | membershipExpression |
+ extensibilityExpression )
+[3] entityExpression ::= "entity" "(" identifier optionalAttributeValuePairs ")"
+
+[4] optionalAttributeValuePairs ::= ( "," "[" attributeValuePairs "]" )?
+
+[5] attributeValuePairs ::= ( | attributeValuePair ( "," attributeValuePair )* )
+
+[6] attributeValuePair ::= attribute "=" literal
+
+[7] activityExpression ::= "activity" "(" identifier ( "," timeOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[8] timeOrMarker ::= ( time | "-" )
+
+[9] generationExpression ::= "wasGeneratedBy" "(" optionalIdentifier eIdentifier ( "," aIdentifierOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[10] optionalIdentifier ::= ( identifierOrMarker ";" )?
+
+[11] identifierOrMarker ::= ( identifier | "-" )
+
+[12] usageExpression ::= "used" "(" optionalIdentifier aIdentifier ( "," eIdentifierOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[13] communicationExpression ::= "wasInformedBy" "(" optionalIdentifier aIdentifier "," aIdentifier optionalAttributeValuePairs ")"
+
+[14] startExpression ::= "wasStartedBy" "(" optionalIdentifier aIdentifier ( "," eIdentifierOrMarker "," aIdentifierOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[15] endExpression ::= "wasEndedBy" "(" optionalIdentifier aIdentifier ( "," eIdentifierOrMarker "," aIdentifierOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[16] invalidationExpression ::= "wasInvalidatedBy" "(" optionalIdentifier eIdentifier ( "," aIdentifierOrMarker "," timeOrMarker )? optionalAttributeValuePairs ")"
+
+[17] derivationExpression ::= "wasDerivedFrom" "(" optionalIdentifier eIdentifier "," eIdentifier ( "," aIdentifierOrMarker "," gIdentifierOrMarker "," uIdentifierOrMarker )? optionalAttributeValuePairs ")"
+
+[18] agentExpression ::= "agent" "(" identifier optionalAttributeValuePairs ")"
+
+[19] attributionExpression ::= "wasAttributedTo" "(" optionalIdentifier eIdentifier "," agIdentifier optionalAttributeValuePairs ")"
+
+[20] associationExpression ::= "wasAssociatedWith" "(" optionalIdentifier aIdentifier ( "," agIdentifierOrMarker "," eIdentifierOrMarker )? optionalAttributeValuePairs ")"
+
+[21] delegationExpression ::= "actedOnBehalfOf" "(" optionalIdentifier agIdentifier "," agIdentifier ( "," aIdentifierOrMarker )? optionalAttributeValuePairs ")"
+
+[22] influenceExpression ::= "wasInfluencedBy" "(" optionalIdentifier eIdentifier "," eIdentifier optionalAttributeValuePairs ")"
+
+[23] bundle ::= "bundle" identifier (namespaceDeclarations)? (expression)* "endBundle"
+
+[24] alternateExpression ::= "alternateOf" "(" eIdentifier "," eIdentifier ")"
+
+[25] specializationExpression ::= "specializationOf" "(" eIdentifier "," eIdentifier ")"
+
+[26] membershipExpression ::= "hadMember" "(" cIdentifier "," eIdentifier ")"
+
+[27] eIdentifier ::= identifier
+
+[28] aIdentifier ::= identifier
+
+[29] agIdentifier ::= identifier
+
+[30] gIdentifier ::= identifier
+
+[31] uIdentifier ::= identifier
+
+[32] cIdentifier ::= identifier
+
+[33] eIdentifierOrMarker ::= ( eIdentifier | "-" )
+
+[34] aIdentifierOrMarker ::= ( aIdentifier | "-" )
+
+[35] agIdentifierOrMarker ::= ( agIdentifier | "-" )
+
+[36] gIdentifierOrMarker ::= ( gIdentifier | "-" )
+
+[37] uIdentifierOrMarker ::= ( uIdentifier | "-" )
+
+[38] identifier ::= QUALIFIED_NAME
+
+[39] attribute ::= QUALIFIED_NAME
+
+[40] literal ::= typedLiteral
+ | convenienceNotation
+[41] typedLiteral ::= STRING_LITERAL "%%" datatype
+
+[42] datatype ::= QUALIFIED_NAME
+
+[43] ::= STRING_LITERAL (LANGTAG)?
+ convenienceNotation = | INT_LITERAL
+ | QUALIFIED_NAME_LITERAL
+[44] time ::= DATETIME
+
+[45] namespaceDeclarations ::= ( defaultNamespaceDeclaration | namespaceDeclaration ) (namespaceDeclaration)*
+
+[46] namespaceDeclaration ::= "prefix" PN_PREFIX namespace
+
+[47] defaultNamespaceDeclaration ::= "default" IRI_REF
+
+[48] namespace ::= IRI_REF
+
+[49] extensibilityExpression ::= QUALIFIED_NAME "(" optionalIdentifier extensibilityArgument ( "," extensibilityArgument )* optionalAttributeValuePairs ")"
+
+[50] extensibilityArgument ::= ( identifierOrMarker | literal | time | extensibilityExpression | extensibilityTuple )
+
+[51] extensibilityTuple ::= "{" extensibilityArgument ( "," extensibilityArgument )* "}"
+ | "(" extensibilityArgument ( "," extensibilityArgument )* ")"
+[52] <QUALIFIED_NAME> ::= ( PN_PREFIX ":" )? PN_LOCAL
+ | PN_PREFIX ":"
+[53] <PN_LOCAL> ::= ( PN_CHARS_U | [0-9] | PN_CHARS_OTHERS ) ( (( PN_CHARS | "." | PN_CHARS_OTHERS )* ( PN_CHARS | PN_CHARS_OTHERS ) ))?
+
+ "/"
+ | "@"
+ | "~"
+ | "&"
+ | "+"
+[54] <PN_CHARS_OTHERS> ::= | "*"
+ | "?"
+ | "#"
+ | "$"
+ | "!"
+ | PERCENT
+ | PN_CHARS_ESC
+[55] <PN_CHARS_ESC> ::= "\\" ( "=" | "'" | "(" | ")" | "," | "-" | ":" | ";" | "[" | "]" | "." )
+
+[56] <PERCENT> ::= "%" HEX HEX
+
+[57] ::= [0-9]
+ <HEX> = | [A-F]
+ | [a-f]
+[58] <STRING_LITERAL> ::= STRING_LITERAL2
+ | STRING_LITERAL_LONG2
+[59] <PREFX> ::= PN_PREFIX
+
+[60] <INT_LITERAL> ::= ("-")? (DIGIT)+
+
+[61] <QUALIFIED_NAME_LITERAL> ::= "'" QUALIFIED_NAME "'"
+
+[62] <DIGIT> ::= [0-9]
+
+[63] <DATETIME> ::= DIGIT DIGIT DIGIT DIGIT "-" DIGIT DIGIT "-" DIGIT DIGIT "T" DIGIT DIGIT ":" DIGIT DIGIT ":" DIGIT DIGIT ( "." DIGIT (( DIGIT (DIGIT)? )? ))? (( "Z" | TIMEZONEOFFSET ))?
+
+[64] <TIMEZONEOFFSET> ::= ( "+" | "-" ) DIGIT DIGIT ":" DIGIT DIGIT
+
--- a/dictionary/prov-dictionary.html Tue Jan 29 13:24:00 2013 +0100
+++ b/dictionary/prov-dictionary.html Tue Jan 29 14:42:39 2013 +0100
@@ -997,6 +997,9 @@
<h2>PROV-N Notation of Dictionary Concepts</h2>
The notation used for dictionaries in this document extends the standard PROV-N according to the principles described in <a href="http://www.w3.org/TR/prov-n/#extensibility">the PROV-N extensibility chapter</a>.
However, because dictionaries are defined in the same namespace as the rest of PROV-N, the terms in this document do not have a non-empty prefix. For the remainder of this document, we will assume that the default namespace http://www.w3.org/ns/prov# is used, and thus, no prefix is specified for the terms associated with dictionaries.
+<div class="note">Note that the use of a non-empty prefix for extensions of PROV-N is technically not valid. The terms used in this document can be made valid by the addition of a prefix "prov:" to all PROV-Dictionary terms. However, this would greatly reduce the readability of this document.
+ The Working Group is currently discussing how to address this issue before the next Working Draft of this document.</div>
+
<section id="expression-dictionary">
<h3>Dictionary and EmptyDictionary Expression</h3>
PROV-Dictionary provides no dedicated syntax for Collection and EmptyCollection. Dictionaries are declared in <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#expression-collection">the same way</a> as Collections. A Dictionary or an EmptyDictionary MUST be expressed as an
@@ -1020,7 +1023,7 @@
<span class="name">(</span>
<span class="nonterminal">dIdentifier</span>
<span class="name">,</span>
- <span class="nonterminal">entity</span>
+ <span class="nonterminal">eIdentifier</span>
<span class="name">,</span>
<span class="nonterminal">key</span>
<span class="name">)</span>
@@ -1188,20 +1191,20 @@
For the notation of dictionaries, we used some new non-terminals. We provide their production rules here.
<div class="grammar">
- <p id="prod-dIdentifier"><span class="nonterminal">dIdentifier</span> ::=
- <span class="name"><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-identifier" class="grammarRef">identifier</a></span> </p>
+<p id="prod-dIdentifier"><span class="nonterminal">dIdentifier</span> ::=
+ <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-identifier" class="nonterminal">identifier</a> </p>
- <p id="prod-key"><span class="nonterminal">key</span> ::=
- <span class="name"><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-literal" class="grammarRef">literal</a></span> </p>
+<p id="prod-key"><span class="nonterminal">key</span> ::=
+ <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-literal" class="nonterminal">literal</a> </p>
<p id="prod-keyValuePairs"><span class="nonterminal">keyValuePairs</span> ::=
- <span class="name"><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-keyValuePair" class="grammarRef">keyValuePair</a> ( "," <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-keyValuePair" class="grammarRef">keyValuePair</a> )*</span> </p>
+ <a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a> <span class="star"><span class="name">,</span> <a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a></span> </p>
<p id="prod-keyValuePair"><span class="nonterminal">keyValuePair</span> ::=
- <span class="name">( <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-key" class="grammarRef">key</a> , <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier" class="grammarRef">eIdentifier</a> )</span> </p>
+ <span class="name">(</span> <a href="#prod-key" class="nonterminal">key</a> <span class="name">,</span> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier" class="nonterminal">eIdentifier</a> <span class="name">)</span> </p>
<p id="prod-keySet"><span class="nonterminal">keySet</span> ::=
- <span class="name"><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-key" class="grammarRef">key</a> ( "," <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-key" class="grammarRef">key</a> )*</span> </p>
+ <a href="#prod-key" class="nonterminal">key</a> <span class="star"><span class="name">,</span> <a href="#prod-key" class="nonterminal">key</a></span> </p>
</div>
</section> <!-- other -->
@@ -1213,7 +1216,7 @@
<p>In this section, the ontological definition of <code>prov:Dictionary</code> is given, in order to extend [[PROV-O]] with dictionaries. For more information on the terminology, syntax and conventions used in this section, we refer to [[PROV-O]]</p>
<p>The classes and properties defined in this document will be included in the default namespace of PROV.
Users of the ontology have the option of importing <code><http://www.w3.org/ns/prov#></code>, which includes all extensions, including PROV-Dictionary, or if they wish to have only [[PROV-O]] terms, they can import <code><http://www.w3.org/ns/prov-o#></code>. Similarly, <code><http://www.w3.org/ns/prov-dictionary#></code> holds only the PROV-Dictionary terms.
-The owl-file of PROV-Dictionary is available for download <a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.owl">here</a>. (Note that this file is unfinished at the time of this working draft, and may be subject to change.)</p>
+The [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.owl">OWL file for PROV-Dictionary</a>] is available for download. (Note that this file is unfinished at the time of this working draft, and may be subject to change.)</p>
<p> A <code><a class="qname"
href='#Dictionary'>prov:Dictionary</a></code> is a <code
@@ -2439,7 +2442,8 @@
<section id="dictionary-xml-schema">
<h2>PROV-XML Representation of Dictionary</h2>
This section details how to describe dictionaries with
-the [[PROV-XML]] serialization. The XML schema for PROV-Dictionary is available for download <a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.xsd">here</a>.
+the [[PROV-XML]] serialization. The [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.xsd">XML schema for PROV-Dictionary</a>] is available for download.
+<div class="note">The Working Group is currently discussing the best way of disseminating the XML Schema for PROV-DM and its extensions. For now, we recommend importing both the [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#prov-xml-schema">PROV-XML Schema</a>] and the [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.xsd">XML schema for PROV-Dictionary</a>].</div>
<section id="term-Dictionary">
<h3>Dictionary</h3>
<div class="glossary-ref" data-ref="glossary-dictionary"></div>