--- a/model/grammar/Makefile Thu May 10 10:48:22 2012 +0100
+++ b/model/grammar/Makefile Thu May 10 13:07:21 2012 +0100
@@ -20,4 +20,8 @@
cd yack; perl -Mprov_n -e test < sample2.in 3> sample2.trace
+run2:
+ cd yack; perl -Mprov_n -e test < sample3.in 3> sample3.trace
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/grammar/yack/prov-n-LL.bnf Thu May 10 13:07:21 2012 +0100
@@ -0,0 +1,196 @@
+
+[2] bundle ::= "bundle" namespaceDeclarations? expression* (namedBundle namedBundle*)? "endBundle"
+
+[3] namedBundle ::= "bundle" identifier (namespaceDeclarations)? (expression)* "endBundle"
+
+[4] namespaceDeclarations ::= (defaultNamespaceDeclaration | namespaceDeclaration) namespaceDeclaration*
+
+[5] namespaceDeclaration ::= "prefix" QNAME namespace
+
+[6] namespace ::= IRI_REF
+
+[7] defaultNamespaceDeclaration ::= "default" IRI_REF
+
+[10] expression::=
+ (
+
+ entityExpression | activityExpression | generationExpression | usageExpression
+ | startExpression | endExpression | invalidationExpression | communicationExpression | startByActivityExpression
+ | agentExpression | associationExpression | attributionExpression | responsibilityExpression
+ | derivationExpression | tracedToExpression | hadOriginalSourceExpression | quotationExpression | revisionExpression
+ | alternateExpression | specializationExpression
+ )
+
+
+[11] entityExpression::= "entity" "(" identifier optionalAttributeValuePairs ")"
+
+[12] activityExpression::= "activity" "(" identifier ("," timeOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+generationExpression::= "wasGeneratedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+
+timeOrMarker::=(timeZZ | "-")
+
+identifierOrMarker::=(identifier | "-")
+
+optionalIdentifier::=(identifierOrMarker ";")?
+
+usageExpression::= "used" "(" optionalIdentifier identifier "," identifier ("," timeOrMarker)? optionalAttributeValuePairs ")"
+
+startExpression::= "wasStartedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+
+
+
+endExpression::= "wasEndedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+
+invalidationExpression::= "wasInvalidatedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+
+
+communicationExpression::= "wasInformedBy" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+
+
+startByActivityExpression::= "wasStartedByActivity" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+
+
+agentExpression::= "agent" "(" identifier optionalAttributeValuePairs ")"
+
+attributionExpression::= "wasAttributedTo" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+
+associationExpression::= "wasAssociatedWith" "(" optionalIdentifier identifier "," identifierOrMarker ("," identifierOrMarker)? optionalAttributeValuePairs ")"
+
+
+responsibilityExpression::= "actedOnBehalfOf" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker)? optionalAttributeValuePairs ")"
+
+
+
+derivationExpression::= "wasDerivedFrom" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+
+
+
+revisionExpression::= "wasRevisionOf" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+
+
+
+quotationExpression::= "wasQuotedFrom" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+
+
+hadOriginalSourceExpression::= "hadOriginalSource" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+
+
+tracedToExpression::= "tracedTo" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ')'
+
+alternateExpression::= "alternateOf" "(" identifier "," identifier ")"
+
+specializationExpression::= "specializationOf" "(" identifier "," identifier ")"
+
+
+optionalAttributeValuePairs::= ("," "[" attributeValuePairs "]")?
+
+identifier ::=QNAME
+attribute ::=QNAME
+attributeValuePairs::= ( | attributeValuePair ( "," attributeValuePair )* )
+
+attributeValuePair::= attribute '=' literal
+
+
+timeZZ::= ISODATETIME
+
+
+
+
+
+
+
+
+
+
+
+
+
+[13] literal ::= StringLiteral | INTLITERAL | StringLiteral "%%" datatype
+
+datatype::= IRI_REF | QNAME
+
+
+[66s] StringLiteral ::= STRING_LITERAL
+
+
+
+
+@terminals
+QNAME::= (PN_PREFIX ":")? PN_LOCAL | PN_PREFIX ":"
+
+PREFX::= PN_PREFIX
+DIGIT::=[0-9]
+ISODATETIME::= DIGIT DIGIT DIGIT DIGIT "-" DIGIT DIGIT "-" DIGIT DIGIT "T" DIGIT DIGIT ":" DIGIT DIGIT ":" DIGIT DIGIT ("." DIGIT (DIGIT DIGIT?)?)? ("Z" | TIMEZONEOFFSET)?
+
+TIMEZONEOFFSET::= ("+" | "-") DIGIT DIGIT ":" DIGIT DIGIT;
+
+
+
+
+[18] PREFIX ::= "@prefix"
+
+[70s] IRI_REF ::= "<" ( [^<>\"{}|^`\\] - [#x00-#x20] | UCHAR )* ">"
+
+
+INTLITERAL::= '-'? DIGIT+
+
+
+
+[149s] STRING_LITERAL ::= '"' ( ( [^#x22#x5C#xA#xD]) | ECHAR | UCHAR )* '"'
+
+
+
+[19] UCHAR ::= ( "\\u" HEX HEX HEX HEX )
+ | ( "\\U" HEX HEX HEX HEX HEX HEX HEX HEX )
+
+[91s] ECHAR ::= "\\" [tbnrf\\\"']
+
+[92s] NIL ::= "(" (WS)* ")"
+
+[93s] WS ::= " "
+ | "\t"
+ | "\r"
+ | "\n"
+[94s] ANON ::= "[" (WS)* "]"
+
+[95s] PN_CHARS_BASE ::= [A-Z]
+ | [a-z]
+ | [#00C0-#00D6]
+ | [#00D8-#00F6]
+ | [#00F8-#02FF]
+ | [#0370-#037D]
+ | [#037F-#1FFF]
+ | [#200C-#200D]
+ | [#2070-#218F]
+ | [#2C00-#2FEF]
+ | [#3001-#D7FF]
+ | [#F900-#FDCF]
+ | [#FDF0-#FFFD]
+ | [#10000-#EFFFF]
+[96s] PN_CHARS_U ::= PN_CHARS_BASE
+ | "_"
+[98s] PN_CHARS ::= PN_CHARS_U
+ | "-"
+ | [0-9]
+ | #00B7
+ | [#0300-#036F]
+ | [#203F-#2040]
+[99s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )?
+
+[100s] PN_LOCAL ::= ( PN_CHARS_U | [0-9] | PLX ) ( ( PN_CHARS | '.' | PLX )* ( PN_CHARS | PLX ) ) ?
+
+[160s] PLX ::= PERCENT | PN_LOCAL_ESC
+
+[161s] PERCENT ::= '%' HEX HEX
+
+[162s] HEX ::= [0-9] | [A-F] | [a-f]
+
+[163s] PN_LOCAL_ESC ::= '\\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | ':' | '/' | '?' | '#' | '@' | '%' )
+
+@pass ::= [ \t\r\n]+
+ | "#" [^\r\n]*
\ No newline at end of file
--- a/model/grammar/yack/prov-n.bnf Thu May 10 10:48:22 2012 +0100
+++ b/model/grammar/yack/prov-n.bnf Thu May 10 13:07:21 2012 +0100
@@ -24,63 +24,90 @@
[11] entityExpression::= "entity" "(" identifier optionalAttributeValuePairs ")"
-[12] activityExpression::= "activity" "(" identifier ("," timeOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+[12] activityExpression::= "activity" "(" identifier activityOptionals ")"
-generationExpression::= "wasGeneratedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+
+activityOptionals ::= | "," "[" attributeValuePairs "]" | "," activityTimes ("," "[" attributeValuePairs "]")?
+activityTimes ::= timeOrMarker "," timeOrMarker
+
+
+generationExpression::= "wasGeneratedBy" "(" identifier identifierAndTimeAndAttributeOptionals ")"
+| "wasGeneratedBy" "(" identifierOrMarker ";" identifier identifierAndTimeAndAttributeOptionals ")"
+
+identifierAndTimeAndAttributeOptionals ::= | "," "[" attributeValuePairs "]" | "," identifierOrMarker "," timeOrMarker ("," "[" attributeValuePairs "]")?
+
+identifierAndAttributeOptionals ::= | "," "[" attributeValuePairs "]" | "," identifierOrMarker ("," "[" attributeValuePairs "]")?
+
+threeIdentifiersAndAttributeOptionals ::= | "," "[" attributeValuePairs "]" | "," identifierOrMarker "," identifierOrMarker "," identifierOrMarker ("," "[" attributeValuePairs "]")?
+
+timeAndAttributeOptionals ::= | "," "[" attributeValuePairs "]" | "," timeOrMarker ("," "[" attributeValuePairs "]")?
+
+
timeOrMarker::=(timeZZ | "-")
identifierOrMarker::=(identifier | "-")
-optionalIdentifier::=(identifierOrMarker ";")?
-usageExpression::= "used" "(" optionalIdentifier identifier "," identifier ("," timeOrMarker)? optionalAttributeValuePairs ")"
+usageExpression::= "used" "(" identifier "," identifier timeAndAttributeOptionals ")"
+| "used" "(" identifierOrMarker ";" identifier "," identifier timeAndAttributeOptionals ")"
-startExpression::= "wasStartedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+startExpression::= "wasStartedBy" "(" identifier identifierAndTimeAndAttributeOptionals ")"
+| "wasStartedBy" "(" identifierOrMarker ";" identifier identifierAndTimeAndAttributeOptionals ")"
-endExpression::= "wasEndedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+endExpression::= "wasEndedBy" "(" identifier identifierAndTimeAndAttributeOptionals ")"
+| "wasEndedBy" "(" identifierOrMarker ";" identifier identifierAndTimeAndAttributeOptionals ")"
-invalidationExpression::= "wasInvalidatedBy" "(" optionalIdentifier identifier ("," identifierOrMarker "," timeOrMarker)? optionalAttributeValuePairs ")"
+invalidationExpression::= "wasInvalidatedBy" "(" identifier identifierAndTimeAndAttributeOptionals ")"
+| "wasInvalidatedBy" "(" identifierOrMarker ";" identifier identifierAndTimeAndAttributeOptionals ")"
-communicationExpression::= "wasInformedBy" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+communicationExpression::= "wasInformedBy" "(" identifier "," identifier optionalAttributeValuePairs ")"
+| "wasInformedBy" "(" identifierOrMarker ";" identifier "," identifier optionalAttributeValuePairs ")"
-startByActivityExpression::= "wasStartedByActivity" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+startByActivityExpression::= "wasStartedByActivity" "(" identifier "," identifier optionalAttributeValuePairs ")"
+| "wasStartedByActivity" "(" identifierOrMarker ";" identifier "," identifier optionalAttributeValuePairs ")"
agentExpression::= "agent" "(" identifier optionalAttributeValuePairs ")"
-attributionExpression::= "wasAttributedTo" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ")"
+attributionExpression::= "wasAttributedTo" "(" identifier "," identifier optionalAttributeValuePairs ")"
+| "wasAttributedTo" "(" identifierOrMarker ";" identifier "," identifier optionalAttributeValuePairs ")"
-associationExpression::= "wasAssociatedWith" "(" optionalIdentifier identifier "," identifierOrMarker ("," identifierOrMarker)? optionalAttributeValuePairs ")"
+associationExpression::= "wasAssociatedWith" "(" identifier "," identifierOrMarker identifierAndAttributeOptionals ")"
+|"wasAssociatedWith" "(" identifierOrMarker ";" identifier "," identifierOrMarker identifierAndAttributeOptionals ")"
-responsibilityExpression::= "actedOnBehalfOf" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker)? optionalAttributeValuePairs ")"
+responsibilityExpression::= "actedOnBehalfOf" "(" identifier "," identifier identifierAndAttributeOptionals ")"
+| "actedOnBehalfOf" "(" identifierOrMarker ";" identifier "," identifier identifierAndAttributeOptionals ")"
-derivationExpression::= "wasDerivedFrom" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+derivationExpression::= "wasDerivedFrom" "(" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
+| "wasDerivedFrom" "(" identifierOrMarker ";" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
-revisionExpression::= "wasRevisionOf" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
-
+revisionExpression::= "wasRevisionOf" "(" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
+| "wasRevisionOf" "(" identifierOrMarker ";" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
-quotationExpression::= "wasQuotedFrom" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
+quotationExpression::= "wasQuotedFrom" "(" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
+| "wasQuotedFrom" "(" identifierOrMarker ";" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
+
+hadOriginalSourceExpression::= "hadOriginalSource" "(" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
+| "hadOriginalSource" "(" identifierOrMarker ";" identifier "," identifier threeIdentifiersAndAttributeOptionals ")"
-hadOriginalSourceExpression::= "hadOriginalSource" "(" optionalIdentifier identifier "," identifier ("," identifierOrMarker "," identifierOrMarker "," identifierOrMarker )? optionalAttributeValuePairs ")"
-
-
-tracedToExpression::= "tracedTo" "(" optionalIdentifier identifier "," identifier optionalAttributeValuePairs ')'
+tracedToExpression::= "tracedTo" "(" identifier "," identifier optionalAttributeValuePairs ")"
+| "tracedTo" "(" identifierOrMarker ";" identifier "," identifier optionalAttributeValuePairs ")"
alternateExpression::= "alternateOf" "(" identifier "," identifier ")"
--- a/model/grammar/yack/prov_n.html Thu May 10 10:48:22 2012 +0100
+++ b/model/grammar/yack/prov_n.html Thu May 10 13:07:21 2012 +0100
@@ -175,22 +175,33 @@
<td><a id="prod-prov_n-activityExpression" name="prod-prov_n-activityExpression"></a>[<span class="prodNo">17</span>] </td>
<td><code class="production prod">activityExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "activity" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "activity" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-activityOptionals">activityOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen10" name="prod-prov_n-gen10"></a>[<span class="prodNo">18</span>] </td>
-<td><code class="production prod">gen10</code></td>
+<td><a id="prod-prov_n-activityOptionals" name="prod-prov_n-activityOptionals"></a>[<span class="prodNo">18</span>] </td>
+<td><code class="production prod">activityOptionals</code></td>
<td> ::= </td>
-<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span></code></td>
+<td><code class="content">
+ | "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"
+ | "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-activityTimes">activityTimes</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen11" name="prod-prov_n-gen11"></a>[<span class="prodNo">19</span>] </td>
+<td><a id="prod-prov_n-gen10" name="prod-prov_n-gen10"></a>[<span class="prodNo">19</span>] </td>
+<td><code class="production prod">gen10</code></td>
+<td> ::= </td>
+<td><code class="content"> "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"</code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-gen11" name="prod-prov_n-gen11"></a>[<span class="prodNo">20</span>] </td>
<td><code class="production prod">gen11</code></td>
<td> ::= </td>
<td><code class="content">
@@ -200,45 +211,80 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-generationExpression" name="prod-prov_n-generationExpression"></a>[<span class="prodNo">20</span>] </td>
-<td><code class="production prod">generationExpression</code></td>
+<td><a id="prod-prov_n-activityTimes" name="prod-prov_n-activityTimes"></a>[<span class="prodNo">21</span>] </td>
+<td><code class="production prod">activityTimes</code></td>
<td> ::= </td>
-<td><code class="content"> "wasGeneratedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen13">gen13</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen12" name="prod-prov_n-gen12"></a>[<span class="prodNo">21</span>] </td>
-<td><code class="production prod">gen12</code></td>
-<td> ::= </td>
-<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span></code></td>
+<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen13" name="prod-prov_n-gen13"></a>[<span class="prodNo">22</span>] </td>
-<td><code class="production prod">gen13</code></td>
+<td><a id="prod-prov_n-generationExpression" name="prod-prov_n-generationExpression"></a>[<span class="prodNo">22</span>] </td>
+<td><code class="production prod">generationExpression</code></td>
<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen12">gen12</a></span></code></td>
+<td><code class="content"> "wasGeneratedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"
+ | "wasGeneratedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-timeOrMarker" name="prod-prov_n-timeOrMarker"></a>[<span class="prodNo">23</span>] </td>
-<td><code class="production prod">timeOrMarker</code></td>
+<td><a id="prod-prov_n-identifierAndTimeAndAttributeOptionals" name="prod-prov_n-identifierAndTimeAndAttributeOptionals"></a>[<span class="prodNo">23</span>] </td>
+<td><code class="production prod">identifierAndTimeAndAttributeOptionals</code></td>
<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen14">gen14</a></span></code></td>
+<td><code class="content">
+ | "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"
+ | "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen14" name="prod-prov_n-gen14"></a>[<span class="prodNo">24</span>] </td>
-<td><code class="production prod">gen14</code></td>
+<td><a id="prod-prov_n-identifierAndAttributeOptionals" name="prod-prov_n-identifierAndAttributeOptionals"></a>[<span class="prodNo">24</span>] </td>
+<td><code class="production prod">identifierAndAttributeOptionals</code></td>
+<td> ::= </td>
+<td><code class="content">
+ | "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"
+ | "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-threeIdentifiersAndAttributeOptionals" name="prod-prov_n-threeIdentifiersAndAttributeOptionals"></a>[<span class="prodNo">25</span>] </td>
+<td><code class="production prod">threeIdentifiersAndAttributeOptionals</code></td>
+<td> ::= </td>
+<td><code class="content">
+ | "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"
+ | "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-timeAndAttributeOptionals" name="prod-prov_n-timeAndAttributeOptionals"></a>[<span class="prodNo">26</span>] </td>
+<td><code class="production prod">timeAndAttributeOptionals</code></td>
+<td> ::= </td>
+<td><code class="content">
+ | "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"
+ | "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-timeOrMarker" name="prod-prov_n-timeOrMarker"></a>[<span class="prodNo">27</span>] </td>
+<td><code class="production prod">timeOrMarker</code></td>
+<td> ::= </td>
+<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen20">gen20</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-gen20" name="prod-prov_n-gen20"></a>[<span class="prodNo">28</span>] </td>
+<td><code class="production prod">gen20</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeZZ">timeZZ</a></span>
| "-"</code></td>
@@ -247,17 +293,17 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-identifierOrMarker" name="prod-prov_n-identifierOrMarker"></a>[<span class="prodNo">25</span>] </td>
+<td><a id="prod-prov_n-identifierOrMarker" name="prod-prov_n-identifierOrMarker"></a>[<span class="prodNo">29</span>] </td>
<td><code class="production prod">identifierOrMarker</code></td>
<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen15">gen15</a></span></code></td>
+<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen21">gen21</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen15" name="prod-prov_n-gen15"></a>[<span class="prodNo">26</span>] </td>
-<td><code class="production prod">gen15</code></td>
+<td><a id="prod-prov_n-gen21" name="prod-prov_n-gen21"></a>[<span class="prodNo">30</span>] </td>
+<td><code class="production prod">gen21</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span>
| "-"</code></td>
@@ -266,108 +312,67 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-optionalIdentifier" name="prod-prov_n-optionalIdentifier"></a>[<span class="prodNo">27</span>] </td>
-<td><code class="production prod">optionalIdentifier</code></td>
-<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen17">gen17</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen16" name="prod-prov_n-gen16"></a>[<span class="prodNo">28</span>] </td>
-<td><code class="production prod">gen16</code></td>
-<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen17" name="prod-prov_n-gen17"></a>[<span class="prodNo">29</span>] </td>
-<td><code class="production prod">gen17</code></td>
-<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen16">gen16</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-usageExpression" name="prod-prov_n-usageExpression"></a>[<span class="prodNo">30</span>] </td>
+<td><a id="prod-prov_n-usageExpression" name="prod-prov_n-usageExpression"></a>[<span class="prodNo">31</span>] </td>
<td><code class="production prod">usageExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "used" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen19">gen19</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen18" name="prod-prov_n-gen18"></a>[<span class="prodNo">31</span>] </td>
-<td><code class="production prod">gen18</code></td>
-<td> ::= </td>
-<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeOrMarker">timeOrMarker</a></span></code></td>
+<td><code class="content"> "used" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeAndAttributeOptionals">timeAndAttributeOptionals</a></span> ")"
+ | "used" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-timeAndAttributeOptionals">timeAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen19" name="prod-prov_n-gen19"></a>[<span class="prodNo">32</span>] </td>
-<td><code class="production prod">gen19</code></td>
-<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen18">gen18</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-startExpression" name="prod-prov_n-startExpression"></a>[<span class="prodNo">33</span>] </td>
+<td><a id="prod-prov_n-startExpression" name="prod-prov_n-startExpression"></a>[<span class="prodNo">32</span>] </td>
<td><code class="production prod">startExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasStartedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen13">gen13</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-endExpression" name="prod-prov_n-endExpression"></a>[<span class="prodNo">34</span>] </td>
-<td><code class="production prod">endExpression</code></td>
-<td> ::= </td>
-<td><code class="content"> "wasEndedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen13">gen13</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasStartedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"
+ | "wasStartedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-invalidationExpression" name="prod-prov_n-invalidationExpression"></a>[<span class="prodNo">35</span>] </td>
-<td><code class="production prod">invalidationExpression</code></td>
+<td><a id="prod-prov_n-endExpression" name="prod-prov_n-endExpression"></a>[<span class="prodNo">33</span>] </td>
+<td><code class="production prod">endExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasInvalidatedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen13">gen13</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasEndedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"
+ | "wasEndedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-communicationExpression" name="prod-prov_n-communicationExpression"></a>[<span class="prodNo">36</span>] </td>
-<td><code class="production prod">communicationExpression</code></td>
+<td><a id="prod-prov_n-invalidationExpression" name="prod-prov_n-invalidationExpression"></a>[<span class="prodNo">34</span>] </td>
+<td><code class="production prod">invalidationExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasInformedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasInvalidatedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"
+ | "wasInvalidatedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndTimeAndAttributeOptionals">identifierAndTimeAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-startByActivityExpression" name="prod-prov_n-startByActivityExpression"></a>[<span class="prodNo">37</span>] </td>
-<td><code class="production prod">startByActivityExpression</code></td>
+<td><a id="prod-prov_n-communicationExpression" name="prod-prov_n-communicationExpression"></a>[<span class="prodNo">35</span>] </td>
+<td><code class="production prod">communicationExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasStartedByActivity" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasInformedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"
+ | "wasInformedBy" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-agentExpression" name="prod-prov_n-agentExpression"></a>[<span class="prodNo">38</span>] </td>
+<td><a id="prod-prov_n-startByActivityExpression" name="prod-prov_n-startByActivityExpression"></a>[<span class="prodNo">36</span>] </td>
+<td><code class="production prod">startByActivityExpression</code></td>
+<td> ::= </td>
+<td><code class="content"> "wasStartedByActivity" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"
+ | "wasStartedByActivity" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-agentExpression" name="prod-prov_n-agentExpression"></a>[<span class="prodNo">37</span>] </td>
<td><code class="production prod">agentExpression</code></td>
<td> ::= </td>
<td><code class="content"> "agent" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
@@ -376,117 +381,87 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-attributionExpression" name="prod-prov_n-attributionExpression"></a>[<span class="prodNo">39</span>] </td>
+<td><a id="prod-prov_n-attributionExpression" name="prod-prov_n-attributionExpression"></a>[<span class="prodNo">38</span>] </td>
<td><code class="production prod">attributionExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasAttributedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-associationExpression" name="prod-prov_n-associationExpression"></a>[<span class="prodNo">40</span>] </td>
-<td><code class="production prod">associationExpression</code></td>
-<td> ::= </td>
-<td><code class="content"> "wasAssociatedWith" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen27">gen27</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen26" name="prod-prov_n-gen26"></a>[<span class="prodNo">41</span>] </td>
-<td><code class="production prod">gen26</code></td>
-<td> ::= </td>
-<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen27" name="prod-prov_n-gen27"></a>[<span class="prodNo">42</span>] </td>
-<td><code class="production prod">gen27</code></td>
-<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen26">gen26</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-responsibilityExpression" name="prod-prov_n-responsibilityExpression"></a>[<span class="prodNo">43</span>] </td>
-<td><code class="production prod">responsibilityExpression</code></td>
-<td> ::= </td>
-<td><code class="content"> "actedOnBehalfOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen27">gen27</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-derivationExpression" name="prod-prov_n-derivationExpression"></a>[<span class="prodNo">44</span>] </td>
-<td><code class="production prod">derivationExpression</code></td>
-<td> ::= </td>
-<td><code class="content"> "wasDerivedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen31">gen31</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasAttributedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"
+ | "wasAttributedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen30" name="prod-prov_n-gen30"></a>[<span class="prodNo">45</span>] </td>
-<td><code class="production prod">gen30</code></td>
+<td><a id="prod-prov_n-associationExpression" name="prod-prov_n-associationExpression"></a>[<span class="prodNo">39</span>] </td>
+<td><code class="production prod">associationExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen31" name="prod-prov_n-gen31"></a>[<span class="prodNo">46</span>] </td>
-<td><code class="production prod">gen31</code></td>
-<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen30">gen30</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-revisionExpression" name="prod-prov_n-revisionExpression"></a>[<span class="prodNo">47</span>] </td>
-<td><code class="production prod">revisionExpression</code></td>
-<td> ::= </td>
-<td><code class="content"> "wasRevisionOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen31">gen31</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasAssociatedWith" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndAttributeOptionals">identifierAndAttributeOptionals</a></span> ")"
+ | "wasAssociatedWith" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndAttributeOptionals">identifierAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-quotationExpression" name="prod-prov_n-quotationExpression"></a>[<span class="prodNo">48</span>] </td>
-<td><code class="production prod">quotationExpression</code></td>
+<td><a id="prod-prov_n-responsibilityExpression" name="prod-prov_n-responsibilityExpression"></a>[<span class="prodNo">40</span>] </td>
+<td><code class="production prod">responsibilityExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "wasQuotedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen31">gen31</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "actedOnBehalfOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndAttributeOptionals">identifierAndAttributeOptionals</a></span> ")"
+ | "actedOnBehalfOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierAndAttributeOptionals">identifierAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-hadOriginalSourceExpression" name="prod-prov_n-hadOriginalSourceExpression"></a>[<span class="prodNo">49</span>] </td>
-<td><code class="production prod">hadOriginalSourceExpression</code></td>
+<td><a id="prod-prov_n-derivationExpression" name="prod-prov_n-derivationExpression"></a>[<span class="prodNo">41</span>] </td>
+<td><code class="production prod">derivationExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "hadOriginalSource" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen31">gen31</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasDerivedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"
+ | "wasDerivedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-tracedToExpression" name="prod-prov_n-tracedToExpression"></a>[<span class="prodNo">50</span>] </td>
-<td><code class="production prod">tracedToExpression</code></td>
+<td><a id="prod-prov_n-revisionExpression" name="prod-prov_n-revisionExpression"></a>[<span class="prodNo">42</span>] </td>
+<td><code class="production prod">revisionExpression</code></td>
<td> ::= </td>
-<td><code class="content"> "tracedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalIdentifier">optionalIdentifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+<td><code class="content"> "wasRevisionOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"
+ | "wasRevisionOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"</code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-alternateExpression" name="prod-prov_n-alternateExpression"></a>[<span class="prodNo">51</span>] </td>
+<td><a id="prod-prov_n-quotationExpression" name="prod-prov_n-quotationExpression"></a>[<span class="prodNo">43</span>] </td>
+<td><code class="production prod">quotationExpression</code></td>
+<td> ::= </td>
+<td><code class="content"> "wasQuotedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"
+ | "wasQuotedFrom" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"</code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-hadOriginalSourceExpression" name="prod-prov_n-hadOriginalSourceExpression"></a>[<span class="prodNo">44</span>] </td>
+<td><code class="production prod">hadOriginalSourceExpression</code></td>
+<td> ::= </td>
+<td><code class="content"> "hadOriginalSource" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"
+ | "hadOriginalSource" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-threeIdentifiersAndAttributeOptionals">threeIdentifiersAndAttributeOptionals</a></span> ")"</code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-tracedToExpression" name="prod-prov_n-tracedToExpression"></a>[<span class="prodNo">45</span>] </td>
+<td><code class="production prod">tracedToExpression</code></td>
+<td> ::= </td>
+<td><code class="content"> "tracedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"
+ | "tracedTo" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifierOrMarker">identifierOrMarker</a></span> ";" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-optionalAttributeValuePairs">optionalAttributeValuePairs</a></span> ")"</code></td>
+</tr>
+</tbody>
+
+<tbody class="prod">
+<tr valign="baseline">
+<td><a id="prod-prov_n-alternateExpression" name="prod-prov_n-alternateExpression"></a>[<span class="prodNo">46</span>] </td>
<td><code class="production prod">alternateExpression</code></td>
<td> ::= </td>
<td><code class="content"> "alternateOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> ")"</code></td>
@@ -495,7 +470,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-specializationExpression" name="prod-prov_n-specializationExpression"></a>[<span class="prodNo">52</span>] </td>
+<td><a id="prod-prov_n-specializationExpression" name="prod-prov_n-specializationExpression"></a>[<span class="prodNo">47</span>] </td>
<td><code class="production prod">specializationExpression</code></td>
<td> ::= </td>
<td><code class="content"> "specializationOf" "(" <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-identifier">identifier</a></span> ")"</code></td>
@@ -504,35 +479,16 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-optionalAttributeValuePairs" name="prod-prov_n-optionalAttributeValuePairs"></a>[<span class="prodNo">53</span>] </td>
+<td><a id="prod-prov_n-optionalAttributeValuePairs" name="prod-prov_n-optionalAttributeValuePairs"></a>[<span class="prodNo">48</span>] </td>
<td><code class="production prod">optionalAttributeValuePairs</code></td>
<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen39">gen39</a></span></code></td>
+<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen11">gen11</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen38" name="prod-prov_n-gen38"></a>[<span class="prodNo">54</span>] </td>
-<td><code class="production prod">gen38</code></td>
-<td> ::= </td>
-<td><code class="content"> "," "[" <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePairs">attributeValuePairs</a></span> "]"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-gen39" name="prod-prov_n-gen39"></a>[<span class="prodNo">55</span>] </td>
-<td><code class="production prod">gen39</code></td>
-<td> ::= </td>
-<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen38">gen38</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-prov_n-identifier" name="prod-prov_n-identifier"></a>[<span class="prodNo">56</span>] </td>
+<td><a id="prod-prov_n-identifier" name="prod-prov_n-identifier"></a>[<span class="prodNo">49</span>] </td>
<td><code class="production prod">identifier</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-QNAME">QNAME</a></span></code></td>
@@ -541,7 +497,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-attribute" name="prod-prov_n-attribute"></a>[<span class="prodNo">57</span>] </td>
+<td><a id="prod-prov_n-attribute" name="prod-prov_n-attribute"></a>[<span class="prodNo">50</span>] </td>
<td><code class="production prod">attribute</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-QNAME">QNAME</a></span></code></td>
@@ -550,17 +506,17 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-attributeValuePairs" name="prod-prov_n-attributeValuePairs"></a>[<span class="prodNo">58</span>] </td>
+<td><a id="prod-prov_n-attributeValuePairs" name="prod-prov_n-attributeValuePairs"></a>[<span class="prodNo">51</span>] </td>
<td><code class="production prod">attributeValuePairs</code></td>
<td> ::= </td>
-<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen42">gen42</a></span></code></td>
+<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen26">gen26</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen40" name="prod-prov_n-gen40"></a>[<span class="prodNo">59</span>] </td>
-<td><code class="production prod">gen40</code></td>
+<td><a id="prod-prov_n-gen24" name="prod-prov_n-gen24"></a>[<span class="prodNo">52</span>] </td>
+<td><code class="production prod">gen24</code></td>
<td> ::= </td>
<td><code class="content"> "," <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePair">attributeValuePair</a></span></code></td>
</tr>
@@ -568,27 +524,27 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen41" name="prod-prov_n-gen41"></a>[<span class="prodNo">60</span>] </td>
-<td><code class="production prod">gen41</code></td>
+<td><a id="prod-prov_n-gen25" name="prod-prov_n-gen25"></a>[<span class="prodNo">53</span>] </td>
+<td><code class="production prod">gen25</code></td>
<td> ::= </td>
<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen41">gen41</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen40">gen40</a></span></code></td>
+ | <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen25">gen25</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen24">gen24</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-gen42" name="prod-prov_n-gen42"></a>[<span class="prodNo">61</span>] </td>
-<td><code class="production prod">gen42</code></td>
+<td><a id="prod-prov_n-gen26" name="prod-prov_n-gen26"></a>[<span class="prodNo">54</span>] </td>
+<td><code class="production prod">gen26</code></td>
<td> ::= </td>
<td><code class="content">
- | <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePair">attributeValuePair</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen41">gen41</a></span></code></td>
+ | <span class="prod"><a class="grammarRef" href="#prod-prov_n-attributeValuePair">attributeValuePair</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-gen25">gen25</a></span></code></td>
</tr>
</tbody>
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-attributeValuePair" name="prod-prov_n-attributeValuePair"></a>[<span class="prodNo">62</span>] </td>
+<td><a id="prod-prov_n-attributeValuePair" name="prod-prov_n-attributeValuePair"></a>[<span class="prodNo">55</span>] </td>
<td><code class="production prod">attributeValuePair</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-attribute">attribute</a></span> "=" <span class="prod"><a class="grammarRef" href="#prod-prov_n-literal">literal</a></span></code></td>
@@ -597,7 +553,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-timeZZ" name="prod-prov_n-timeZZ"></a>[<span class="prodNo">63</span>] </td>
+<td><a id="prod-prov_n-timeZZ" name="prod-prov_n-timeZZ"></a>[<span class="prodNo">56</span>] </td>
<td><code class="production prod">timeZZ</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-ISODATETIME">ISODATETIME</a></span></code></td>
@@ -606,7 +562,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-literal" name="prod-prov_n-literal"></a>[<span class="prodNo">64</span>] </td>
+<td><a id="prod-prov_n-literal" name="prod-prov_n-literal"></a>[<span class="prodNo">57</span>] </td>
<td><code class="production prod">literal</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-StringLiteral">StringLiteral</a></span>
@@ -617,7 +573,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-datatype" name="prod-prov_n-datatype"></a>[<span class="prodNo">65</span>] </td>
+<td><a id="prod-prov_n-datatype" name="prod-prov_n-datatype"></a>[<span class="prodNo">58</span>] </td>
<td><code class="production prod">datatype</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-IRI_REF">IRI_REF</a></span>
@@ -627,7 +583,7 @@
<tbody class="prod">
<tr valign="baseline">
-<td><a id="prod-prov_n-StringLiteral" name="prod-prov_n-StringLiteral"></a>[<span class="prodNo">66</span>] </td>
+<td><a id="prod-prov_n-StringLiteral" name="prod-prov_n-StringLiteral"></a>[<span class="prodNo">59</span>] </td>
<td><code class="production prod">StringLiteral</code></td>
<td> ::= </td>
<td><code class="content"> <span class="prod"><a class="grammarRef" href="#prod-prov_n-STRING_LITERAL">STRING_LITERAL</a></span></code></td>
@@ -636,7 +592,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-QNAME" name="term-prov_n-QNAME"></a>[<span class="prodNo">67</span>] </td>
+<td><a id="term-prov_n-QNAME" name="term-prov_n-QNAME"></a>[<span class="prodNo">60</span>] </td>
<td><<code class="production term">QNAME</code>></td>
<td> ::= </td>
<td><code class="content">(( <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_PREFIX">PN_PREFIX</a></span> ":" ))? <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_LOCAL">PN_LOCAL</a></span><br/>
@@ -646,7 +602,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PREFX" name="term-prov_n-PREFX"></a>[<span class="prodNo">68</span>] </td>
+<td><a id="term-prov_n-PREFX" name="term-prov_n-PREFX"></a>[<span class="prodNo">61</span>] </td>
<td><<code class="production term">PREFX</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_PREFIX">PN_PREFIX</a></span></code></td>
@@ -655,7 +611,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-DIGIT" name="term-prov_n-DIGIT"></a>[<span class="prodNo">69</span>] </td>
+<td><a id="term-prov_n-DIGIT" name="term-prov_n-DIGIT"></a>[<span class="prodNo">62</span>] </td>
<td><<code class="production term">DIGIT</code>></td>
<td> ::= </td>
<td><code class="content">[0-9]</code></td>
@@ -664,7 +620,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-ISODATETIME" name="term-prov_n-ISODATETIME"></a>[<span class="prodNo">70</span>] </td>
+<td><a id="term-prov_n-ISODATETIME" name="term-prov_n-ISODATETIME"></a>[<span class="prodNo">63</span>] </td>
<td><<code class="production term">ISODATETIME</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> "-" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> "-" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> "T" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> ":" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> ":" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> (( "." <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> (( <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> (<span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span>)? ))? ))? (( "Z" | <span class="prod"><a class="grammarRef" href="#prod-prov_n-TIMEZONEOFFSET">TIMEZONEOFFSET</a></span> ))?</code></td>
@@ -673,7 +629,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-TIMEZONEOFFSET" name="term-prov_n-TIMEZONEOFFSET"></a>[<span class="prodNo">71</span>] </td>
+<td><a id="term-prov_n-TIMEZONEOFFSET" name="term-prov_n-TIMEZONEOFFSET"></a>[<span class="prodNo">64</span>] </td>
<td><<code class="production term">TIMEZONEOFFSET</code>></td>
<td> ::= </td>
<td><code class="content">( "+" | "-" ) <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> ":" <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span></code></td>
@@ -682,7 +638,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PREFIX" name="term-prov_n-PREFIX"></a>[<span class="prodNo">72</span>] </td>
+<td><a id="term-prov_n-PREFIX" name="term-prov_n-PREFIX"></a>[<span class="prodNo">65</span>] </td>
<td><<code class="production term">PREFIX</code>></td>
<td> ::= </td>
<td><code class="content">"@prefix"</code></td>
@@ -691,7 +647,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-IRI_REF" name="term-prov_n-IRI_REF"></a>[<span class="prodNo">73</span>] </td>
+<td><a id="term-prov_n-IRI_REF" name="term-prov_n-IRI_REF"></a>[<span class="prodNo">66</span>] </td>
<td><<code class="production term">IRI_REF</code>></td>
<td> ::= </td>
<td><code class="content">"<" (( [^<>\"{}|^`\\] - [#0000- ] | <span class="prod"><a class="grammarRef" href="#prod-prov_n-UCHAR">UCHAR</a></span> ))* ">"</code></td>
@@ -700,7 +656,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-INTLITERAL" name="term-prov_n-INTLITERAL"></a>[<span class="prodNo">74</span>] </td>
+<td><a id="term-prov_n-INTLITERAL" name="term-prov_n-INTLITERAL"></a>[<span class="prodNo">67</span>] </td>
<td><<code class="production term">INTLITERAL</code>></td>
<td> ::= </td>
<td><code class="content">("-")? (<span class="prod"><a class="grammarRef" href="#prod-prov_n-DIGIT">DIGIT</a></span>)+</code></td>
@@ -709,7 +665,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-STRING_LITERAL" name="term-prov_n-STRING_LITERAL"></a>[<span class="prodNo">75</span>] </td>
+<td><a id="term-prov_n-STRING_LITERAL" name="term-prov_n-STRING_LITERAL"></a>[<span class="prodNo">68</span>] </td>
<td><<code class="production term">STRING_LITERAL</code>></td>
<td> ::= </td>
<td><code class="content">'"' (( ( [^\"\\\n\r] ) | <span class="prod"><a class="grammarRef" href="#prod-prov_n-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#prod-prov_n-UCHAR">UCHAR</a></span> ))* '"'</code></td>
@@ -718,7 +674,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-UCHAR" name="term-prov_n-UCHAR"></a>[<span class="prodNo">76</span>] </td>
+<td><a id="term-prov_n-UCHAR" name="term-prov_n-UCHAR"></a>[<span class="prodNo">69</span>] </td>
<td><<code class="production term">UCHAR</code>></td>
<td> ::= </td>
<td><code class="content">( "\\u" <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span> )<br/>
@@ -728,7 +684,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-ECHAR" name="term-prov_n-ECHAR"></a>[<span class="prodNo">77</span>] </td>
+<td><a id="term-prov_n-ECHAR" name="term-prov_n-ECHAR"></a>[<span class="prodNo">70</span>] </td>
<td><<code class="production term">ECHAR</code>></td>
<td> ::= </td>
<td><code class="content">"\\" [tbnrf\\\"']</code></td>
@@ -737,7 +693,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-NIL" name="term-prov_n-NIL"></a>[<span class="prodNo">78</span>] </td>
+<td><a id="term-prov_n-NIL" name="term-prov_n-NIL"></a>[<span class="prodNo">71</span>] </td>
<td><<code class="production term">NIL</code>></td>
<td> ::= </td>
<td><code class="content">"(" (( <span class="prod"><a class="grammarRef" href="#prod-prov_n-WS">WS</a></span> ))* ")"</code></td>
@@ -746,7 +702,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-WS" name="term-prov_n-WS"></a>[<span class="prodNo">79</span>] </td>
+<td><a id="term-prov_n-WS" name="term-prov_n-WS"></a>[<span class="prodNo">72</span>] </td>
<td><<code class="production term">WS</code>></td>
<td> ::= </td>
<td><code class="content">" "<br/>
@@ -758,7 +714,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-ANON" name="term-prov_n-ANON"></a>[<span class="prodNo">80</span>] </td>
+<td><a id="term-prov_n-ANON" name="term-prov_n-ANON"></a>[<span class="prodNo">73</span>] </td>
<td><<code class="production term">ANON</code>></td>
<td> ::= </td>
<td><code class="content">"[" (( <span class="prod"><a class="grammarRef" href="#prod-prov_n-WS">WS</a></span> ))* "]"</code></td>
@@ -767,7 +723,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_CHARS_BASE" name="term-prov_n-PN_CHARS_BASE"></a>[<span class="prodNo">81</span>] </td>
+<td><a id="term-prov_n-PN_CHARS_BASE" name="term-prov_n-PN_CHARS_BASE"></a>[<span class="prodNo">74</span>] </td>
<td><<code class="production term">PN_CHARS_BASE</code>></td>
<td> ::= </td>
<td><code class="content">[A-Z]<br/>
@@ -789,7 +745,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_CHARS_U" name="term-prov_n-PN_CHARS_U"></a>[<span class="prodNo">82</span>] </td>
+<td><a id="term-prov_n-PN_CHARS_U" name="term-prov_n-PN_CHARS_U"></a>[<span class="prodNo">75</span>] </td>
<td><<code class="production term">PN_CHARS_U</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS_BASE">PN_CHARS_BASE</a></span><br/>
@@ -799,7 +755,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_CHARS" name="term-prov_n-PN_CHARS"></a>[<span class="prodNo">83</span>] </td>
+<td><a id="term-prov_n-PN_CHARS" name="term-prov_n-PN_CHARS"></a>[<span class="prodNo">76</span>] </td>
<td><<code class="production term">PN_CHARS</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS_U">PN_CHARS_U</a></span><br/>
@@ -813,7 +769,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_PREFIX" name="term-prov_n-PN_PREFIX"></a>[<span class="prodNo">84</span>] </td>
+<td><a id="term-prov_n-PN_PREFIX" name="term-prov_n-PN_PREFIX"></a>[<span class="prodNo">77</span>] </td>
<td><<code class="production term">PN_PREFIX</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS_BASE">PN_CHARS_BASE</a></span> (( (( <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS">PN_CHARS</a></span> | "." ))* <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS">PN_CHARS</a></span> ))?</code></td>
@@ -822,7 +778,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_LOCAL" name="term-prov_n-PN_LOCAL"></a>[<span class="prodNo">85</span>] </td>
+<td><a id="term-prov_n-PN_LOCAL" name="term-prov_n-PN_LOCAL"></a>[<span class="prodNo">78</span>] </td>
<td><<code class="production term">PN_LOCAL</code>></td>
<td> ::= </td>
<td><code class="content">( <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS_U">PN_CHARS_U</a></span> | [0-9] | <span class="prod"><a class="grammarRef" href="#prod-prov_n-PLX">PLX</a></span> ) (( (( <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS">PN_CHARS</a></span> | "." | <span class="prod"><a class="grammarRef" href="#prod-prov_n-PLX">PLX</a></span> ))* ( <span class="prod"><a class="grammarRef" href="#prod-prov_n-PN_CHARS">PN_CHARS</a></span> | <span class="prod"><a class="grammarRef" href="#prod-prov_n-PLX">PLX</a></span> ) ))?</code></td>
@@ -831,7 +787,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PLX" name="term-prov_n-PLX"></a>[<span class="prodNo">86</span>] </td>
+<td><a id="term-prov_n-PLX" name="term-prov_n-PLX"></a>[<span class="prodNo">79</span>] </td>
<td><<code class="production term">PLX</code>></td>
<td> ::= </td>
<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-prov_n-PERCENT">PERCENT</a></span><br/>
@@ -841,7 +797,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PERCENT" name="term-prov_n-PERCENT"></a>[<span class="prodNo">87</span>] </td>
+<td><a id="term-prov_n-PERCENT" name="term-prov_n-PERCENT"></a>[<span class="prodNo">80</span>] </td>
<td><<code class="production term">PERCENT</code>></td>
<td> ::= </td>
<td><code class="content">"%" <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#prod-prov_n-HEX">HEX</a></span></code></td>
@@ -850,7 +806,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-HEX" name="term-prov_n-HEX"></a>[<span class="prodNo">88</span>] </td>
+<td><a id="term-prov_n-HEX" name="term-prov_n-HEX"></a>[<span class="prodNo">81</span>] </td>
<td><<code class="production term">HEX</code>></td>
<td> ::= </td>
<td><code class="content">[0-9]<br/>
@@ -861,7 +817,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PN_LOCAL_ESC" name="term-prov_n-PN_LOCAL_ESC"></a>[<span class="prodNo">89</span>] </td>
+<td><a id="term-prov_n-PN_LOCAL_ESC" name="term-prov_n-PN_LOCAL_ESC"></a>[<span class="prodNo">82</span>] </td>
<td><<code class="production term">PN_LOCAL_ESC</code>></td>
<td> ::= </td>
<td><code class="content">"\\" ( "_" | "~" | "." | "-" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | ":" | "/" | "?" | "#" | "@" | "%" )</code></td>
@@ -870,7 +826,7 @@
<tbody class="term">
<tr valign="baseline">
-<td><a id="term-prov_n-PASSED_TOKENS" name="term-prov_n-PASSED_TOKENS"></a>[<span class="prodNo">90</span>] </td>
+<td><a id="term-prov_n-PASSED_TOKENS" name="term-prov_n-PASSED_TOKENS"></a>[<span class="prodNo">83</span>] </td>
<td><code class="production directive">PASSED TOKENS</code></td>
<td> ::= </td>
<td><code class="content">([ \t\r\n])+<br/>
--- a/model/grammar/yack/sample2.in Thu May 10 10:48:22 2012 +0100
+++ b/model/grammar/yack/sample2.in Thu May 10 13:07:21 2012 +0100
@@ -7,5 +7,61 @@
activity(ex:a10)
activity(ex:a10, [prov:type="createFile"])
+ wasGeneratedBy(-; ex:e1, -, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasGeneratedBy(-; ex:e1, ex:a1, -)
+ wasGeneratedBy(-; ex:e1, [ex:param1="a", ex:param2="b"])
+
+ wasStartedBy(s1; ex:a1, ex:e1, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasStartedBy(s1; ex:a1, ex:e1, -, [ex:param1="a", ex:param2="b"])
+ wasStartedBy(s1; ex:a1, -, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasStartedBy(s1; ex:a1, -, -, [ex:param1="a", ex:param2="b"])
+ wasStartedBy(s1; ex:a1, [ex:param1="a", ex:param2="b"])
+
+ wasStartedBy(s1; ex:a1, ex:e1, 2001-10-26T21:32:52)
+ wasStartedBy(s1; ex:a1, ex:e1, -)
+ wasStartedBy(s1; ex:a1, -, 2001-10-26T21:32:52)
+ wasStartedBy(s1; ex:a1, -, -)
+ wasStartedBy(s1; ex:a1)
+
+ wasStartedBy( ex:a1, ex:e1, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasStartedBy( ex:a1, ex:e1, -, [ex:param1="a", ex:param2="b"])
+ wasStartedBy( ex:a1, -, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasStartedBy( ex:a1, -, -, [ex:param1="a", ex:param2="b"])
+ wasStartedBy( ex:a1, [ex:param1="a", ex:param2="b"])
+
+
+ wasStartedBy( ex:a1, ex:e1, 2001-10-26T21:32:52)
+ wasStartedBy( ex:a1, ex:e1, -)
+ wasStartedBy( ex:a1, -, 2001-10-26T21:32:52)
+ wasStartedBy( ex:a1, -, -)
+ wasStartedBy( ex:a1)
+
+
+ wasEndedBy(s1; ex:a1, ex:e1, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasEndedBy(s1; ex:a1, ex:e1, -, [ex:param1="a", ex:param2="b"])
+ wasEndedBy(s1; ex:a1, -, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasEndedBy(s1; ex:a1, -, -, [ex:param1="a", ex:param2="b"])
+ wasEndedBy(s1; ex:a1, [ex:param1="a", ex:param2="b"])
+
+ wasEndedBy(s1; ex:a1, ex:e1, 2001-10-26T21:32:52)
+ wasEndedBy(s1; ex:a1, ex:e1, -)
+ wasEndedBy(s1; ex:a1, -, 2001-10-26T21:32:52)
+ wasEndedBy(s1; ex:a1, -, -)
+ wasEndedBy(s1; ex:a1)
+
+ wasEndedBy( ex:a1, ex:e1, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasEndedBy( ex:a1, ex:e1, -, [ex:param1="a", ex:param2="b"])
+ wasEndedBy( ex:a1, -, 2001-10-26T21:32:52, [ex:param1="a", ex:param2="b"])
+ wasEndedBy( ex:a1, -, -, [ex:param1="a", ex:param2="b"])
+ wasEndedBy( ex:a1, [ex:param1="a", ex:param2="b"])
+
+
+ wasEndedBy( ex:a1, ex:e1, 2001-10-26T21:32:52)
+ wasEndedBy( ex:a1, ex:e1, -)
+ wasEndedBy( ex:a1, -, 2001-10-26T21:32:52)
+ wasEndedBy( ex:a1, -, -)
+ wasEndedBy( ex:a1)
+
+
endBundle
\ No newline at end of file