reorganized generation of js files, for auto-inclusion
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 23 Feb 2012 14:29:37 +0000
changeset 1656 a5f7ff3d6b30
parent 1655 8365f0c49114
child 1657 ec1029a4b4b4
child 1668 c80fd5b07cd5
reorganized generation of js files, for auto-inclusion
model/working-copy/Makefile
model/working-copy/all-divs.js
presentations/dagstuhl/prov-dm/overview/index.html
--- a/model/working-copy/Makefile	Thu Feb 23 09:15:19 2012 -0500
+++ b/model/working-copy/Makefile	Thu Feb 23 14:29:37 2012 +0000
@@ -25,24 +25,25 @@
 # uses html2xhtml
 # http://www.it.uc3m.es/jaf/html2xhtml/downloads/html2xhtml-1.1.2-2.tar.gz
 
+WORKDIR=generated
 
 xsl:
-	html2xhtml -t 1.1 towards-wd4.html -o towards-wd4.xhtml
-	html2xhtml -t 1.1 prov-dm-constraints.html -o prov-dm-constraints.xhtml
-	grep -v mdash towards-wd4.xhtml | grep -v "/html" > towards-wd4-2.xhtml
-	cat prov-dm-constraints.xhtml | sed -e "s/&le/le/g" | sed -e "s/&cup/cup/g" | sed -e "s/&ge/ge/g" | grep -v "/html" > prov-dm-constraints-2.xhtml
-	csplit -f out towards-wd4-2.xhtml /body/
-	echo "<html>" > all-divs.html
-	xpath out01 .//div[@class] >> all-divs.html
-	csplit -f out prov-dm-constraints-2.xhtml /body/
-	xpath out01 .//div[@class] >> all-divs.html
-	xpath out01 .//span[@class] >> all-divs.html
-	echo "</html>" >> all-divs.html
-	cat all-divs.html | sed -e "s/\'/\\\'/g" > all-divs2.html
+	html2xhtml -t 1.1 towards-wd4.html -o $(WORKDIR)/towards-wd4.xhtml
+	html2xhtml -t 1.1 prov-dm-constraints.html -o $(WORKDIR)/prov-dm-constraints.xhtml
+	grep -v mdash $(WORKDIR)/towards-wd4.xhtml | grep -v "/html" > $(WORKDIR)/towards-wd4-2.xhtml
+	cat $(WORKDIR)/prov-dm-constraints.xhtml | sed -e "s/&le/le/g" | sed -e "s/&cup/cup/g" | sed -e "s/&ge/ge/g" | grep -v "/html" > $(WORKDIR)/prov-dm-constraints-2.xhtml
+	csplit -f $(WORKDIR)/out $(WORKDIR)/towards-wd4-2.xhtml /body/
+	echo "<html>" > $(WORKDIR)/all-divs.html
+	xpath $(WORKDIR)/out01 .//div[@class] >> $(WORKDIR)/all-divs.html
+	csplit -f $(WORKDIR)/out $(WORKDIR)/prov-dm-constraints-2.xhtml /body/
+	xpath $(WORKDIR)/out01 .//div[@class] >> $(WORKDIR)/all-divs.html
+	xpath $(WORKDIR)/out01 .//span[@class] >> $(WORKDIR)/all-divs.html
+	echo "</html>" >> $(WORKDIR)/all-divs.html
+	cat $(WORKDIR)/all-divs.html | sed -e "s/\'/\\\'/g" > $(WORKDIR)/all-divs2.html
 	$(MAKE) make.all-divs.js
 
-make.all-divs.js: all-divs2.html Makefile
-	$(MAKE) OUT.JS=all-divs.js IN.HTML=all-divs2.html make.divs.js
+make.all-divs.js: $(WORKDIR)/all-divs2.html Makefile
+	$(MAKE) OUT.JS=all-divs.js IN.HTML=$(WORKDIR)/all-divs2.html make.divs.js
 
 hgDivsId:
 	@echo "divs_hg='http://dvcs.w3.org/hg/prov/file/$(HGID)/model/working-copy/towards-wd4.html';"  >> $(OUT.JS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/working-copy/all-divs.js	Thu Feb 23 14:29:37 2012 +0000
@@ -0,0 +1,1507 @@
+//Automatically generated file, don't edit!
+//Include this all-divs.js file in your specification
+//  with <script src="all-divs.js" class="remove"></script>
+//Insert glossary definitions with the following 
+// <div class="glossary-ref" ref="glossary-generation"></div>
+divs_hg='http://dvcs.w3.org/hg/prov/file/8365f0c49114/model/working-copy/towards-wd4.html';
+divs_string= 
+'<html> ' + 
+'<div class="buttonpanel"> ' + 
+'      <form action="#"> ' + 
+'        <p> ' + 
+'          <input id="hide-asn" onclick="set_display_by_class(\'div\',\'withAsn\',\'none\');set_display_by_class(\'span\',\'withAsn\',\'none\'); set_display_by_id(\'hide-asn\',\'none\'); set_display_by_id(\'show-asn\',\'\');" type="button" value="Hide ASN" /> <input id="show-asn" onclick="set_display_by_class(\'div\',\'withAsn\',\'\'); set_display_by_class(\'span\',\'withAsn\',\'\');  set_display_by_id(\'hide-asn\',\'\'); set_display_by_id(\'show-asn\',\'none\');" style="display: none" type="button" value="Show ASN" /> ' + 
+'        </p> ' + 
+'      </form> ' + 
+'    </div><div class="note" id="changes"> ' + 
+'      <p> ' + 
+'        Following F2F2 guidance, in this document we try to: ' + 
+'      </p> ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          pitch from the start the idea of an upgrade path, from \'scruffy ' + 
+'          provenance\' (term TBD), to \'precise provenance\' (term TBD) ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          formulate concepts without referring to things, just in term of ' + 
+'          entities, the intent is that the semantics only refers to things ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          introduce concepts minimally, just to be able to express \'scruffy ' + 
+'          provenance\' ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          present the data model ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          present the upgrade path ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          contemplating the organization of the deliverable in two/three ' + 
+'          separate documents. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="note" id="editorial-notes"> ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          Term \'record\' dropped: we no longer refer to \'entity record\', ' + 
+'          \'activity record\', etc but simply to \'entity\', \'activity\', etc ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Aiming to drop the word \'assertion\'. This is work in progress. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Aiming to drop the word \'characterization\'. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="issue"> ' + 
+'      There is a desire to use a single namespace that all specifications of the ' + 
+'      PROV family can share to refer to common provenance terms. This is <a href="http://www.w3.org/2011/prov/track/issues/224">ISSUE-224</a>. ' + 
+'    </div><div class="glossary-ref"> ' + 
+'    </div><div class="anexample" id="entity-example"> ' + 
+'      <p> ' + 
+'        An entity may be the document at URI <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>, ' + 
+'        a file in a file system, a car or an idea. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="activity-example"> ' + 
+'      <p> ' + 
+'        An activity may be the publishing of a document on the web, sending a ' + 
+'        twitter message, extracting metadata embedded in a file, or driving a ' + 
+'        car from Boston to Cambridge, assembling a data set based on a set of ' + 
+'        measurements, performing a statistical analysis over a data set, sorting ' + 
+'        news items according to some criteria, running a SPARQL query over a ' + 
+'        triple store, and editing a file. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="agent-example"> ' + 
+'      <p> ' + 
+'        Software for checking the use of grammar in a document may be defined as ' + 
+'        an agent of a document preparation activity, and at the same time one ' + 
+'        can describe its provenance, including for instance the vendor and the ' + 
+'        version history. ' + 
+'      </p> ' + 
+'    </div><div class="glossary-ref"> ' + 
+'    </div><div class="glossary-ref"> ' + 
+'    </div><div class="anexample" id="generation-example"> ' + 
+'      Examples of generation are the completed creation of a file by a program, ' + 
+'      the completed creation of a linked data set, and the completed publication ' + 
+'      of a new version of a document. ' + 
+'    </div><div class="anexample" id="usage-example"> ' + 
+'      Usage examples include a procedure beginning to consume an argument, a ' + 
+'      service starting to read a value on a port, a program beginning to read a ' + 
+'      configuration file, or the point at which an ingredient, such as eggs, is ' + 
+'      being added in a baking activity. Usage may entirely consume an entity ' + 
+'      (e.g. eggs are no longer available after being added to the mix); ' + 
+'      alternatively, a same entity may be used multiple times, possibly by ' + 
+'      different activities (e.g. a file on a file system can be read ' + 
+'      indefinitely). ' + 
+'    </div><div class="anexample" id="derivation-example"> ' + 
+'      <p> ' + 
+'        Examples of derivation include the transformation of a relational table ' + 
+'        into a linked data set, the transformation of a canvas into a painting, ' + 
+'        the transportation of a work of art from London to New York, and a ' + 
+'        physical transformation such as the melting of ice into water. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="plan-example"> ' + 
+'      <p> ' + 
+'        A plan can be a blog post tutorial for how to set up a web server, a ' + 
+'        list of instructions for a micro-processor execution, a cook\'s written ' + 
+'        recipe for a chocolate cake, or a workflow for a scientific experiment. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="collection-example"> ' + 
+'      <p> ' + 
+'        An example of collection is an archive of documents. Each document has ' + 
+'        its own provenance, but the archive itself also has some provenance: who ' + 
+'        maintained it, which documents it contained at which point in time, how ' + 
+'        it was assembled, etc. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="account-example"> ' + 
+'      <p> ' + 
+'        Having found a resource, a user may want to retrieve its provenance. For ' + 
+'        users to decide whether they can place their trust in that resource, ' + 
+'        they may want to analyze its provenance, but also determine who the ' + 
+'        provenance is attributed to, and when it was generated. Hence, from the ' + 
+'        PROV-DM data model, the provenance is regarded as an entity, an ' + 
+'        AccountEntity, for which provenance can be sought. ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="software-agents-example"> ' + 
+'      <p> ' + 
+'        Even software agents can be assigned some responsibility for the effects ' + 
+'        they have in the world, so for example if one is using a Text Editor and ' + 
+'        one\'s laptop crashes, then one would say that the Text Editor was ' + 
+'        responsible for crashing the laptop. If one invokes a service to buy a ' + 
+'        book, that service can be considered responsible for drawing funds from ' + 
+'        one\'s bank to make the purchase (the company that runs the service and ' + 
+'        the web site would also be responsible, but the point here is that we ' + 
+'        assign some measure of responsibility to software as well). ' + 
+'      </p> ' + 
+'    </div><div class="anexample" id="association-example"> ' + 
+'      <p> ' + 
+'        Examples of association between an activity and agent are: ' + 
+'      </p> ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          creation of a web page under the guidance of a designer; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          various forms of participation in a panel discussion, including ' + 
+'          audience member, panelist, or panel chair; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          a public event, sponsored by a company, and hosted by a museum; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          an XSLT transform initiated by a user; ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample" id="responsibilityChain-example"> ' + 
+'      <p> ' + 
+'        A student publishing a web page describing an academic department could ' + 
+'        result in both the student and the department being agents associated ' + 
+'        with the activity, and it may not matter which student published a web ' + 
+'        page but it matters a lot that the department told the student to put up ' + 
+'        the web page. ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      TODO: short text required to explain the overview diagram ' + 
+'    </div><div class="note"> ' + 
+'      Illustration to be hand crafted instead of being generated automatically. ' + 
+'      It\'s important to adopt a common style for all illustrations across all ' + 
+'      PROV documents. ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-entity"> ' + 
+'      An entity<span class="withAsn">, written <span class="name">entity(id, [ ' + 
+'      attr1=val1, ...])</span> in PROV-ASN, </span> contains: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an identifier identifying an entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs ' + 
+'          representing this entity\'s situation in the world. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expression ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ]) ' + 
+'</pre> ' + 
+'      states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>, ' + 
+'      with type <span class="name">document</span> and version number <span class="name">2</span>. The attributes <span class="name">ex:version</span> ' + 
+'      is application specific, whereas the attribute <span class="name">type</span> ' + 
+'      is reserved in the PROV-DM namespace. ' + 
+'       <!-- The following expression</p> <pre class="codeexample"> ' + 
+'        entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ]) ' + 
+'        entity(e0, [ prov:type="File", ex:path="/shared/crime.txt", ' + 
+'        ex:creator="Alice" ]) </pre> states the existence of an entity, denoted ' + 
+'        by identifier <span class="name">e0</span>, with type <span ' + 
+'        class="name">File</span> and path <span ' + 
+'        class="name">/shared/crime.txt</span> in the file system, and creator ' + 
+'        alice. The attributes <span class="name">path</span> and <span ' + 
+'        class="name">creator</span> are application specific, whereas the ' + 
+'        attribute <span class="name">type</span> is reserved in the PROV-DM ' + 
+'        namespace. --> ' + 
+'    </div><div class="issue"> ' + 
+'      The characterization interval of an entity is currently implicit. Making ' + 
+'      it explicit would allow us to define wasComplementOf more precisely. ' + 
+'      Beginning and end of characterization interval could be expressed by ' + 
+'      attributes (similarly to activities). How do we define the end of an ' + 
+'      entity? This is <a href="http://www.w3.org/2011/prov/track/issues/204">ISSUE-204</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      There is still some confusion about what the identifiers really denote. ' + 
+'      For instance, are they entity identifiers or entity record identifiers. ' + 
+'      This is <a href="http://www.w3.org/2011/prov/track/issues/183">ISSUE-183</a>. ' + 
+'      An example and questions appear in <a href="http://www.w3.org/2011/prov/track/issues/215">ISSUE-215</a>. A ' + 
+'      related issued is also raised in <a href="http://www.w3.org/2011/prov/track/issues/145">ISSUE-145</a>. ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-activity"> ' + 
+'      An activity<span class="withAsn">, written <span class="name">activity(id, ' + 
+'      st, et, [ attr1=val1, ...])</span> in PROV-ASN,</span> contains: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an identifier identifying an activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>startTime</em>: an OPTIONAL time for the start of the activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>endTime</em>: an OPTIONAL time for the end of the activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs for this ' + 
+'          activity. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expression ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(a1,2011-11-16T16:05:00,2011-11-16T16:06:00, ' + 
+'        [ex:host="server.example.org",prov:type="ex:edit" %% xsd:QName]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        states the existence of an activity with identifier <span class="name">a1</span>, ' + 
+'        start time <span class="name">2011-11-16T16:05:00</span>, and end time ' + 
+'        <span class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>. ' + 
+'        The attribute <span class="name">host</span> is application specific ' + 
+'        (declared in some namespace with prefix <span class="name">ex</span>). ' + 
+'        The attribute <span class="name">type</span> is a reserved attribute of ' + 
+'        PROV-DM, allowing for sub-typing to be expressed. ' + 
+'      </p> ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-agent"> ' + 
+'      An agent<span class="withAsn">, noted <span class="name">agent(id, [ ' + 
+'      attr1=val1, ...])</span> in PROV-ASN,</span> contains: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an identifier identifying an agent; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: a set of attribute-value pairs representing this ' + 
+'          agent\'s situation in the world. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee ' + 
+'        number 1234. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'agent(e1, [ex:employee="1234", ex:name="Alice", prov:type="prov:Human" %% xsd:QName]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        It is optional to specify the type of an agent. When present, it is ' + 
+'        expressed using the <span class="name">prov:type</span> attribute. ' + 
+'      </p> ' + 
+'    </div><div class="issue"> ' + 
+'      Shouldn\'t we allow for entities (not agent) to be associated with an ' + 
+'      activity? Should we drop the inference association-agent? <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following note consists of a set of application-specific ' + 
+'        attribute-value pairs, intended to help the rendering of what it is ' + 
+'        associated with, by specifying its color and its position on the screen. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'note(ex2:n1,[ex2:color="blue", ex2:screenX=20, ex2:screenY=30]) ' + 
+'hasAnnotation(tr:WD-prov-dm-20111215,ex2:n1) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        The note is associated with the entity <span class="name">tr:WD-prov-dm-20111215</span> ' + 
+'        previously introduced (<a title="annotation">hasAnnotation</a> is ' + 
+'        discussed in Section <a href="#term-annotation">Annotation</a>). The ' + 
+'        note\'s identifier and attributes are declares in a separate namespace ' + 
+'        denoted by prefix <span class="name">ex2</span>. ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        Alternatively, a reputation service may enrich a provenance record with ' + 
+'        notes providing reputation ratings about agents. In the following ' + 
+'        fragment, both agents <span class="name">ex:Simon</span> and <span class="name">ex:Paolo</span> are rated "excellent". ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'note(ex3:n2,[ex3:reputation="excellent"]) ' + 
+'hasAnnotation(ex:Simon,ex3:n2) ' + 
+'hasAnnotation(ex:Paolo,ex3:n2) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        The note\'s identifier and attributes are declares in a separate ' + 
+'        namespace denoted by prefix <span class="name">ex3</span>. ' + 
+'      </p> ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-generation"> ' + 
+'      <dfn title="dfn-Generation">Generation</dfn><span class="withAsn">, ' + 
+'      written <span class="name">wasGeneratedBy(id,e,a,t,attrs)</span> in ' + 
+'      PROV-ASN,</span> has the following components: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an OPTIONAL identifier identifying a generation; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>entity</em>: an identifier identifying a created entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>activity</em>: an OPTIONAL identifier identifying the activity ' + 
+'          that creates the entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>time</em>: an OPTIONAL "generation time", the time at which the ' + 
+'          entity was completely created; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs that ' + 
+'          describes the modalities of generation of this entity by this ' + 
+'          activity. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expressions ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  wasGeneratedBy(e1,a1, 2001-10-26T21:32:52, [ex:port="p1", ex:order=1]) ' + 
+'  wasGeneratedBy(e2,a1, 2001-10-26T10:00:00, [ex:port="p1", ex:order=2]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        state the existence of two generations (with respective times <span class="name">2001-10-26T21:32:52</span> and <span class="name">2001-10-26T10:00:00</span>), ' + 
+'        at which new entities, identified by <span class="name">e1</span> and ' + 
+'        <span class="name">e2</span>, are created by an activity, identified by ' + 
+'        <span class="name">a1</span>. The first one is available as the first ' + 
+'        value on port p1, whereas the other is the second value on port p1. The ' + 
+'        semantics of <span class="name">port</span> and <span class="name">order</span> ' + 
+'        are application specific. ' + 
+'      </p> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        In some cases, we may want to record the time at which an entity was ' + 
+'        generated without having to specify the activity that generated it. To ' + 
+'        support this requirement, the activity component in generation is ' + 
+'        optional. Hence, the following expression indicates the time at which an ' + 
+'        entity is generated, without naming the activity that did it. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  wasGeneratedBy(e,,2001-10-26T21:32:52) ' + 
+'</pre> ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-usage"> ' + 
+'      <dfn title="dfn-Usage">Usage</dfn><span class="withAsn">, written <span class="name">used(id,a,e,t,attrs)</span> in PROV-ASN,</span> has the ' + 
+'      following constituents: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an OPTIONAL identifier identifying a usage; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>activity</em>: an identifier for the consuming activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>entity</em>: an identifier for the consumed entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>time</em>: an OPTIONAL "usage time", the time at which the entity ' + 
+'          started to be used; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs that ' + 
+'          describe the modalities of usage of this entity by this activity. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following usages ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  used(a1,e1,2011-11-16T16:00:00,[ex:parameter="p1"]) ' + 
+'  used(a1,e2,2011-11-16T16:00:01,[ex:parameter="p2"]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        state that the activity identified by <span class="name">a1</span> ' + 
+'        consumed two entities identified by <span class="name">e1</span> and ' + 
+'        <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> ' + 
+'        and <span class="name">2011-11-16T16:00:01</span>, respectively; the ' + 
+'        first one was found as the value of parameter <span class="name">p1</span>, ' + 
+'        whereas the second was found as value of parameter <span class="name">p2</span>. ' + 
+'        The semantics of <span class="name">parameter</span> is application ' + 
+'        specific. ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      <p> ' + 
+'        A usage record\'s id is OPTIONAL. It MUST be present when annotating ' + 
+'        usage records (see Section <a href="#term-annotation">Annotation Record</a>) ' + 
+'        or when defining precise-1 derivations (see <a href="#Derivation-Relation">Derivation</a>). ' + 
+'      </p> ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-activity-association"> ' + 
+'      An <dfn title="dfn-activity-association">activity association</dfn><span class="withAsn">, written <span class="name">wasAssociatedWith(id,a,ag,pl,attrs)</span> ' + 
+'      in PROV-ASN,</span> has the following constituents: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an OPTIONAL identifier for the association between an ' + 
+'          activity and an agent; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>activity</em>: an identifier for the activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>agent</em>: an identifier for the agent associated with the ' + 
+'          activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>plan</em>: an OPTIONAL identifier for the plan adopted by the ' + 
+'          agent in the context of this activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs that ' + 
+'          describe the modalities of association of this activity with this ' + 
+'          agent. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      In the following example, a designer and an operator agents are associated ' + 
+'      with an activity. The designer\'s goals are achieved by a workflow <span class="name">ex:wf</span>. ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(ex:a,[prov:type="workflow execution"]) ' + 
+'agent(ex:ag1,[prov:type="operator"]) ' + 
+'agent(ex:ag2,[prov:type="designer"]) ' + 
+'wasAssociatedWith(ex:a,ex:ag1,[prov:role="loggedInUser", ex:how="webapp"]) ' + 
+'wasAssociatedWith(ex:a,ex:ag2,ex:wf,[prov:role="designer", ex:context="project1"]) ' + 
+'entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName, ex:label="Workflow 1",  ' + 
+'              ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI]) ' + 
+'</pre> ' + 
+'      Since the workflow <span class="name">ex:wf</span> is itself an entity, ' + 
+'      its provenance can also be expressed in PROV-DM: it can be generated by ' + 
+'      some activity and derived from other entities, for instance. ' + 
+'    </div><div class="issue"> ' + 
+'      The activity association record does not allow for a plan to be asserted ' + 
+'      without an agent. This seems over-restrictive. Discussed in the context of ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Agents should not be inferred. WasAssociatedWith should also work with ' + 
+'      entities. This is <a href="http://www.w3.org/2011/prov/track/issues/206">ISSUE-206</a>. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        In the following example, ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'wasStartedBy(a,ag,[ex:mode="manual"]) ' + 
+'wasEndedby(a,ag,[ex:mode="manual"]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        there is an activity denoted by <span class="name">a</span> that was ' + 
+'        started and ended by an agent denoted by <span class="name">ag</span>, ' + 
+'        in "manual" mode, an application specific characterization of these ' + 
+'        relations. ' + 
+'      </p> ' + 
+'    </div><div class="issue"> ' + 
+'      Should we define start/end records as representation of activity start/end ' + 
+'      events. Should time be associated with these events rather than with ' + 
+'      activities. This will be similar to what we do for entities. This is issue ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/207">ISSUE-207</a>. ' + 
+'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-responsibility-chain"> ' + 
+'      A <dfn title="dfn-responsibility-chain">responsibility chain</dfn><span class="withAsn">, written <span class="name">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> ' + 
+'      in PROV-ASN,</span> has the following constituents: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an OPTIONAL identifier identifying the responsibility ' + 
+'          chain; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>subordinate</em>: an identifier for the agent associated with an ' + 
+'          activity, acting on behalf of the responsible agent; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>responsible</em>: an identifier for the agent, on behalf of which ' + 
+'          the subordinate agent acted; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>activity</em>: an OPTIONAL identifier of an activity for which the ' + 
+'          responsibility chain holds; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs that ' + 
+'          describe the modalities of this relation. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      In the following example, a programmer, a researcher and a funder agents ' + 
+'      are described. The programmer and researcher are associated with a ' + 
+'      workflow activity. The programmer acts on behalf of the researcher ' + 
+'      (delegation) encoding the commands specified by the researcher; the ' + 
+'      researcher acts on behalf of the funder, who has an contractual agreement ' + 
+'      with the researcher. The terms \'delegation\' and \'contact\' used in this ' + 
+'      example are domain specific. ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(a,[prov:type="workflow"]) ' + 
+'agent(ag1,[prov:type="programmer"]) ' + 
+'agent(ag2,[prov:type="researcher"]) ' + 
+'agent(ag3,[prov:type="funder"]) ' + 
+'wasAssociatedWith(a,ag1,[prov:role="loggedInUser"]) ' + 
+'wasAssociatedWith(a,ag2) ' + 
+'actedOnBehalfOf(ag1,ag2,a,[prov:type="delegation"]) ' + 
+'actedOnBehalfOf(ag2,ag3,a,[prov:type="contract"]) ' + 
+'</pre> ' + 
+'    </div><div class="glossary-ref" /><div class="note"> ' + 
+'      This text was not edited much. It keeps on referring to ' + 
+'      asserter/assertion. Before editing this section, we would like to have <a href="http://www.w3.org/2011/prov/track/issues/249">ISSUE-249</a> ' + 
+'      resolved. ' + 
+'    </div><div class="attributes" id="attributes-derivation"> ' + 
+'      A <dfn>precise-1 derivation</dfn><span class="withAsn">, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</span> in ' + 
+'      PROV-ASN,</span> contains: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <em>id</em>: an OPTIONAL identifier identifying the derivation; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>generatedEntity</em>: the identifier of the generation entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>usedEntity</em>: the identifier of the used entity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>activity</em>: the identifier of the activity using and generating ' + 
+'          the above entities; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>generation</em>: the identifier the generation for the generated ' + 
+'          entity and activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>usage</em>: the identifier of the usage for the used entity and ' + 
+'          activity; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <em>attributes</em>: an OPTIONAL set of attribute-value pairs that ' + 
+'          describe the modalities of this derivation, optionally including the ' + 
+'          attribute-value pair <span class="name">prov:steps="single"</span>. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following descriptions state the existence of derivations. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'wasDerivedFrom(e5,e3,a4,g2,u2) ' + 
+'wasDerivedFrom(e5,e3,a4,g2,u2,[prov:steps="single"]) ' + 
+' ' + 
+'wasDerivedFrom(e3,e2,[prov:steps="single"]) ' + 
+' ' + 
+'wasDerivedFrom(e2,e1,[]) ' + 
+'wasDerivedFrom(e2,e1,[prov:steps="any"]) ' + 
+' ' + 
+'wasDerivedFrom(e2,e1,2012-01-18T16:00:00, [prov:steps="any"]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        The first two are precise-1 derivations expressing that the activity ' + 
+'        identified by <span class="name">a4</span>, by using the entity denoted ' + 
+'        by <span class="name">e3</span> according to usage <span class="name">u2</span> ' + 
+'        derived the entity denoted by <span class="name">e5</span> and generated ' + 
+'        it according to generation <span class="name">g2</span>. ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        The third line describes an imprecise-1 derivation, which is similar for ' + 
+'        <span class="name">e3</span> and <span class="name">e2</span>, but it ' + 
+'        leaves the activity and associated attributes implicit. The fourth and ' + 
+'        fifth lines are about imprecise-n derivations between <span class="name">e2</span> ' + 
+'        and <span class="name">e1</span>, but no information is provided as to ' + 
+'        the number and identity of activities underpinning the derivation. The ' + 
+'        sixth derivation extends the fifth with the derivation time of <span class="name">e2</span>. ' + 
+'      </p> ' + 
+'    </div><div class="issue"> ' + 
+'      Several points were raised about the attribute steps. Its name, its ' + 
+'      default value <a href="http://www.w3.org/2011/prov/track/issues/180">ISSUE-180</a>. ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/179">ISSUE-179</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Emphasize the notion of \'affected by\' <a href="http://www.w3.org/2011/prov/track/issues/133">ISSUE-133</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Is imprecise-1 derivation necessary? Can we just use precise-1 and ' + 
+'      imprecise-n? <a href="http://www.w3.org/2011/prov/track/issues/249">ISSUE-249</a>. ' + 
+'    </div><div class="anexample" id="anexample-alternate"> ' + 
+'      <p> ' + 
+'        The following expressions describe two persons, respectively holder of a ' + 
+'        Facebook account and a Twitter account, and their relation as alternate. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(facebook:ABC, [ prov:type="person with Facebook account " ]) ' + 
+'entity(twitter:XYZ, [ prov:type="person with Twitter account" ]) ' + 
+'alternateOf(facebook:ABC, twitter:XYZ) ' + 
+'</pre> ' + 
+'    </div><div class="anexample" id="anexample-specialization"> ' + 
+'      <p> ' + 
+'        The following expressions describe two persons, the second of which is ' + 
+'        holder of a Twitter account. The second entity is a specialization of ' + 
+'        the first. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(ex:Bob, [ prov:type="person", ex:name="Bob" ]) ' + 
+'entity(twitter:XYZ, [ prov:type="person with Twitter account" ]) ' + 
+'specializationOf(twitter:XYZ, ex:Bob) ' + 
+'</pre> ' + 
+'    </div><div class="issue"> ' + 
+'      A discussion on alternative definition of these relations has not yet ' + 
+'      reached a satisfactory conclusion. This is <a href="http://www.w3.org/2011/prov/track/issues/29">ISSUE-29</a>. Also <a href="http://www.w3.org/2011/prov/track/issues/96">ISSUE-96</a>. ' + 
+'    </div><div class="glossary" id="glossary-annotation"> ' + 
+'      An <dfn title="concept-annotation">annotation</dfn> is a link between ' + 
+'      something that is identifiable and a note referred to by its identifier. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expressions ' + 
+'      </p> ' + 
+'<pre class="codexample" xml:space="preserve"> ' + 
+'entity(e1,[prov:type="document"]) ' + 
+'entity(e2,[prov:type="document"]) ' + 
+'activity(a,t1,t2) ' + 
+'used(u1,a,e1,[ex:file="stdin"]) ' + 
+'wasGeneratedBy(e2, a, [ex:file="stdout"]) ' + 
+' ' + 
+'note(n1,[ex:icon="doc.png"]) ' + 
+'hasAnnotation(e1,n1) ' + 
+'hasAnnotation(e2,n1) ' + 
+' ' + 
+'note(n2,[ex:style="dotted"]) ' + 
+'hasAnnotation(u1,n2) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        describe two documents (attribute-value pair: <span class="name">prov:type="document"</span>) ' + 
+'        identified by <span class="name">e1</span> and <span class="name">e2</span>, ' + 
+'        and their annotation with a note indicating that the icon (an ' + 
+'        application specific way of rendering provenance) is <span class="name">doc.png</span>. ' + 
+'        The example also includes an activity, its usage of the first entity, ' + 
+'        and its generation of the second entity. The <a title="dfn-usage">usage</a> ' + 
+'        is annotated with a style (an application specific way of rendering this ' + 
+'        edge graphically). To be able to express this annotation, the usage was ' + 
+'        provided with an identifier <span class="name">u1</span>, which was then ' + 
+'        referred to in <span class="name">hasAnnotation(u1,n2)</span>. ' + 
+'      </p> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following activity start describes the role of the agent identified ' + 
+'        by <span class="name">ag</span> in this start relation with activity ' + 
+'        <span class="name">a</span>. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'   wasStartedBy(a,ag, [prov:role="program-operator"]) ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following describes an agent of type software agent. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'   agent(ag, [prov:type="prov:ComputingSystem" %% xsd:QName]) ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expression declares an imprecise-1 derivation, which is ' + 
+'        known to involve one activity, though its identity, usage details of ' + 
+'        <span class="name">ex:e1</span>, and generation details of <span class="name">ex:e2</span> are not explicit. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'   wasDerivedFrom(ex:e2, ex:e1, [prov:steps="single"]) ' + 
+'</pre> ' + 
+'    </div><div class="issue"> ' + 
+'      This is <a href="http://www.w3.org/2011/prov/track/issues/219">ISSUE-219</a>. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following expression describes entity Mona Lisa, a painting, with a ' + 
+'        location attribute. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+' entity(ex:MonaLisa, [prov:location="Le Louvres, Paris", prov:type="StillImage"]) ' + 
+'</pre> ' + 
+'    </div><div class="note"> ' + 
+'      Usually, in programming languages, Literal are a notation for values. So, ' + 
+'      Literals should probably be moved to the serialization. Here, instead, we ' + 
+'      should define the types of values. Thoughts? ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The following examples respectively are the string "abc", the string ' + 
+'        "abc", the integer number 1, and the IRI "http://example.org/foo". ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  "abc" ' + 
+'  1 ' + 
+'  "http://example.org/foo" %% xsd:anyURI ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        The following example shows a literal of type <span class="name">xsd:QName</span> ' + 
+'        (see <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#QName">QName</a> ' + 
+'        [[!XMLSCHEMA-2]]). The prefix <span class="name">ex</span> MUST be bound ' + 
+'        to a <a>namespace</a> declared in a <a>namespace declaration</a>. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  "ex:value" %% xsd:QName ' + 
+'</pre> ' + 
+'    </div><div class="note"> ' + 
+'      It\'s a legacy of the charter that time is a top level section. Time is a ' + 
+'      specific kind of value, and should be folded into the "value" section. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        Revisiting the example of <a href="#section-example-a">Section 3.1</a>, ' + 
+'        we can now state that the report <span class="name">tr:WD-prov-dm-20111215</span> ' + 
+'        is a revision of the report <span class="name">tr:WD-prov-dm-20111018</span>, ' + 
+'        approved by agent <span class="name">w3:Consortium</span>. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ]) ' + 
+'entity(tr:WD-prov-dm-20111018, [ prov:type="pr:RecsWD" %% xsd:QName ]) ' + 
+'wasRevisionOf(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, w3:Consortium) ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        Revisiting the example of <a href="#section-example-b">Section 3.2</a>, ' + 
+'        we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some ' + 
+'        agents without having to make an activity explicit. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'agent(ex:Paolo, [ prov:type="Human" ]) ' + 
+'agent(ex:Simon, [ prov:type="Human" ]) ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ]) ' + 
+'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [prov:role="editor"]) ' + 
+'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [prov:role="contributor"]) ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        Consider two long running services, which we represent by activities ' + 
+'        <span class="name">s1</span> and <span class="name">s2</span>. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(s1,,,[prov:type="service"]) ' + 
+'activity(s2,,,[prov:type="service"]) ' + 
+'wasInformedBy(s2,s1) ' + 
+'</pre> ' + 
+'      The last line indicates that some entity was generated by <span class="name">s1</span> and used by <span class="name">s2</span>. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        Suppose activities <span class="name">a1</span> and <span class="name">a2</span> ' + 
+'        are computer processes that are executed on different hosts, and that ' + 
+'        <span class="name">a1</span> started <span class="name">a2</span>. This ' + 
+'        can be expressed as in the following fragment: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(a1,t1,t2,[ex:host="server1.example.org",prov:type="workflow"]) ' + 
+'activity(a2,t3,t4,[ex:host="server2.example.org",prov:type="subworkflow"]) ' + 
+'wasStartedBy(a2,a1) ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        We refer to the example of <a href="#section-example-a">Section 3.1</a>, ' + 
+'        and specifically to <a href="#prov-tech-report">Figure prov-tech-report</a>. ' + 
+'        We can see that there is a path from <span class="name">tr:WD-prov-dm-20111215</span> ' + 
+'        to <span class="name">w3:Consortium</span> or to <span class="name">pr:rec-advance</span>. ' + 
+'        This is expressed as follows. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+' tracedTo(tr:WD-prov-dm-20111215,w3:Consortium) ' + 
+' tracedTo(tr:WD-prov-dm-20111215,pr:rec-advance) ' + 
+'</pre> ' + 
+'    </div><div class="note"> ' + 
+'      I propose to delete the following, given that this document does not ' + 
+'      mention inferences. [LM] ' + 
+'      <p> ' + 
+'        Further considerations: ' + 
+'      </p> ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          Traceability is more general than <a href="#Derivation-Relation">Derivation</a>. ' + 
+'          This means that an assertion of the form: <span class="name">tracedTo(...,e2,e1,...)</span> ' + 
+'          can be inferred from an assertion of the form: <span class="name">wasDerivedFrom(e2,e1,..)</span>. ' + 
+'          The precise inference rules are specified in [REF]. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Traceability is related to responsibility by way of inference rules ' + 
+'          that involve <a href="#term-responsibility">responsibility chain</a> ' + 
+'          and <a href="#term-Generation">generation</a> relations. These rules ' + 
+'          are specified in [REF] ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="note"> ' + 
+'      looking at the definition, there is something wrong. It\'s not true that e2 ' + 
+'      was neceaary for e1 (in the transitive case) and that e1 bears ' + 
+'      responsibility. [LM] ' + 
+'    </div><div class="note"> ' + 
+'      I find that quotation is really a misnomer. This expands into derivation ' + 
+'      with attribution, in what sense is the derived entity a "quote" of the ' + 
+'      original? . The agent that is quoted is particularly obscure. It does not ' + 
+'      seem to be involved in the quoting at all. Why isn\'t quoting an activity ' + 
+'      with the quoting agent associated with it? [PM] ' + 
+'    </div><div class="note"> ' + 
+'      Omitted as this is likely to be removed [PM] ' + 
+'    </div><div class="issue"> ' + 
+'      Drop this relation <a href="http://www.w3.org/2011/prov/track/issues/220">ISSUE-220</a>. ' + 
+'    </div><div class="note"> ' + 
+'      I find this relation confusing. Please add an example. I wouldn\'t really ' + 
+'      know when to use this. [PM] ' + 
+'    </div><div class="anexample"> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'   entity(c, [prov:type="EmptyCollection"])    // e is an empty collection ' + 
+'   entity(v1) ' + 
+'   entity(v2) ' + 
+'   entity(c1, [prov:type="Collection"]) ' + 
+'   entity(c2, [prov:type="Collection"]) ' + 
+'   ' + 
+'  CollectionAfterInsertion(c1, c, "k1", v1)       // c1 = { ("k1",v1) } ' + 
+'  CollectionAfterInsertion(c2, c1, "k2", v2)      // c2 = { ("k1",v1), ("k2", v2) } ' + 
+'  CollectionAfterRemoval(c3, c2, k1)              // c3 = { ("k2",v2) } ' + 
+'</pre> ' + 
+'    </div><div class="note"> ' + 
+'      I propose to call them afterInsertion instead of CollectionAfterInsertion ' + 
+'      (likewise, for deletion). What about attributes and optional Id? ' + 
+'    </div><div class="note"> ' + 
+'      Deleted further items. Some of them are constraints which belong to part ' + 
+'      2. ' + 
+'    </div><div id="glossary_div" class="remove"> ' + 
+'      <!--  glossary loaded from glossary.js will be hooked up here, class ' + 
+'        remove, will remove this element from the final output. --> ' + 
+'    </div><div class="buttonpanel"> ' + 
+'      <form action="#"> ' + 
+'        <p> ' + 
+'          <input id="hide-bnf" onclick="set_display_by_class(\'div\',\'grammar\',\'none\'); set_display_by_id(\'hide-bnf\',\'none\');  set_display_by_id(\'show-bnf\',\'\');" type="button" value="Hide Grammar" /> <input id="show-bnf" onclick="set_display_by_class(\'div\',\'grammar\',\'\'); set_display_by_id(\'hide-bnf\',\'\');  set_display_by_id(\'show-bnf\',\'none\');" style="display: none" type="button" value="Show Grammar" /> <input id="hide-examples" onclick="set_display_by_class(\'div\',\'anexample\',\'none\'); set_display_by_id(\'hide-examples\',\'none\'); set_display_by_id(\'show-examples\',\'\');" type="button" value="Hide Examples" /> <input id="show-examples" onclick="set_display_by_class(\'div\',\'anexample\',\'\'); set_display_by_id(\'hide-examples\',\'\'); set_display_by_id(\'show-examples\',\'none\');" style="display: none" type="button" value="Show Examples" /> ' + 
+'        </p> ' + 
+'      </form> ' + 
+'    </div><div class="note"> ' + 
+'      TODO ' + 
+'    </div><div class="note"> ' + 
+'      Tentative definition of destruction! ' + 
+'    </div><div class="anexample" id="a-report-example"> ' + 
+'      Different users may take different perspectives on a resource with a URL. ' + 
+'      For each perspective, an entity may be expressed: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          a report available at a URL: fixes the nature of the thing, i.e. a ' + 
+'          document, and its location; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          the version of the report available there today: fixes its version ' + 
+'          number, contents, and its date; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          the report independent of where it is hosted and of its content over ' + 
+'          time: fixes the nature of the thing as a conceptual artifact. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'      The provenance of these three entities may differ, and may be along the ' + 
+'      following lines: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          the provenance of a report available at a URL may include: the act of ' + 
+'          publishing it and making it available at a given location, possibly ' + 
+'          under some license and access control; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          the provenance of the version of the report available there today may ' + 
+'          include: the authorship of the specific content, and reference to ' + 
+'          imported content; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          the provenance of the report independent of where it is hosted over ' + 
+'          time may include: the motivation for writing the report, the overall ' + 
+'          methodology for producing it, and the broad team involved in it. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="anexample"> ' + 
+'      A file at some point during its lifecycle, which includes multiple edits ' + 
+'      by multiple people, can be described by its type, its location in the file ' + 
+'      system, a creator, and content. ' + 
+'    </div><div class="issue"> ' + 
+'      We need to refine the definition of entity and activity, and all the ' + 
+'      concepts in general. This is <a href="http://www.w3.org/2011/prov/track/issues/223">ISSUE-223</a>. ' + 
+'    </div><div class="note"> ' + 
+'      The last point is important and needs to be discussed by the Working ' + 
+'      Group. It indicates that within an account: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          It is always possible to add new provenance descriptions, e.g. stating ' + 
+'          that a given entity was used by an activity. This is very much an open ' + 
+'          world assumption. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          It is not permitted to add new attributes to a given entity (a form of ' + 
+'          closed world assumption from the attributes point of view), though it ' + 
+'          is always permitted to create a new description for an entity, which ' + 
+'          is a "copy" of the original description extended with novel attributes ' + 
+'          (cf Example <a href="#merge-with-rename">merge-with-rename</a>). ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="note"> ' + 
+'      <p> ' + 
+'        Overview the kind of constraints ' + 
+'      </p> ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          Definitional constraints (<a href="#definitional-constraints">Section ' + 
+'          4</a>) ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Account constraints (<a href="#account-constraints">Section 5</a>) ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Event ordering constraints (<a href="#interpretation">Section 6</a>) ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Structural constraints (<a href="#structural-constraints">Section 7</a>) ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          Collection constraints (<a href="#collection-constraints">Section 8</a>) ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="note"> ' + 
+'      Proposing to remove the subsections in this section, since some have no ' + 
+'      constraints. ' + 
+'    </div><div class="issue"> ' + 
+'      There is still some confusion about what the identifiers really denote. ' + 
+'      For instance, are they entity identifiers or entity record identifiers. ' + 
+'      This is <a href="http://www.w3.org/2011/prov/track/issues/183">ISSUE-183</a>. ' + 
+'      An example and questions appear in <a href="http://www.w3.org/2011/prov/track/issues/215">ISSUE-215</a>. A ' + 
+'      related issued is also raised in <a href="http://www.w3.org/2011/prov/track/issues/145">ISSUE-145</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      The characterization interval of an entity record is currently implicit. ' + 
+'      Making it explicit would allow us to define alternateOf and ' + 
+'      specializationOf more precisely. Beginning and end of characterization ' + 
+'      interval could be expressed by attributes (similarly to activities). How ' + 
+'      do we define the end of an entity? This is <a href="http://www.w3.org/2011/prov/track/issues/204">ISSUE-204</a>. ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of an activity, see <a href="#start-precedes-end">start-precedes-end</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Shouldn\'t we allow for entities (not agent) to be associated with an ' + 
+'      activity? Should we drop the inference association-agent? <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>. ' + 
+'      <p> ' + 
+'        One can assert an agent record or alternatively, one can infer an agent ' + 
+'        record by its association with an activity. ' + 
+'      </p> ' + 
+'      <div class="inference" id="association-agent"> ' + 
+'        <span class="conditional">If</span> the records <span class="name">entity(e,attrs)</span> ' + 
+'        and <span class="name">wasAssociatedWith(a,e)</span> hold for some ' + 
+'        identifiers <span class="name">a</span>, <span class="name">e</span>, ' + 
+'        and attribute-values <span class="name">attrs</span>, then the record ' + 
+'        <span class="name">agent(e,attrs)</span> also holds. ' + 
+'      </div> ' + 
+'    </div><div class="inference" id="association-agent"> ' + 
+'        <span class="conditional">If</span> the records <span class="name">entity(e,attrs)</span> ' + 
+'        and <span class="name">wasAssociatedWith(a,e)</span> hold for some ' + 
+'        identifiers <span class="name">a</span>, <span class="name">e</span>, ' + 
+'        and attribute-values <span class="name">attrs</span>, then the record ' + 
+'        <span class="name">agent(e,attrs)</span> also holds. ' + 
+'      </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of a generation, see <a href="#generation-within-activity">generation-within-activity</a>. ' + 
+'    </div><div class="structural-forward"> ' + 
+'      See <a href="#generation-uniqueness">generation-uniqueness</a> for a ' + 
+'      structural constraint on generations. ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of a usage, see <a href="#generation-precedes-usage">generation-precedes-usage</a> ' + 
+'      and <a href="#usage-within-activity">usage-within-activity</a>. ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of an activity association, see <a href="#wasAssociatedWith-ordering">wasAssociatedWith-ordering</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      The activity association record does not allow for a plan to be asserted ' + 
+'      without an agent. This seems over-restrictive. Discussed in the context of ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Agents should not be inferred. WasAssociatedWith should also work with ' + 
+'      entities. This is <a href="http://www.w3.org/2011/prov/track/issues/206">ISSUE-206</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Should we define start/end records as representation of activity start/end ' + 
+'      events. Should time be associated with these events rather than with ' + 
+'      activities. This will be similar to what we do for entities. This is issue ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/207">ISSUE-207</a>. ' + 
+'    </div><div class="inference" id="derivation-implications"> ' + 
+'      Given two entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class="conditional">if</span> the assertion ' + 
+'      <span class="name">wasDerivedFrom(e2, e1, a, g2, u1, attrs)</span> holds ' + 
+'      for some generation identified by <span class="name">g2</span>, and usage ' + 
+'      identified by <span class="name">u1</span>, then <span class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] ' + 
+'      cup; attrs)</span> also holds.<br /> Given two entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class="conditional">if</span> the assertion <span class="name">wasDerivedFrom(e2, ' + 
+'      e1, [prov:steps="single"] cup; attrs)</span> holds, then <span class="name">wasDerivedFrom(e2,e1,attrs)</span> also holds.<br /> ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of a derivation, see <a href="#derivation-usage-generation-ordering">derivation-usage-generation-ordering</a> ' + 
+'      and <a href="#derivation-generation-generation-ordering">derivation-generation-generation-ordering</a> ' + 
+'    </div><div class="inference" id="activity-introduction"> ' + 
+'      <span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1)</span> ' + 
+'      holds, <span class="conditional">then</span> there exist an activity, with ' + 
+'      identifier <span class="name">a</span>, a usage identified by <span class="name">u</span>, and a generation identified by <span class="name">g</span> ' + 
+'      such that: ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(a,aAttrs) ' + 
+'wasGeneratedBy(g,e2,a,gAttrs) ' + 
+'used(u,a,e1,uAttrs) ' + 
+'</pre> ' + 
+'      for sets of attribute-value pairs <span class="name">gAttrs</span>, <span class="name">uAttrs</span>, and <span class="name">aAttrs</span>. ' + 
+'    </div><div class="inference" id="derivation-time-elimination"> ' + 
+'      <span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1,t,attrs)</span> ' + 
+'      holds, <span class="conditional">then</span> the following expressions ' + 
+'      also hold: <span class="name">wasDerivedFrom(e2,e1,attrs)</span> and <span class="name">wasGeneratedBy(e2,t)</span>. ' + 
+'    </div><div class="structural-forward"> ' + 
+'      See <a href="#derivation-use">derivation-use</a> for a structural ' + 
+'      constraint on derivations. ' + 
+'    </div><div class="issue"> ' + 
+'      Several points were raised about the attribute steps. Its name, its ' + 
+'      default value <a href="http://www.w3.org/2011/prov/track/issues/180">ISSUE-180</a>. ' + 
+'      <a href="http://www.w3.org/2011/prov/track/issues/179">ISSUE-179</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Emphasize the notion of \'affected by\' <a href="http://www.w3.org/2011/prov/track/issues/133">ISSUE-133</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      Simplify derivation <a href="http://www.w3.org/2011/prov/track/issues/249">ISSUE-249</a>. ' + 
+'    </div><div class="note"> ' + 
+'      In order to further convey the intended meaning, the following properties ' + 
+'      are associated to these two relations. ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <span class="name">specializationOf(e2,e1)</span> is <strong>transitive</strong>: ' + 
+'          <span class="name">specializationOf(e3,e2)</span> and <span class="name">specializationOf(e2,e1)</span> implies <span class="name">specializationOf(e3,e1)</span>. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">specializationOf(e2,e1)</span> is <strong>anti-symmetric</strong>: ' + 
+'          <span class="name">specializationOf(e2,e1)</span> implies that <span class="name">specializationOf(e1,e2)</span> does not hold. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">alternateOf(e2,e1)</span> is <strong>symmetric</strong>: ' + 
+'          <span class="name">alternateOf(e2,e1)</span> implies <span class="name">alternateOf(e1,e2)</span>. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'      There are proposals to make alternateOf a transitive property. This is ' + 
+'      still under discussion and the default is for alternateOf <strong>not</strong> ' + 
+'      to be transitive, and this is what the current text reflects. ' + 
+'    </div><div class="issue"> ' + 
+'      A discussion on alternative definition of these relations has not reached ' + 
+'      a satisfactory conclusion yet. This is <a href="http://www.w3.org/2011/prov/track/issues/29">ISSUE-29</a>. Also <a href="http://www.w3.org/2011/prov/track/issues/96">ISSUE-96</a>. ' + 
+'    </div><div class="inference" id="traceability-inference"> ' + 
+'      Given two identifiers <span class="name">e2</span> and <span class="name">e1</span> ' + 
+'      for entities, the following statements hold: ' + 
+'      <ol> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1,a,g2,u1)</span> ' + 
+'          holds, for some <span class="name">a</span>, <span class="name">g2</span>, ' + 
+'          <span class="name">u1</span>, <span class="conditional">then</span> ' + 
+'          <span class="name">tracedTo(e2,e1)</span> also holds. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1)</span> ' + 
+'          holds, <span class="conditional">then</span> <span class="name">tracedTo(e2,e1)</span> ' + 
+'          also holds. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">wasGeneratedBy(e2,a,gAttr) ' + 
+'          and wasAssociatedWith(a,e1)</span> hold, for some <span class="name">a</span> ' + 
+'          and <span class="name">gAttr</span>, <span class="conditional">then</span> ' + 
+'          <span class="name">tracedTo(e2,e1)</span> also holds. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">wasGeneratedBy(e2,a,gAttr)</span>, ' + 
+'          <span class="name">wasAssociatedWith(a,e)</span> and <span class="name">actedOnBehalfOf(e,e1)</span> ' + 
+'          hold, for some <span class="name">a</span>, <span class="name">e</span>, ' + 
+'          and <span class="name">gAttr</span>, <span class="conditional">then</span> ' + 
+'          <span class="name">tracedTo(e2,e1)</span> also holds. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">wasGeneratedBy(e2,a,gAttr) ' + 
+'          and wasStartedBy(a,e1,sAttr)</span> hold, for some <span class="name">a</span>, ' + 
+'          <span class="name">e</span>, and <span class="name">gAttr</span>, and ' + 
+'          <span class="name">sAttr</span>, <span class="conditional">then</span> ' + 
+'          <span class="name">tracedTo(e2,e1)</span> also holds. ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="conditional">If</span> <span class="name">tracedTo(e2,e)</span> ' + 
+'          and <span class="name">tracedTo(e,e1)</span> hold for some <span class="name">e</span>, <span class="conditional">then</span> <span class="name">tracedTo(e2,e1)</span> also holds. ' + 
+'        </li> ' + 
+'      </ol> ' + 
+'    </div><div class="constraint" id="traceability-assertion"> ' + 
+'      <span class="conditional">If</span> <span class="name">tracedTo(r2,r1,attrs)</span> ' + 
+'      holds for two identifiers <span class="name">r2</span> and <span class="name">r1</span> identifying entities, and attribute-value pairs ' + 
+'      <span class="name">attrs</span>, <span class="conditional">then</span> ' + 
+'      there exist <span class="name">e<sup>0</sup></span>, <span class="name">e<sup>1</sup></span>, ' + 
+'      ..., <span class="name">e<sup>n</sup></span> for <span class="name">nge;1</span>, ' + 
+'      with <span class="name">e<sup>0</sup></span>=<span class="name">r2</span> ' + 
+'      and <span class="name">e<sup>n</sup></span>=<span class="name">r1</span>, ' + 
+'      and for any i such that <span class="name">0le;ile;n-1</span>, at least ' + 
+'      of the following statements holds: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <span class="name">wasDerivedFrom(e<sup>i</sup>,e<sup>i+1</sup>,a,g2,u1)</span> ' + 
+'          holds, for some <span class="name">a</span>, <span class="name">g2</span>, ' + 
+'          <span class="name">u1</span>, or ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">wasDerivedFrom(e<sup>i</sup>,e<sup>i+1</sup>)</span> ' + 
+'          holds, or ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">wasBasedOn(e<sup>i</sup>,e<sup>i+1</sup>)</span> ' + 
+'          holds, or ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr) and ' + 
+'          wasAssociatedWith(a,e<sup>i+1</sup>)</span> hold, for some <span class="name">a</span> and <span class="name">gAttr</span>, or ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr)</span>, <span class="name">wasAssociatedWith(a,e)</span> and <span class="name">actedOnBehalfOf(e,e<sup>i+1</sup>)</span> ' + 
+'          hold, for some <span class="name">a</span>, <span class="name">e</span> ' + 
+'          and <span class="name">gAttr</span>, or ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr) and ' + 
+'          wasStartedBy(a,e<sup>i+1</sup>,sAttr)</span> hold, for some <span class="name">a</span>, <span class="name">e</span>, and <span class="name">gAttr</span>, and <span class="name">sAttr</span>. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'    </div><div class="constraint" id="wasInformedBy-Definition"> ' + 
+'      Given two activities identified by <span class="name">a1</span> and <span class="name">a2</span>, <span class="name">wasInformedBy(a2,a1)</span> ' + 
+'      holds, <span class="conditional">if and only if</span> there is an entity ' + 
+'      with some identifier <span class="name">e</span> and some sets of ' + 
+'      attribute-value pairs <span class="name">attrs1</span> and <span class="name">attrs2</span>, such that <span class="name">wasGeneratedBy(e,a1,attrs1)</span> ' + 
+'      and <span class="name">used(a2,e,attrs2)</span> hold. ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of an information flow ordering, see <a href="#wasInformedBy-ordering">wasInformedBy-ordering</a>. ' + 
+'    </div><div class="constraint" id="wasStartedBy"> ' + 
+'      Given two activities with identifiers <span class="name">a1</span> and ' + 
+'      <span class="name">a2</span>, <span class="name">wasStartedBy(a2,a1)</span> ' + 
+'      holds <span class="conditional">if and only if</span> there exist an ' + 
+'      entity with some identifier <span class="name">e</span> and some ' + 
+'      attributes <span class="name">gAttr</span> and <span class="name">sAttr</span>, ' + 
+'      such that <span class="name">wasGeneratedBy(e,a1,gAttr)</span> and <span class="name">wasStartedBy(a2,e,sAttr)</span> hold. ' + 
+'    </div><div class="interpretation-forward"> ' + 
+'      For the interpretation of a control flow ordering, see <a href="#wasStartedBy-ordering">wasStartedBy-ordering</a>. ' + 
+'    </div><div class="inference" id="wasRevision"> ' + 
+'      Given two identifiers <span class="name">old</span> and <span class="name">new</span> ' + 
+'      identifying two entities, and an identifier <span class="name">ag</span> ' + 
+'      identifying an agent, <span class="conditional">if</span> <span class="name">wasRevisionOf(new,old,ag)</span> holds, <span class="conditional">then</span> there exists an entity with some ' + 
+'      identifier <span class="name">e</span> and some attribute-values <span class="name">eAttrs</span>, <span class="name">dAttrs</span>, such that ' + 
+'      the following hold: ' + 
+'      <ul> ' + 
+'        <li> ' + 
+'          <span class="name">wasDerivedFrom(new,old,dAttrs)</span>; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">entity(e,eAttrs)</span>; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">specializationOf(new,e)</span>; ' + 
+'        </li> ' + 
+'        <li> ' + 
+'          <span class="name">specializationOf(old,e)</span>. ' + 
+'        </li> ' + 
+'      </ul> ' + 
+'      The derivation may be imprecise-1 or imprecise-n. ' + 
+'    </div><div class="inference" id="attribution-implication"> ' + 
+'      <span class="conditional">If</span> <span class="name">wasAttributedTo(e,ag)</span> ' + 
+'      holds for some identifiers <span class="name">e</span> and <span class="name">ag</span>, <span class="conditional">then</span>, there ' + 
+'      exists an activity with some identifier <span class="name">a</span> such ' + 
+'      that the following statements hold: ' + 
+'<pre xml:space="preserve"> ' + 
+'activity(a,t1,t2,attr1) ' + 
+'wasGenerateBy(e,a) ' + 
+'wasAssociatedWith(a,ag,attr2) ' + 
+'</pre> ' + 
+'      for some sets of attribute-value pairs <span class="name">attr1</span> and ' + 
+'      <span class="name">attr2</span>, time <span class="name">t1</span>, and ' + 
+'      <span class="name">t2</span>. ' + 
+'    </div><div class="inference" id="quotation-implication"> ' + 
+'      <span class="conditional">If</span> <span class="name">wasQuotedFrom(e2,e1,ag2,ag1,attrs)</span> ' + 
+'      holds for some identifiers <span class="name">e2</span>, <span class="name">e1</span>, ' + 
+'      <span class="name">ag2</span>, <span class="name">ag1</span>, <span class="conditional">then</span> the following hold: ' + 
+'<pre xml:space="preserve"> ' + 
+'wasDerivedFrom(e2,e1) ' + 
+'wasAttributedTo(e2,ag2) ' + 
+'wasAttributedTo(e1,ag1) ' + 
+'</pre> ' + 
+'    </div><div class="issue"> ' + 
+'      Drop this relation <a href="http://www.w3.org/2011/prov/track/issues/220">ISSUE-220</a>. ' + 
+'    </div><div class="anexample" id="example-two-entities-one-id"> ' + 
+'      <p> ' + 
+'        Let us consider two descriptions of a same entity, which we have taken ' + 
+'        from two different contexts (see example). A working draft published by ' + 
+'        the <span class="name">w3:Consortium</span>: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ]) ' + 
+'</pre> ' + 
+'      The second version of a document edited by some authors: ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ]) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        Both descriptions are about the same entity identified by <span class="name">tr:WD-prov-dm-20111215</span>, but they contain different ' + 
+'        attributes, reflecting the context in which they occur. ' + 
+'      </p> ' + 
+'    </div><div class="constraint" id="unique-description-in-account"> ' + 
+'      <p> ' + 
+'        Given an entity identifier <span class="name">e</span>, there is at most ' + 
+'        one description <span class="name">entity(e,av)</span> occurring in a ' + 
+'        given account, where <span class="name">av</span> is some set of ' + 
+'        attribute-values. Other descriptions of the same entity can exist in ' + 
+'        different accounts. ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        This constraint similarly applies to all other types of identifiable ' + 
+'        entities and relations. ' + 
+'      </p> ' + 
+'    </div><div class="structural-forward"> ' + 
+'      See Section <a href="#structural-constraints">structural-constraints</a> ' + 
+'      for a structural constraint on accounts ' + 
+'    </div><div class="anexample" id="merge-with-rename"> ' + 
+'      <p> ' + 
+'        We now reconsider the same two descriptions of a same entity, but we ' + 
+'        change the identifier for one of them: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ]) ' + 
+'entity(ex:alternate-20111215, [ prov:type="document", ex:version="2" ]) ' + 
+'alternateOf(tr:WD-prov-dm-20111215,ex:alternate-20111215) ' + 
+'alternateOf(ex:alternate-20111215,tr:WD-prov-dm-20111215) ' + 
+'</pre> ' + 
+'    </div><div class="interpretation" id="start-precedes-end"> ' + 
+'      The following ordering constraint holds for any activity: the <a title="activity start event">start event</a> <a>precedes</a> the <a title="activity end event">end event</a>. ' + 
+'    </div><div class="interpretation" id="generation-precedes-usage"> ' + 
+'      For any entity, the following ordering constraint holds: the <a title="entity generation event">generation</a> of an entity always <a>precedes</a> ' + 
+'      any of its <a title="entity usage event">usages</a>. ' + 
+'    </div><div class="interpretation" id="usage-within-activity"> ' + 
+'      Given an activity with identifier <span class="name">a</span>, an entity ' + 
+'      with identifier <span class="name">e</span>, a set of attribute-value ' + 
+'      pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, ' + 
+'      <span class="conditional">if</span> assertion <span class="name">used(a,e,attrs)</span> ' + 
+'      or <span class="name">used(a,e,attrs,t)</span> holds, <span class="conditional">then</span> the following ordering constraint holds: ' + 
+'      the <a title="entity usage event">usage</a> of the entity denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a> ' + 
+'      of activity denoted by <span class="name">a</span> and <a>follows</a> its ' + 
+'      <a title="activity start event">start</a>. ' + 
+'    </div><div class="interpretation" id="generation-within-activity"> ' + 
+'      Given an activity with identifier <span class="name">a</span>, an entity ' + 
+'      with identifier <span class="name">e</span>, a set of attribute-value ' + 
+'      pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, ' + 
+'      <span class="conditional">if</span> <span class="name">wasGeneratedBy(e,a,attrs)</span> ' + 
+'      or <span class="name">wasGeneratedBy(e,a,attrs,t)</span> holds, <span class="conditional">then</span> the following ordering constraint also ' + 
+'      holds: the <a title="entity generation event">generation</a> of the entity ' + 
+'      denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a> of activity <span class="name">a</span> ' + 
+'      and <a>follows</a> the <a title="activity start event">start</a> of <span class="name">a</span>. ' + 
+'    </div><div class="interpretation" id="derivation-usage-generation-ordering"> ' + 
+'      Given an activity with identifier <span class="name">a</span>, entities ' + 
+'      with identifier <span class="name">e1</span> and <span class="name">e2</span>, ' + 
+'      a generation identified by <span class="name">g2</span>, and a usage ' + 
+'      identified by <span class="name">u1</span>, <span class="conditional">if</span> ' + 
+'      <span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span> or <span class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] cup; attrs)</span> ' + 
+'      holds, <span class="conditional">then</span> the following ordering ' + 
+'      constraint holds: the <a title="entity usage event">usage</a> of entity ' + 
+'      denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation</a> of the entity denoted by ' + 
+'      <span class="name">e2</span>. ' + 
+'    </div><div class="interpretation" id="derivation-generation-generation-ordering"> ' + 
+'      Given two entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class="conditional">if</span> <span class="name">wasDerivedFrom(e2,e1,[prov:steps="any"] cup; attrs)</span> ' + 
+'      holds, <span class="conditional">then</span> the following ordering ' + 
+'      constraint holds: the <a title="entity generation event">generation event</a> ' + 
+'      of the entity denoted by <span class="name">e1</span> <a>precedes</a> the ' + 
+'      <a title="entity generation event">generation event</a> of the entity ' + 
+'      denoted by <span class="name">e2</span>. ' + 
+'    </div><div class="interpretation" id="wasInformedBy-ordering"> ' + 
+'      Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class="conditional">if</span> <span class="name">wasInformedBy(a2,a1)</span> holds, <span class="conditional">then</span> ' + 
+'      the following ordering constraint holds: the <a title="activity start event">start event</a> of the activity denoted by ' + 
+'      <span class="name">a1</span> <a>precedes</a> the <a title="activity end event">end event</a> of the activity denoted by <span class="name">a2</span>. ' + 
+'    </div><div class="interpretation" id="wasStartedBy-ordering"> ' + 
+'      Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class="conditional">if</span> <span class="name">wasStartedBy(a2,a1)</span> holds, <span class="conditional">then</span> ' + 
+'      the following ordering constraint holds: the <a title="activity start event">start</a> event of the activity denoted by ' + 
+'      <span class="name">a1</span> <a>precedes</a> the <a title="activity start event">start event</a> of the activity denoted by ' + 
+'      <span class="name">a2</span>. ' + 
+'    </div><div class="issue"> ' + 
+'      In the following, we assume that we can talk about the end of an entity ' + 
+'      (or agent) For this, we use the term \'destruction\' This is <a href="http://www.w3.org/2011/prov/track/issues/204">ISSUE-204</a>. ' + 
+'    </div><div class="interpretation" id="wasStartedByAgent-ordering"> ' + 
+'      Given an activity denoted by <span class="name">a</span> and an agent ' + 
+'      denoted by <span class="name">ag</span>, <span class="conditional">if</span> ' + 
+'      <span class="name">wasStartedBy(a,ag)</span> holds, <span class="conditional">then</span> the following ordering constraints hold: ' + 
+'      the <a title="activity start event">start</a> event of the activity ' + 
+'      denoted by <span class="name">a</span> <a>follows</a> the <a title="entity generation event">generation event</a> for agent denoted by ' + 
+'      <span class="name">ag</span>, and <a>precedes</a> the destruction event of ' + 
+'      the same agent. ' + 
+'    </div><div class="interpretation" id="wasAssociatedWith-ordering"> ' + 
+'      Given an activity denoted by <span class="name">a</span> and an agent ' + 
+'      denoted by <span class="name">ag</span>, <span class="conditional">if</span> ' + 
+'      <span class="name">wasAssociatedWith(a,ag)</span> holds, <span class="conditional">then</span> the following ordering constraints hold: ' + 
+'      the <a title="activity start event">start</a> event of the activity ' + 
+'      denoted by <span class="name">a</span> precedes the destruction event of ' + 
+'      the agent denoted by <span class="name">ag</span>, and the <a title="entity generation event">generation event</a> for agent denoted by ' + 
+'      <span class="name">ag</span> <a>precedes</a> the activity <a title="activity end event">end</a> event. ' + 
+'    </div><div class="issue"> ' + 
+'      For completeness, we should define ordering constraint for ' + 
+'      wasAssociatedWith and actedOnBehalfOf. For wasAssociatedWith(a,ag), it ' + 
+'      feels that ag must have some overlap with a. For ' + 
+'      actedOnBehalfOf(ag1,ag2,a), it seem that ag2 should have existed before ' + 
+'      the overlap between ag1 and a. This is <a href="http://www.w3.org/2011/prov/track/issues/221">ISSUE-221</a>. ' + 
+'    </div><div class="issue"> ' + 
+'      It is suggested that a stronger name for wasAssociatedWith should be ' + 
+'      adopted. This is <a href="http://www.w3.org/2011/prov/track/issues/182">ISSUE-182</a>. ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        In the following assertions, a workflow execution <span class="name">a0</span> ' + 
+'        consists of two sub-workflow executions <span class="name">a1</span> and ' + 
+'        <span class="name">a2</span>. Sub-workflow execution <span class="name">a2</span> ' + 
+'        generates entity <span class="name">e</span>, so does <span class="name">a0</span>. ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'activity(a0,,,[prov:type="workflow execution"]) ' + 
+'activity(a1,,,[prov:type="workflow execution"]) ' + 
+'activity(a2,,,[prov:type="workflow execution"]) ' + 
+'wasInformedBy(a2,a1) ' + 
+' ' + 
+'wasGeneratedBy(e,a0) ' + 
+'wasGeneratedBy(e,a2) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        So, we have two different <a title="generation">generations</a> for ' + 
+'        entity <span class="name">e</span>. Such an example is permitted in ' + 
+'        PROV-DM if the two activities denoted by <span class="name">a0</span> ' + 
+'        and <span class="name">a2</span> are a single thing happening in the ' + 
+'        world but described from different perspectives. ' + 
+'      </p> ' + 
+'    </div><div class="anexample"> ' + 
+'      <p> ' + 
+'        The same example is now revisited, with the following assertions that ' + 
+'        are structurally well-formed. Two accounts are introduced, and there is ' + 
+'        a single generation for entity <span class="name">e</span> per account. ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        In a first account, entitled "summary", we find: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'        activity(a0,t1,t2,[prov:type="workflow execution"]) ' + 
+'        wasGeneratedBy(e,a0) ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        In a second account, entitled "detail", we find: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'        activity(a1,t1,t3,[prov:type="workflow execution"]) ' + 
+'        activity(a2,t3,t2,[prov:type="workflow execution"]) ' + 
+'        wasInformedBy(a2,a1) ' + 
+'        wasGeneratedBy(e,a2) ' + 
+'</pre> ' + 
+'    </div><div class="constraint" id="generation-uniqueness"> ' + 
+'      Given an entity denoted by <span class="name">e</span>, two activities ' + 
+'      denoted by <span class="name">a1</span> and <span class="name">a2</span>, ' + 
+'      and two sets of attribute-value pairs <span class="name">attrs1</span> and ' + 
+'      <span class="name">attrs2</span>, <span class="conditional">if</span> ' + 
+'      <span class="name">wasGeneratedBy(id1,e,a1,attrs1)</span> and <span class="name">wasGeneratedBy(id2,e,a2,attrs2)</span> exist in the scope of ' + 
+'      a given account, <span class="conditional">then</span> <span class="name">id1</span>=<span class="name">id2</span>, <span class="name">a1</span>=<span class="name">a2</span> ' + 
+'      and <span class="name">attrs1</span>=<span class="name">attrs2</span>. ' + 
+'    </div><div class="inference" id="derivation-use"> ' + 
+'      <p> ' + 
+'        Given an activity with identifier <span class="name">a</span>, entities ' + 
+'        denoted by <span class="name">e1</span> and <span class="name">e2</span>, ' + 
+'        and a set of attribute-value pairs <span class="name">attrs2</span>, ' + 
+'        <span class="conditional">if</span> <span class="name">wasDerivedFrom(e2,e1, ' + 
+'        [prov:steps="single"])</span> and <span class="name">wasGeneratedBy(e2,a,attrs2)</span> ' + 
+'        hold, <span class="conditional">then</span> <span class="name">used(a,e1,attrs1)</span> ' + 
+'        also holds for some set of attribute-value pairs <span class="name">attrs1</span>. ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      Can the semantics characterize better what can be achieved with ' + 
+'      structurally well-formed accounts? ' + 
+'    </div><div class="note" id="note-related-to-issue-105"> ' + 
+'      Satya discussed the example of a sculpture, whose hand and leg are ' + 
+'      sculpted independently by two different sculptors. He suggested that the ' + 
+'      sculpture is generated by two distinct activities. This section explains ' + 
+'      that it is not the case. The example can be formulated as follows. ' + 
+'      <p> ' + 
+'        <a href="examples/sculpture.prov-asn">Sculpture example in ASN</a> ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        <a href="examples/sculpture.png">Sculpture example image</a> ' + 
+'      </p> ' + 
+'      <p> ' + 
+'        We see that ex:s_3 (the sculpture in its final state) was derived from ' + 
+'        ex:l_2 (containment) which was generated by ex:a2. However, ex:s_3 is ' + 
+'        not directly generated by ex:a2. We may want to consider an abbreviation ' + 
+'        for this: wasGeneratedBy*(ex:s_3,ex:a2). ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      Raw material taken from prov-dm3. Some further text required. ' + 
+'    </div><div class="constraint" id="collection-parallel-insertions"> ' + 
+'      <p> ' + 
+'        One can have multiple assertions regarding the state of a collection ' + 
+'        following a <em>set</em> of insertions, for example: ' + 
+'      </p> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'CollectionAfterInsertion(c2, c1, k1, v1) ' + 
+'CollectionAfterInsertion(c2, c1, k2, v2) ' + 
+'... ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        This is interpreted as <em>" <span class="name">c2</span> is the state ' + 
+'        that results from inserting <span class="name">(k1, v1)</span>, <span class="name">(k2, v2)</span> etc. into <span class="name">c1</span>"</em> ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      Shouldn\'t we have the same for deletion, and combination of insertion and ' + 
+'      deletion? ' + 
+'    </div><div class="constraint" id="collection-branching-derivations"> ' + 
+'      It is possible to have multiple derivations from a single root collection, ' + 
+'      as shown in the following example. ' + 
+'      <div class="anexample"> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  entity(c, [prov:type="EmptyCollection"])    // e is an empty collection ' + 
+'  entity(v1) ' + 
+'  entity(v2) ' + 
+'  entity(v3) ' + 
+'  entity(c1, [prov:type="Collection"]) ' + 
+'  entity(c2, [prov:type="Collection"]) ' + 
+'  entity(c3, [prov:type="Collection"]) ' + 
+'   ' + 
+'  CollectionAfterInsertion(c1, c, k1, v1)       // c1 = { (k1,v1) } ' + 
+'  CollectionAfterInsertion(c2, c, k2, v2)       // c2 = { (k2 v2) } ' + 
+'  CollectionAfterInsertion(c3, c1, k3,v3)       // c3 = { (k1,v1),  (k3,v3) } ' + 
+'</pre> ' + 
+'      </div> ' + 
+'    </div><div class="anexample"> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  entity(c, [prov:type="EmptyCollection"])    // e is an empty collection ' + 
+'  entity(v1) ' + 
+'  entity(v2) ' + 
+'  entity(v3) ' + 
+'  entity(c1, [prov:type="Collection"]) ' + 
+'  entity(c2, [prov:type="Collection"]) ' + 
+'  entity(c3, [prov:type="Collection"]) ' + 
+'   ' + 
+'  CollectionAfterInsertion(c1, c, k1, v1)       // c1 = { (k1,v1) } ' + 
+'  CollectionAfterInsertion(c2, c, k2, v2)       // c2 = { (k2 v2) } ' + 
+'  CollectionAfterInsertion(c3, c1, k3,v3)       // c3 = { (k1,v1),  (k3,v3) } ' + 
+'</pre> ' + 
+'      </div><div class="constraint" id="collection-unique-ancestor"> ' + 
+'      Given the pair of assertions: ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'CollectionAfterInsertion(c, c1, k1, v1) ' + 
+'CollectionAfterInsertion(c, c2, k2, v2) ' + 
+'</pre> ' + 
+'      it follows that <span class="name">c1==c2</span>. ' + 
+'    </div><div class="note"> ' + 
+'      Original text stated it follows that <span class="name">c1==c2, k1==k2, ' + 
+'      v1==v2</span>, because one cannot have two different derivations for the ' + 
+'      same final collection state. This is incompatible with parallel insertion ' + 
+'      constraint. ' + 
+'    </div><div class="note"> ' + 
+'      Shouldn\'t we have the same for deletion, and combination of insertion and ' + 
+'      deletion? ' + 
+'    </div><div class="constraint" id="collection-unique-value-for-key"> ' + 
+'      Given the following set of insertions: ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'CollectionAfterInsertion(c1, c, k, v1) ' + 
+'CollectionAfterInsertion(c1, c, k, v2) ' + 
+'</pre> ' + 
+'      it follows that <span class="name">v1==v2</span>. ' + 
+'    </div><div class="anexample"> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  entity(c, [prov:type="collection"])    // e is a collection, possibly not empty ' + 
+'  entity(v1) ' + 
+'  entity(v2, [prov:type="collection"])    // v2 is a collection ' + 
+' ' + 
+'  CollectionAfterInsertion(c1, c, k1, v1)       // c1 <em>includes</em> { (k1,v1) } but may contain additional unknown pairs ' + 
+'  CollectionAfterInsertion(c2, c1, k2, v2)      // c2 includes { (k1,v1), (k2 v2) } where v2 is a collection with unknown state ' + 
+'</pre> ' + 
+'    </div><div class="anexample"> ' + 
+'<pre class="codeexample" xml:space="preserve"> ' + 
+'  entity(c, [prov:type="emptyCollection"])    // e is an empty collection ' + 
+'  entity(v1) ' + 
+'  entity(v2) ' + 
+' ' + 
+'  CollectionAfterInsertion(c1, c, k1, v1)       // c1 = { (k1,v1) } ' + 
+'  wasDerivedFrom(c2, c1)                        // the asserted knows that c2 is somehow derived from c1, but cannot assert the precise sequence of updates ' + 
+'    CollectionAfterInsertion(c3, c2, k2, v2)        ' + 
+'</pre> ' + 
+'      <p> ' + 
+'        Here <span class="name">c3</span> includes <span class="name">{ (k2 v2) ' + 
+'        }</span> but the earlier "gap" leaves uncertainty regarding <span class="name">(k1,v1)</span> (it may have been removed) or any other pair ' + 
+'        that may have been added as part of the derivation activities. ' + 
+'      </p> ' + 
+'    </div><div class="note"> ' + 
+'      Purely tentative ' + 
+'    </div><div class="note"> ' + 
+'          What is the meaning here? Is it any different? Are stating anything ' + 
+'          about newer version of tr:prov-dm that occur after ' + 
+'          2011-12-15T12:00:00? ' + 
+'        </div><div class="note"> ' + 
+'          What is the meaning here? that only the version that was created by ' + 
+'          this event is attributed to ex:Simon, but not previous ones. This ' + 
+'          means that it is not specfied whether he was an author in anterior ' + 
+'          versions. ' + 
+'        </div><div class="note"> ' + 
+'          Speculative, since we have not defined the destruction event (yet?. ' + 
+'          What is the meaning here? that only the versions that existed during ' + 
+'          this characterization interval were attributed to ex:Simon. ' + 
+'        </div><span class="glossary" id="glossary-account"> An <dfn>account</dfn> is a ' + 
+'      named bundle of provenance descriptions. </span><span class="glossary" id="glossary-entity"> <dfn id="concept-accountEntity">AccountEntity</dfn> is the category of entities ' + 
+'      that are accounts, i.e. named bundles of provenance descriptions. </span><span class="conditional">If</span><span class="name">entity(e,attrs)</span><span class="name">wasAssociatedWith(a,e)</span><span class="name">a</span><span class="name">e</span><span class="name">attrs</span><span class="name">agent(e,attrs)</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">if</span><span class="name">wasDerivedFrom(e2, e1, a, g2, u1, attrs)</span><span class="name">g2</span><span class="name">u1</span><span class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] ' + 
+'      cup; attrs)</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">if</span><span class="name">wasDerivedFrom(e2, ' + 
+'      e1, [prov:steps="single"] cup; attrs)</span><span class="name">wasDerivedFrom(e2,e1,attrs)</span><span class="conditional">If</span><span class="name">wasDerivedFrom(e2,e1)</span><span class="conditional">then</span><span class="name">a</span><span class="name">u</span><span class="name">g</span><span class="name">gAttrs</span><span class="name">uAttrs</span><span class="name">aAttrs</span><span class="name">wasGeneratedBy(g, ' + 
+'      e2, a, attrs2)</span><span class="name">used(u, a, e1, ' + 
+'      attrs1)</span><span class="name">e1</span><span class="name">e2</span><span class="name">attrs1</span><span class="name">attrs2</span><span class="name">a</span><span class="name">wasDerivedFrom(e2, ' + 
+'      e1, a, g, u)</span><span class="name">wasDerivedFrom(e2,e1)</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="conditional">If</span><span class="name">wasDerivedFrom(e2,e1,t,attrs)</span><span class="conditional">then</span><span class="name">wasDerivedFrom(e2,e1,attrs)</span><span class="name">wasGeneratedBy(e2,t)</span><span class="name">specializationOf(e2,e1)</span><span class="name">specializationOf(e3,e2)</span><span class="name">specializationOf(e2,e1)</span><span class="name">specializationOf(e3,e1)</span><span class="name">specializationOf(e2,e1)</span><span class="name">specializationOf(e2,e1)</span><span class="name">specializationOf(e1,e2)</span><span class="name">alternateOf(e2,e1)</span><span class="name">alternateOf(e2,e1)</span><span class="name">alternateOf(e1,e2)</span><span class="name">e2</span><span class="name">e1</span><span class="conditional">If</span><span class="name">wasDerivedFrom(e2,e1,a,g2,u1)</span><span class="name">a</span><span class="name">g2</span><span class="name">u1</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">wasDerivedFrom(e2,e1)</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">wasGeneratedBy(e2,a,gAttr) ' + 
+'          and wasAssociatedWith(a,e1)</span><span class="name">a</span><span class="name">gAttr</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">wasGeneratedBy(e2,a,gAttr)</span><span class="name">wasAssociatedWith(a,e)</span><span class="name">actedOnBehalfOf(e,e1)</span><span class="name">a</span><span class="name">e</span><span class="name">gAttr</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">wasGeneratedBy(e2,a,gAttr) ' + 
+'          and wasStartedBy(a,e1,sAttr)</span><span class="name">a</span><span class="name">e</span><span class="name">gAttr</span><span class="name">sAttr</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">tracedTo(e2,e)</span><span class="name">tracedTo(e,e1)</span><span class="name">e</span><span class="conditional">then</span><span class="name">tracedTo(e2,e1)</span><span class="conditional">If</span><span class="name">tracedTo(r2,r1,attrs)</span><span class="name">r2</span><span class="name">r1</span><span class="name">attrs</span><span class="conditional">then</span><span class="name">e<sup>0</sup></span><span class="name">e<sup>1</sup></span><span class="name">e<sup>n</sup></span><span class="name">nge;1</span><span class="name">e<sup>0</sup></span><span class="name">r2</span><span class="name">e<sup>n</sup></span><span class="name">r1</span><span class="name">0le;ile;n-1</span><span class="name">wasDerivedFrom(e<sup>i</sup>,e<sup>i+1</sup>,a,g2,u1)</span><span class="name">a</span><span class="name">g2</span><span class="name">u1</span><span class="name">wasDerivedFrom(e<sup>i</sup>,e<sup>i+1</sup>)</span><span class="name">wasBasedOn(e<sup>i</sup>,e<sup>i+1</sup>)</span><span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr) and ' + 
+'          wasAssociatedWith(a,e<sup>i+1</sup>)</span><span class="name">a</span><span class="name">gAttr</span><span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr)</span><span class="name">wasAssociatedWith(a,e)</span><span class="name">actedOnBehalfOf(e,e<sup>i+1</sup>)</span><span class="name">a</span><span class="name">e</span><span class="name">gAttr</span><span class="name">wasGeneratedBy(e<sup>i</sup>,a,gAttr) and ' + 
+'          wasStartedBy(a,e<sup>i+1</sup>,sAttr)</span><span class="name">a</span><span class="name">e</span><span class="name">gAttr</span><span class="name">sAttr</span><span class="name">a1</span><span class="name">a2</span><span class="name">wasInformedBy(a2,a1)</span><span class="conditional">if and only if</span><span class="name">e</span><span class="name">attrs1</span><span class="name">attrs2</span><span class="name">wasGeneratedBy(e,a1,attrs1)</span><span class="name">used(a2,e,attrs2)</span><span class="name">wasInformedBy</span><span class="name">wasInformedBy(a3,a1)</span><span class="name">wasInformedBy(a2,a1)</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="name">a2</span><span class="name">wasInformedBy(a3,a2)</span><span class="name">e2</span><span class="name">e2</span><span class="name">a2</span><span class="name">a3</span><span class="name">e1</span><span class="name">e2</span><span class="name">a3</span><span class="name">a1</span><span class="name">a3</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a1</span><span class="name">a2</span><span class="name">wasStartedBy(a2,a1)</span><span class="conditional">if and only if</span><span class="name">e</span><span class="name">gAttr</span><span class="name">sAttr</span><span class="name">wasGeneratedBy(e,a1,gAttr)</span><span class="name">wasStartedBy(a2,e,sAttr)</span><span class="name">wasStartedBy</span><span class="name">wasStartedBy</span><span class="name">wasStartedBy</span><span class="name">old</span><span class="name">new</span><span class="name">ag</span><span class="conditional">if</span><span class="name">wasRevisionOf(new,old,ag)</span><span class="conditional">then</span><span class="name">e</span><span class="name">eAttrs</span><span class="name">dAttrs</span><span class="name">wasDerivedFrom(new,old,dAttrs)</span><span class="name">entity(e,eAttrs)</span><span class="name">specializationOf(new,e)</span><span class="name">specializationOf(old,e)</span><span class="name">wasRevisionOf</span><span class="name">wasDerivedFrom</span><span class="name">e2</span><span class="name">e1</span><span class="name">wasDerivedFrom(e2,e1)</span><span class="conditional">If</span><span class="name">wasAttributedTo(e,ag)</span><span class="name">e</span><span class="name">ag</span><span class="conditional">then</span><span class="name">a</span><span class="name">attr1</span><span class="name">attr2</span><span class="name">t1</span><span class="name">t2</span><span class="conditional">If</span><span class="name">wasQuotedFrom(e2,e1,ag2,ag1,attrs)</span><span class="name">e2</span><span class="name">e1</span><span class="name">ag2</span><span class="name">ag1</span><span class="conditional">then</span><span class="name">w3:Consortium</span><span class="name">tr:WD-prov-dm-20111215</span><span class="name">e</span><span class="name">entity(e,av)</span><span class="name">av</span><span class="name">alternateOf</span><span class="name">a</span><span class="name">e</span><span class="name">attrs</span><span class="name">t</span><span class="conditional">if</span><span class="name">used(a,e,attrs)</span><span class="name">used(a,e,attrs,t)</span><span class="conditional">then</span><span class="name">e</span><span class="name">a</span><span class="name">a</span><span class="name">e</span><span class="name">attrs</span><span class="name">t</span><span class="conditional">if</span><span class="name">wasGeneratedBy(e,a,attrs)</span><span class="name">wasGeneratedBy(e,a,attrs,t)</span><span class="conditional">then</span><span class="name">e</span><span class="name">a</span><span class="name">a</span><span class="name">e2</span><span class="name">e1</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">a</span><span class="name">e1</span><span class="name">e2</span><span class="name">g2</span><span class="name">u1</span><span class="conditional">if</span><span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span><span class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] cup; attrs)</span><span class="conditional">then</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">if</span><span class="name">wasDerivedFrom(e2,e1,[prov:steps="any"] cup; attrs)</span><span class="conditional">then</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="conditional">if</span><span class="name">wasInformedBy(a2,a1)</span><span class="conditional">then</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="conditional">if</span><span class="name">wasStartedBy(a2,a1)</span><span class="conditional">then</span><span class="name">a1</span><span class="name">a2</span><span class="name">a</span><span class="name">ag</span><span class="conditional">if</span><span class="name">wasStartedBy(a,ag)</span><span class="conditional">then</span><span class="name">a</span><span class="name">ag</span><span class="name">a</span><span class="name">ag</span><span class="conditional">if</span><span class="name">wasAssociatedWith(a,ag)</span><span class="conditional">then</span><span class="name">a</span><span class="name">ag</span><span class="name">ag</span><span class="name">g1</span><span class="name">g2</span><span class="name">a0</span><span class="name">a1</span><span class="name">a2</span><span class="name">a2</span><span class="name">e</span><span class="name">a0</span><span class="name">e</span><span class="name">a0</span><span class="name">a2</span><span class="name">e</span><span class="name">e</span><span class="name">a1</span><span class="name">a2</span><span class="name">attrs1</span><span class="name">attrs2</span><span class="conditional">if</span><span class="name">wasGeneratedBy(id1,e,a1,attrs1)</span><span class="name">wasGeneratedBy(id2,e,a2,attrs2)</span><span class="conditional">then</span><span class="name">id1</span><span class="name">id2</span><span class="name">a1</span><span class="name">a2</span><span class="name">attrs1</span><span class="name">attrs2</span><span class="name">a</span><span class="name">e1</span><span class="name">e2</span><span class="name">attrs2</span><span class="conditional">if</span><span class="name">wasDerivedFrom(e2,e1, ' + 
+'        [prov:steps="single"])</span><span class="name">wasGeneratedBy(e2,a,attrs2)</span><span class="conditional">then</span><span class="name">used(a,e1,attrs1)</span><span class="name">attrs1</span><span class="name">e2</span><span class="name">e1</span><span class="name">wasDerivedFrom(e2,e1)</span><span class="name">used(a,e1)</span><span class="name">wasGeneratedBy(e2,a,attrs2)</span><span class="name">e1</span><span class="name">e2</span><span class="name">c2</span><span class="name">(k1, v1)</span><span class="name">(k2, v2)</span><span class="name">c1</span><span class="name">c1==c2</span><span class="name">c1==c2, k1==k2, ' + 
+'      v1==v2</span><span class="name">v1==v2</span><span class="name">c2</span><span class="name">c3</span><span class="name">{ (k2 v2) ' + 
+'        }</span><span class="name">(k1,v1)</span><span class="name">tr:prov-dm</span><span class="name">tr:prov-dm</span><span class="name">tr:WD-prov-dm-20111215</span><span class="name">tr:WD-prov-dm-20111018</span><span class="name">w3:Consortium</span><span class="name">tr:prov-dm</span><span class="name">w3:Consortium</span><span class="name">ex:acc1</span><span class="name">ex:acc1</span><span class="name">tr:prov-dm</span><span class="name">tr:prov-dm</span></html> ' + 
+' ' ;
--- a/presentations/dagstuhl/prov-dm/overview/index.html	Thu Feb 23 09:15:19 2012 -0500
+++ b/presentations/dagstuhl/prov-dm/overview/index.html	Thu Feb 23 14:29:37 2012 +0000
@@ -189,7 +189,7 @@
 
 
 
-<div class="slide" id="charter">
+<div class="slide" id="interchange">
 
 	<h2>Interchange</h2>
 
@@ -211,6 +211,21 @@
 </div>
 
 
+<div class="slide" id="provenance-definition">
+
+	<h2>A Definition of Provenance</h2>
+
+
+<p>
+<div class="glossary-ref" ref="glossary-provenance">
+</div>
+</p>
+
+
+
+</div>
+
+
 <div class="slide" id="layered1">
 
 	<h2>Layered Model</h2>