author | dgarijo |
Wed, 06 Feb 2013 21:31:49 +0100 | |
changeset 5491 | 7349cb4fab78 |
parent 5490 | ab5ffa1fb524 (current diff) |
parent 5489 | f9e5f131496e (diff) |
child 5492 | a3ca99e2748a |
--- a/reports/prov-implementations.html Wed Feb 06 21:31:20 2013 +0100 +++ b/reports/prov-implementations.html Wed Feb 06 21:31:49 2013 +0100 @@ -2,7 +2,7 @@ <html><head> <title>PROV Implementation Report</title> - <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script> + <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script> <script src="../model/provbib.js" class="remove"></script> <script class="remove"> var respecConfig = { @@ -110,17 +110,17 @@ </p> </section> <section id="implementations"> - <h2>Implementations</h2> + <h2>Implementations</h2> The following lists the reported implementations, the type of implementation, supported PROV encodings and the URL of the implementation. - <p>Implementation Type: - <ul> - <li>Application</li> - <li>Framework/API</li> - <li>Service</li> - <li>Vocabulary</li> - <li>Constraints Validator</li> - </ul> + <p>Implementation Type: + <ul> + <li>Application</li> + <li>Framework/API</li> + <li>Service</li> + <li>Vocabulary</li> + <li>Constraints Validator</li> + </ul> </p> <table border="1" cellspacing="0"> <caption id="implementations-table">Table 1: List of implementations reported to the PROV Working Group.</caption> @@ -131,457 +131,2518 @@ <th scope="col">PROV Encodings</th> <th scope="col">URL</th> </tr> - <tr> + <tr id="1"> <td>1</td> - <th scope="row">ProvPy</th> + <th scope="row">WebLab-PROV</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O, PROV-N</td> + <td><a href="http://weblab-project.org/index.php?title=WebLab-PROV">http://weblab-project.org/index.php?title=WebLab-PROV</a></td> + </tr> + <tr id="2"> + <td>2</td> + <th scope="row">StatJR eBook system</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O, PROV-JSON</td> + <td><a href="http://www.bristol.ac.uk/cmm/software/statjr/index.html">http://www.bristol.ac.uk/cmm/software/statjr/index.html</a></td> + </tr> + <tr id="3"> + <td>3</td> + <th scope="row">PoN</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-N, PROV-JSON, PROV-N (and RDF serialization in future) via the provpy module.</td> + <td><a href="http://tina.ecs.soton.ac.uk/djangopon/">http://tina.ecs.soton.ac.uk/djangopon/</a></td> + </tr> + <tr id="4"> + <td>4</td> + <th scope="row">WingsProvenanceExport</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="https://github.com/dgarijo/WingsProvenanceExport">https://github.com/dgarijo/WingsProvenanceExport</a></td> + </tr> + <tr id="5"> + <td>5</td> + <th scope="row">CollabMap</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-JSON</td> + <td><a href="http://www.collabmap.org/">http://www.collabmap.org/</a></td> + </tr> + <tr id="6"> + <td>6</td> + <th scope="row">Taverna</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="https://github.com/wf4ever/taverna-prov/">https://github.com/wf4ever/taverna-prov/</a></td> + </tr> + <tr id="7"> + <td>7</td> + <th scope="row">ProvToolbox</th> + <td>Framework / API<br>Service</td> + <td>PROV-O, PROV-N, PROV-XML, prov-json</td> + <td><a href="https://github.com/lucmoreau/ProvToolbox">https://github.com/lucmoreau/ProvToolbox</a></td> + </tr> + <tr id="8"> + <td>8</td> + <th scope="row">Provenance for Earth Science</th> + <td>Application (consumes / generates provenance)<br>Service</td> + <td>PROV-O</td> + <td><a href="tbd">tbd</a></td> + </tr> + <tr id="9"> + <td>9</td> + <th scope="row">Provenance Environment (ProvEn) Services</th> + <td>Application (consumes / generates provenance)<br>Service</td> + <td>PROV-O</td> + <td><a href="Coming soon">Coming soon</a></td> + </tr> + <tr id="10"> + <td>10</td> + <th scope="row">Annotation Inference Framework</th> + <td>Application (consumes / generates provenance)<br>Framework / API</td> + <td>PROV-O, PROV-N, PROV-XML, PROV-JSON</td> + <td><a href="http://users.ecs.soton.ac.uk/ask2g10/prov/">http://users.ecs.soton.ac.uk/ask2g10/prov/</a></td> + </tr> + <tr id="11"> + <td>11</td> + <th scope="row">PROVoKing</th> <td>Framework / API</td> - <td>PROV-N, Other</td> - <td><a href="https://github.com/trungdong/w3-prov">https://github.com/trungdong/w3-prov</a></td> + <td>PROV-O</td> + <td><a href="https://sites.google.com/site/provokinglibrary/">https://sites.google.com/site/provokinglibrary/</a></td> </tr> - <tr> - <td>2</td> - <th scope="row">ProvToolbox</th> - <td>Application</td> - <td>PROV-N, PROV-RDF, PROV-XML, Other</td> - <td><a href="https://github.com/lucmoreau/ProvToolbox">https://github.com/lucmoreau/ProvToolbox</a></td> + <tr id="12"> + <td>12</td> + <th scope="row">Triplify</th> + <td>Service</td> + <td>PROV-O</td> + <td><a href="http://triplify.org/">http://triplify.org/</a></td> + </tr> + <tr id="13"> + <td>13</td> + <th scope="row">Prov-gen</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-N, the author implemented an intermediate object model to represent PROV instances, called PROV-Java. Available here: +https://github.com/PaoloMissier/ProvToolbox/tree/master/prov-java</td> + <td><a href="https://github.com/PaoloMissier/ProvToolbox/tree/master/prov-gen">https://github.com/PaoloMissier/ProvToolbox/tree/master/prov-gen</a></td> + </tr> + <tr id="14"> + <td>14</td> + <th scope="row">OBIAMA (Ontology-Based Integrated Action Modelling Arena</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="https://github.com/garypolhill/obiama">https://github.com/garypolhill/obiama</a></td> + </tr> + <tr id="15"> + <td>15</td> + <th scope="row">Amalgame</th> + <td>Application (consumes / generates provenance)<br>Framework / API<br>Service</td> + <td>PROV-O</td> + <td><a href="http://semanticweb.cs.vu.nl/amalgame/">http://semanticweb.cs.vu.nl/amalgame/</a></td> + </tr> + <tr id="16"> + <td>16</td> + <th scope="row">D2R Server</th> + <td>Service</td> + <td>PROV-O</td> + <td><a href="http://d2rq.org/d2r-server">http://d2rq.org/d2r-server</a></td> + </tr> + <tr id="17"> + <td>17</td> + <th scope="row">Provenance server</th> + <td>Service</td> + <td>PROV-N, PROV-JSON</td> + <td><a href="https://provenance.ecs.soton.ac.uk/store">https://provenance.ecs.soton.ac.uk/store</a></td> + </tr> + <tr id="18"> + <td>18</td> + <th scope="row">agentSwitch</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-N, PROV-JSON</td> + <td><a href="http://hac.ecs.soton.ac.uk/agentswitch/">http://hac.ecs.soton.ac.uk/agentswitch/</a></td> + </tr> + <tr id="19"> + <td>19</td> + <th scope="row">Oracle Enterprise Transactions Controls Governor 8.6.4 </th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O, PROV-XML</td> + <td><a href="https://updates.oracle.com/Orion/Services/download/p14786779_864_Linux-x86-64.zip?aru=15596267">https://updates.oracle.com/Orion/Services/download/p14786779_864_Linux-x86-64.zip?aru=15596267</a></td> + </tr> + <tr id="20"> + <td>20</td> + <th scope="row">Pubby</th> + <td>Service</td> + <td>PROV-O</td> + <td><a href="http://wifo5-03.informatik.uni-mannheim.de/pubby/">http://wifo5-03.informatik.uni-mannheim.de/pubby/</a></td> + </tr> + <tr id="21"> + <td>21</td> + <th scope="row">Semantic Proteomics Dashboard (SemPoD)</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="http://physiomimi.case.edu/sempod/index.php/Main_Page">http://physiomimi.case.edu/sempod/index.php/Main_Page</a></td> + </tr> + <tr id="22"> + <td>22</td> + <th scope="row">DeFacto</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="http://defacto.aksw.org">http://defacto.aksw.org</a></td> + </tr> + <tr id="23"> + <td>23</td> + <th scope="row">Quality Assessment Framework</th> + <td>Framework / API</td> + <td>PROV-O</td> + <td><a href="https://github.com/cbaillie/QualityAssessmentFramework">https://github.com/cbaillie/QualityAssessmentFramework</a></td> + </tr> + <tr id="24"> + <td>24</td> + <th scope="row">Global Change Information System - Information Model and Semantic Application Prototypes</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="http://tw.rpi.edu/web/project/gcis-imsap">http://tw.rpi.edu/web/project/gcis-imsap</a></td> + </tr> + <tr id="25"> + <td>25</td> + <th scope="row">OpenUp Prov</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="TSO">TSO</a></td> + </tr> + <tr id="26"> + <td>26</td> + <th scope="row">APROVeD: Automatic Provenance Derivation</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-N, PROV-JSON</td> + <td><a href="http://users.ugent.be/~tdenies/APROVeD/">http://users.ugent.be/~tdenies/APROVeD/</a></td> + </tr> + <tr id="27"> + <td>27</td> + <th scope="row">Raw2LD</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="http://github.com/Data2Semantics/raw2ld">http://github.com/Data2Semantics/raw2ld</a></td> + </tr> + <tr id="28"> + <td>28</td> + <th scope="row">PROV-N to Neo4J DB mapping</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-N, Maps to a graph schema for the Neo4J DB.</td> + <td><a href="https://github.com/PaoloMissier/PROV_neo4j">https://github.com/PaoloMissier/PROV_neo4j</a></td> + </tr> + <tr id="29"> + <td>29</td> + <th scope="row">Earth System Science Server</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-XML, PROV-JSON</td> + <td><a href="http://es3.eri.ucsb.edu">http://es3.eri.ucsb.edu</a></td> + </tr> + <tr id="30"> + <td>30</td> + <th scope="row">prov-api</th> + <td>Framework / API</td> + <td>PROV-O</td> + <td><a href="https://github.com/dcorsar/prov-api/">https://github.com/dcorsar/prov-api/</a></td> + </tr> + <tr id="31"> + <td>31</td> + <th scope="row">Policy Reasoning Framework</th> + <td>Framework / API</td> + <td>PROV-O</td> + <td><a href="https://github.com/epignotti/PolicyReasoner">https://github.com/epignotti/PolicyReasoner</a></td> + </tr> + <tr id="32"> + <td>32</td> + <th scope="row">Informed Rural Passenger Information Infrastructure</th> + <td>Application (consumes / generates provenance)</td> + <td>PROV-O</td> + <td><a href="http://www.dotrural.ac.uk/irp/index.php?page=software">http://www.dotrural.ac.uk/irp/index.php?page=software</a></td> + </tr> + <tr id="33"> + <td>33</td> + <th scope="row">PubFlow Provenance Archive</th> + <td>Application (consumes / generates provenance)<br>Framework / API</td> + <td>PROV-O, PROV-XML</td> + <td><a href="www.pubflow.de/en/provenanceArchive">www.pubflow.de/en/provenanceArchive</a></td> + </tr> + <tr id="34"> + <td>34</td> + <th scope="row">PROV Python library</th> + <td>Framework / API</td> + <td>PROV-N, PROV-JSON</td> + <td><a href="http://pypi.python.org/pypi/prov">http://pypi.python.org/pypi/prov</a></td> + </tr> + <tr id="35"> + <td>35</td> + <th scope="row">Human Computation ontology</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="swa.cefriel.it/ontologies/hc">swa.cefriel.it/ontologies/hc</a></td> + </tr> + <tr id="36"> + <td>36</td> + <th scope="row">tavernaprov</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://ns.taverna.org.uk/2012/tavernaprov/">http://ns.taverna.org.uk/2012/tavernaprov/</a></td> + </tr> + <tr id="37"> + <td>37</td> + <th scope="row">The Open Provenance Model for Workflows (OPMW)</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://www.opmw.org/">http://www.opmw.org/</a></td> + </tr> + <tr id="38"> + <td>38</td> + <th scope="row">wfprov</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://purl.org/wf4ever/wfprov#">http://purl.org/wf4ever/wfprov#</a></td> + </tr> + <tr id="39"> + <td>39</td> + <th scope="row">roevo</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://purl.org/wf4ever/roevo">http://purl.org/wf4ever/roevo</a></td> + </tr> + <tr id="40"> + <td>40</td> + <th scope="row">P-plan</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://purl.org/net/p-plan">http://purl.org/net/p-plan</a></td> + </tr> + <tr id="41"> + <td>41</td> + <th scope="row">Jun Zhao</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://purl.org/net/provenance/ns">http://purl.org/net/provenance/ns</a></td> + </tr> + <tr id="42"> + <td>42</td> + <th scope="row">Systems molecular biology provenance ontology (SysPro) </th> + <td>Vocabulary Extension</td> + <td>PROV-O, None</td> + <td><a href="http://physiomimi.case.edu/sempod/index.php/Main_Page">http://physiomimi.case.edu/sempod/index.php/Main_Page</a></td> + </tr> + <tr id="43"> + <td>43</td> + <th scope="row">Yanfeng Shu</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://www.csiro.au/sensorweb/seff/SEFF.owl ">http://www.csiro.au/sensorweb/seff/SEFF.owl </a></td> + </tr> + <tr id="44"> + <td>44</td> + <th scope="row">ISO_19115_Lineage</th> + <td>Vocabulary Extension</td> + <td>PROV-O, none</td> + <td><a href="http://www.w3.org/2001/sw/wiki/images/a/a1/Lineage.owl">http://www.w3.org/2001/sw/wiki/images/a/a1/Lineage.owl</a></td> + </tr> + <tr id="45"> + <td>45</td> + <th scope="row">PAV Provenance, Authoring and Versioning</th> + <td>Vocabulary Extension</td> + <td>PROV-O</td> + <td><a href="http://purl.org/pav/2.1/">http://purl.org/pav/2.1/</a></td> + </tr> + <tr id="46"> + <td>46</td> + <th scope="row">cProv</th> + <td>Vocabulary Extension</td> + <td>PROV-N, PROV-XML</td> + <td><a href="http://orangelabs.com/cprov#">http://orangelabs.com/cprov#</a></td> + </tr> + <tr id="47"> + <td>47</td> + <th scope="row">Geometry enhancer</th> + <td>Vocabulary Usage</td> + <td>PROV-O</td> + <td><a href="http://geo.linkeddata.es/">http://geo.linkeddata.es/</a></td> + </tr> + <tr id="48"> + <td>48</td> + <th scope="row">Music Ontology to Media Value Chain Ontology and PROV-O Ontology Mapping</th> + <td>Vocabulary Usage</td> + <td>PROV-O</td> + <td><a href="http://oeg-dev.dia.fi.upm.es/mvco-prov/">http://oeg-dev.dia.fi.upm.es/mvco-prov/</a></td> + </tr> + <tr id="49"> + <td>49</td> + <th scope="row">PROV-DM: the PROV data model</th> + <td>Vocabulary Usage</td> + <td>PROV-N</td> + <td><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></td> + </tr> + <tr id="50"> + <td>50</td> + <th scope="row">DBpedia</th> + <td>Vocabulary Usage</td> + <td>PROV-O</td> + <td><a href="http://dbpedia.org">http://dbpedia.org</a></td> + </tr> + <tr id="51"> + <td>51</td> + <th scope="row">AERS-LD</th> + <td>Vocabulary Usage</td> + <td>PROV-O</td> + <td><a href="http://aers.data2semantics.org">http://aers.data2semantics.org</a></td> </tr> </table> </section> <section id="prov-terms"> - <h2>PROV Language Implementation</h2> - <p>This section enumerates the PROV-DM terms [[PROV-DM]] that are consumed (<img src="consume.png" width="27" height="16" alt="Consume Icon" />), - produced (<img src="produce.png" width="27" height="16" alt="Produce Icon" />), - or both consumed and produced (<img src="conprod.png" width="27" height="16" alt="Consume and Produce Icon" />) + <h2>PROV Language Implementation</h2> + <p>This section enumerates the PROV-DM terms [[PROV-DM]] that are consumed (<img src="consume.png" width="27" height="16" alt="Consume Icon" />), + produced (<img src="produce.png" width="27" height="16" alt="Produce Icon" />), + or both consumed and produced (<img src="conprod.png" width="27" height="16" alt="Consume and Produce Icon" />) by a particular implementation.</p> Hover, over the numbers to see the implementation name. <table class="feature-table"> <caption id="prov-terms-table">Table 2: Coverage of PROV-DM terms in implementations of type Application, Framework / API, or Service.</caption> <tr> <th scope="col">PROV Component</th> <th scope="col">Term</th> - <th scope="col" title='ProvPy'> #1 </th> - <th scope="col" title='ProvToolBox'> #2 </th> - <th scope="col" title='some impl'> #3 </th> + <th scope="col"><a href="#1" title="WebLab-PROV">#1</a></th> + <th scope="col"><a href="#2" title="StatJR eBook system">#2</a></th> + <th scope="col"><a href="#3" title="PoN">#3</a></th> + <th scope="col"><a href="#4" title="WingsProvenanceExport">#4</a></th> + <th scope="col"><a href="#5" title="CollabMap">#5</a></th> + <th scope="col"><a href="#6" title="Taverna">#6</a></th> + <th scope="col"><a href="#7" title="ProvToolbox">#7</a></th> + <th scope="col"><a href="#8" title="Provenance for Earth Science">#8</a></th> + <th scope="col"><a href="#9" title="Provenance Environment (ProvEn) Services">#9</a></th> + <th scope="col"><a href="#10" title="Annotation Inference Framework">#10</a></th> + <th scope="col"><a href="#11" title="PROVoKing">#11</a></th> + <th scope="col"><a href="#12" title="Triplify">#12</a></th> + <th scope="col"><a href="#13" title="Prov-gen">#13</a></th> + <th scope="col"><a href="#14" title="OBIAMA (Ontology-Based Integrated Action Modelling Arena">#14</a></th> + <th scope="col"><a href="#15" title="Amalgame">#15</a></th> + <th scope="col"><a href="#16" title="D2R Server">#16</a></th> + <th scope="col"><a href="#17" title="Provenance server">#17</a></th> + <th scope="col"><a href="#18" title="agentSwitch">#18</a></th> + <th scope="col"><a href="#19" title="Oracle Enterprise Transactions Controls Governor 8.6.4 ">#19</a></th> + <th scope="col"><a href="#20" title="Pubby">#20</a></th> + <th scope="col"><a href="#21" title="Semantic Proteomics Dashboard (SemPoD)">#21</a></th> + <th scope="col"><a href="#22" title="DeFacto">#22</a></th> + <th scope="col"><a href="#23" title="Quality Assessment Framework">#23</a></th> + <th scope="col"><a href="#24" title="Global Change Information System - Information Model and Semantic Application Prototypes">#24</a></th> + <th scope="col"><a href="#25" title="OpenUp Prov">#25</a></th> + <th scope="col"><a href="#26" title="APROVeD: Automatic Provenance Derivation">#26</a></th> + <th scope="col"><a href="#27" title="Raw2LD">#27</a></th> + <th scope="col"><a href="#28" title="PROV-N to Neo4J DB mapping">#28</a></th> + <th scope="col"><a href="#29" title="Earth System Science Server">#29</a></th> + <th scope="col"><a href="#30" title="prov-api">#30</a></th> + <th scope="col"><a href="#31" title="Policy Reasoning Framework">#31</a></th> + <th scope="col"><a href="#32" title="Informed Rural Passenger Information Infrastructure">#32</a></th> + <th scope="col"><a href="#33" title="PubFlow Provenance Archive">#33</a></th> + <th scope="col"><a href="#34" title="PROV Python library">#34</a></th> </tr> <tr> <td rowspan="8"><a href="http://www.w3.org/TR/prov-dm/#component1">Component 1: Entities/Activities</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-entity" class="essential">Entity</a></td> <td class="consume-produce"></td> - <td class="notused"></td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Activity" class="essential">Activity</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Generation" class="essential">Generation</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Usage" class="essential">Usage</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Communication" class="essential">Communication</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Start">Start</a></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-End">End</a></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Invalidation">Invalidation</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td rowspan="4"><a href="http://www.w3.org/TR/prov-dm/#component2">Component 2: Derivations</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Derivation" class="essential">Derivation</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-revision">Revision</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-quotation">Quotation</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-primary-source">Primary Source</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> - <td rowspan="9"><a href="http://www.w3.org/TR/prov-dm/#component3">Component 3: Agents,<br> - Responsibility, Influence</a></td> + <td rowspan="9"><a href="http://www.w3.org/TR/prov-dm/#component3">Component 3: Agents</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-agent" class="essential">Agent</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribution" class="essential">Attribution</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Association" class="essential">Association</a></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-delegation" class="essential">Delegation</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-plan">Plan</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> <td class="consume"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-person">Person</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> <td class="consume"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-organization">Organization</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> <td class="consume"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-software-agent">SoftwareAgent</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="produce"></td> <td class="consume"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-influence">Influence</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td><a href="http://www.w3.org/TR/prov-dm/#component4">Component 4: Bundles</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-bundle">Bundle</a></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> - <td rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate</a></td> + <td rowspan="2"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-alternate">Alternate</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-specialization">Specialization</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-mention">Mention</a></td> + <td rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component6">Component 6: Collections</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-collection">Collection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> - <td rowspan="2"><a href="http://www.w3.org/TR/prov-dm/#component6">Component 6: Collections</a></td> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-collection">Collection</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-empty-collection">EmptyCollection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-membership">Membership</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> <td class="consume-produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> - <td rowspan="5"><a href="http://www.w3.org/TR/prov-dm/#second-class-elements">Other Elements</a></td> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-identifier">Idenitifer</a></td> + <td rowspan="7"><a href="http://www.w3.org/TR/prov-dm/#second-class-elements">Other Elements</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-identifier">Identififer</a></td> + <td class="notused"></td> + <td class="consume-produce"></td> <td class="produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribute">Attribute</a></td> + <td class="notused"></td> + <td class="consume-produce"></td> <td class="produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-label">Label</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-location">Location</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-role">Role</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> <td class="produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-type">Type</a></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-value">Value</a></td> + <td class="notused"></td> + <td class="consume-produce"></td> <td class="produce"></td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume"></td> + <td class="consume-produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="produce"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="consume-produce"></td> + <td class="consume-produce"></td> </tr> </table> - </section> + </section> <section id="prov-extensions"> - <h2>PROV Vocabulary Extension</h2> - <table border="1" cellspacing="0" class="feature-table"> - <caption id="prov-terms-table">Table 3: PROV Terms extended by Vocabularies.</caption> + <h2>PROV Vocabulary Extension</h2> + <table border="1" cellspacing="0" class="feature-table"> + <caption id="prov-terms-table">Table 3: PROV Terms extended by Vocabularies.</caption> <tr> <th scope="col">PROV Component</th> <th scope="col">Term</th> - <th scope="col">Vocabulary 1</th> - <th scope="col">Vocabulary 2</th> - <th scope="col">Vocabulary 3</th> + <th scope="col"><a href="#35" title="Human Computation ontology">#35</a></th> + <th scope="col"><a href="#36" title="tavernaprov">#36</a></th> + <th scope="col"><a href="#37" title="The Open Provenance Model for Workflows (OPMW)">#37</a></th> + <th scope="col"><a href="#38" title="wfprov">#38</a></th> + <th scope="col"><a href="#39" title="roevo">#39</a></th> + <th scope="col"><a href="#40" title="P-plan">#40</a></th> + <th scope="col"><a href="#41" title="Jun Zhao">#41</a></th> + <th scope="col"><a href="#42" title="Systems molecular biology provenance ontology (SysPro) ">#42</a></th> + <th scope="col"><a href="#43" title="Yanfeng Shu">#43</a></th> + <th scope="col"><a href="#44" title="ISO_19115_Lineage">#44</a></th> + <th scope="col"><a href="#45" title="PAV Provenance, Authoring and Versioning">#45</a></th> + <th scope="col"><a href="#46" title="cProv">#46</a></th> </tr> <tr> <td rowspan="8"><a href="http://www.w3.org/TR/prov-dm/#component1">Component 1: Entities/Activities</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-entity" class="essential">Entity</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Activity" class="essential">Activity</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Generation" class="essential">Generation</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Usage" class="essential">Usage</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Communication" class="essential">Communication</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Start">Start</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-End">End</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Invalidation">Invalidation</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td rowspan="4"><a href="http://www.w3.org/TR/prov-dm/#component2">Component 2: Derivations</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Derivation" class="essential">Derivation</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-revision">Revision</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-quotation">Quotation</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-primary-source">Primary Source</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> - <td rowspan="9"><a href="http://www.w3.org/TR/prov-dm/#component3">Component 3: Agents,<br> - Responsibility, Influence</a></td> + <td rowspan="9"><a href="http://www.w3.org/TR/prov-dm/#component3">Component 3: Agents</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-agent" class="essential">Agent</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribution" class="essential">Attribution</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Association" class="essential">Association</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-delegation" class="essential">Delegation</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-plan">Plan</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-person">Person</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-organization">Organization</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-software-agent">SoftwareAgent</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-influence">Influence</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> </tr> <tr> <td><a href="http://www.w3.org/TR/prov-dm/#component4">Component 4: Bundles</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-bundle">Bundle</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> - <td rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate</a></td> + <td rowspan="2"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate</a></td> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-alternate">Alternate</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-specialization">Specialization</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-mention">Mention</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component6">Component 6: Collections</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-collection">Collection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> - <td rowspan="2"><a href="http://www.w3.org/TR/prov-dm/#component6">Component 6: Collections</a></td> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-collection">Collection</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-empty-collection">EmptyCollection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-membership">Membership</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> - <td rowspan="5"><a href="http://www.w3.org/TR/prov-dm/#second-class-elements">Other Elements</a></td> - <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-identifier">Idenitifer</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td rowspan="7"><a href="http://www.w3.org/TR/prov-dm/#second-class-elements">Other Elements</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-identifier">Identififer</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribute">Attribute</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-label">Label</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-location">Location</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-role">Role</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-type">Type</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> <tr> <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-value">Value</a></td> - <td class="notused"> </td> - <td class="notused"> </td> - <td class="notused"> </td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> </tr> </table> </section> - + + <section id="prov-usage"> + <h2>PROV Vocabulary Usage</h2> + <table border="1" cellspacing="0" class="feature-table"> + <caption id="prov-terms-table">Table 3: PROV Terms extended by Vocabularies.</caption> + <tr> + <th scope="col">PROV Component</th> + <th scope="col">Term</th> + <th scope="col"><a href="#47" title="Geometry enhancer">#47</a></th> + <th scope="col"><a href="#48" title="Music Ontology to Media Value Chain Ontology and PROV-O Ontology Mapping">#48</a></th> + <th scope="col"><a href="#49" title="PROV-DM: the PROV data model">#49</a></th> + <th scope="col"><a href="#50" title="DBpedia">#50</a></th> + <th scope="col"><a href="#51" title="AERS-LD">#51</a></th> + </tr> + <tr> + <td rowspan="8"><a href="http://www.w3.org/TR/prov-dm/#component1">Component 1: Entities/Activities</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-entity" class="essential">Entity</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Activity" class="essential">Activity</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Generation" class="essential">Generation</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Usage" class="essential">Usage</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Communication" class="essential">Communication</a></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Start">Start</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-End">End</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Invalidation">Invalidation</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td rowspan="4"><a href="http://www.w3.org/TR/prov-dm/#component2">Component 2: Derivations</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Derivation" class="essential">Derivation</a></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-revision">Revision</a></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-quotation">Quotation</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-primary-source">Primary Source</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td rowspan="9"><a href="http://www.w3.org/TR/prov-dm/#component3">Component 3: Agents</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-agent" class="essential">Agent</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribution" class="essential">Attribution</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-Association" class="essential">Association</a></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-delegation" class="essential">Delegation</a></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-plan">Plan</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-person">Person</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-organization">Organization</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-software-agent">SoftwareAgent</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="implemented"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-influence">Influence</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td><a href="http://www.w3.org/TR/prov-dm/#component4">Component 4: Bundles</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-bundle">Bundle</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td rowspan="2"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-alternate">Alternate</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-specialization">Specialization</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component6">Component 6: Collections</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-collection">Collection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-empty-collection">EmptyCollection</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-membership">Membership</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td rowspan="7"><a href="http://www.w3.org/TR/prov-dm/#second-class-elements">Other Elements</a></td> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-identifier">Identififer</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-attribute">Attribute</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-label">Label</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-location">Location</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-role">Role</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#concept-type">Type</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + <tr> + <td class="feature"><a href="http://www.w3.org/TR/prov-dm/#term-value">Value</a></td> + <td class="notused"></td> + <td class="notused"></td> + <td class="implemented"></td> + <td class="notused"></td> + <td class="notused"></td> + </tr> + </table> + </section> + <section id="prov-contraints"> <h2>PROV Constraint Implementation</h2> <table border="1" cellspacing="0" class="feature-table"> @@ -822,4 +2883,4 @@ <p>TODO: Acknowledgements to people who reported their implementations to the working group.</p> </section> </body> -</html> +</html>
--- a/semantics/checker.pl Wed Feb 06 21:31:20 2013 +0100 +++ b/semantics/checker.pl Wed Feb 06 21:31:49 2013 +0100 @@ -1,4 +1,10 @@ -% Some horrible Prolog code for PROV-CONSTRAINTS +% James Cheney, February 6, 2013 +% Some Prolog code for PROV-CONSTRAINTS + +:- consult(prov_xml). + + + remove(X,[Y|J],J) :- X == Y,!. remove(X,[Y|J],[Y|K]) :- X \== Y, remove(X,J,K). @@ -75,7 +81,8 @@ % inference 12 infer(I,J) :- member(wasDerivedFrom(_ID,E2,E1,_A,_G,_U,Attrs),I), - member('prov:type'='prov:Revision', Attrs), + member(Prov:'type'='prov:Revision', Attrs), + ns(prov,Prov), \+(member(alternateOf(E2,E1),I)), J = [alternateOf(E2,E1)|I]. @@ -422,8 +429,6 @@ -> (J = I) ; J = invalid(I)). -normalize(I,I) :- \+(infer(I,_)), !. -normalize(I,K) :- infer(I,J), !, normalize(J,K). @@ -792,7 +797,8 @@ % Constraint 50.19 typing_step(I) --> {member(entity(C,Attrs),I), - member('prov:type'='prov:EmptyCollection',Attrs)}, + member(Prov:'type'='prov:EmptyCollection',Attrs), + ns(prov,Prov)}, (ensure(typeOf(C,'prov:Collection')) ; ensure(typeOf(C,'entity')) ; ensure(typeOf(C,'prov:EmptyCollection')) ). @@ -864,9 +870,35 @@ impos_check(I,T) :- \+(impos(I,T,_)). +% Main body of validator: normalization, validation. + +normalize(I,I) :- \+(infer(I,_)), !. +normalize(I,K) :- infer(I,J), !, normalize(J,K). + + +normalize_document((I,Bundles),(J,Bundles2)) :- + normalize(I,J), + normalize_bundles(Bundles,Bundles2). + +normalize_bundles([],[]). +normalize_bundles([(ID,J)|Bundles],[(ID,K)|Bundles2]) :- + normalize(J,K), + normalize_bundles(Bundles,Bundles2). + valid(I) :- normalize(I,J), J \= invalid(_), freeze(J,K,0,_), ordering_check(K), typing(J,T), impos_check(J,T). + + +valid_document((I,Bundles)) :- + valid(I), + valid_bundles(Bundles). + +valid_bundles([]). +valid_bundles([(ID,J)|Bundles]) :- + valid(J), + \+(member((ID,_),Bundles)), + valid_bundles(Bundles).
--- a/semantics/prov_xml.pl Wed Feb 06 21:31:20 2013 +0100 +++ b/semantics/prov_xml.pl Wed Feb 06 21:31:49 2013 +0100 @@ -19,34 +19,96 @@ % Read XML from Filename and % bind J to a list of Prolog terms like % [activity('ex:a1',_,_,[]), ... ] -provx_load(Filename,K):- +% Assumes a single instance with no bundle tags +provx_load_instance(Filename,K):- load_structure(Filename,X,[dialect(xmlns),space(remove)]), provx(X,J), postprocess(J,K). -provx([],_). -provx([element(Prov:document,_,Contents)|Elements],J):- - ns(prov,Prov), - provx_expressions(Contents,J), - provx(Elements,J). +provx_load_document(Filename,K):- + load_structure(Filename,X,[dialect(xmlns),space(remove)]), + preprocess_document(X,D), + provx_document(D,J), + postprocess_document(J,K). -provx_expressions([],[]):-!. +% Split document into toplevel XML and identified bundles +preprocess_document([element(Prov:document,_,Contents)],(X,Bundles)):- + ns(prov,Prov), + preprocess_contents(Contents,X,Bundles). -% This doesn't handle the case of alternate and specialization correctly, -% since they don't have an id or attributes -provx_expressions([element(Prov:Name,Attrs,Contents)|Elements],[Expression|J]):- +preprocess_contents([],[],[]). +preprocess_contents([element(Prov:bundle,Attrs,X)|Xs],Toplevel,[(ID,X)|Bundles]) :- + ns(prov,Prov), + attribute_value(Prov:id,Attrs,ID), + preprocess_contents(Xs,Toplevel,Bundles). + +preprocess_contents([element(NS:Tag,Attrs,X)|Xs], + [element(NS:Tag,Attrs,X)|Toplevel], Bundles) :- + Tag \= bundle, + preprocess_contents(Xs,Toplevel,Bundles). + + +% Handle a document toplevel instance and bundles. +provx_document((X,Xs),(J,Bundles)) :- + provx_expressions(X,J,[]), + provx_bundles(Xs,Bundles). + +provx_bundles([],[]). +provx_bundles([(ID,X)|Xs], + [(ID,J)|Bundles]) :- + provx_expressions(X,J,[]), + provx_bundles(Xs,Bundles). + +provx([element(Prov:document,_,Contents)|_Elements],J):- ns(prov,Prov), - template(Name,TArgs), + provx_expressions(Contents,J,[]). + +provx_expressions([],Es,Es):-!. +provx_expressions([element(Prov:hadMember,_Attrs,[Collx|Ents])|Elements],Es0,Es2):- + % hadMember is a special case, as it contains multiple members, + % and each one is separate PROV-N statement + ns(prov,Prov), + Collx=element(Prov:collection,CollAttrx,_), + attribute_value(Prov:ref,CollAttrx,CollID), + provx_members(Ents,CollID,Es0,Es1), + !, + provx_expressions(Elements,Es1,Es2). +provx_expressions([element(Prov:Name,Attrs,Contents)|Elements],[Expression|Es0],Es1):- + % template args start with id + ns(prov,Prov), + template(Name,[id|TArgs]),!, attribute_value(Prov:id,Attrs,ID), provx_args(TArgs,Contents,Args), Expression=..[Name,ID|Args], !, - provx_expressions(Elements,J). -provx_expressions([E|_],_):- + provx_expressions(Elements,Es0,Es1). +provx_expressions([element(Prov:Name,_Attrs,Contents)|Elements],[Expression|Es0],Es1):- + % no id expected + ns(prov,Prov), + template(Name,TArgs), + TArgs\=[id|_], + provx_args(TArgs,Contents,Args), + Expression=..[Name|Args], + !, + provx_expressions(Elements,Es0,Es1). +provx_expressions([E|_],_,_):- write('Failing on '),write(E),nl, fail. -provx_args([],Elements,[Attrs]):- +provx_members([],_,Es,Es). +provx_members([element(Prov:entity,Attrs,Contents)|Elements], + Collection, + [hadMember(Collection,Entity)|Es0], + Es1):- + !, + ns(prov,Prov), + arg_value(Attrs,Contents,Entity), + provx_members(Elements,Collection,Es0,Es1). +provx_members(X,_,_,_):- + write('Failing on collection'),write(X),nl. + +provx_args([],_,[]). +provx_args([attrs],Elements,[Attrs]):- % Additional attributes !, provx_attributes(Elements,Attrs). @@ -77,13 +139,14 @@ !, provx_args(TArgs,Elements,Args). provx_args(TArgs,Elements,_):- - write('Failing on args'),write(Elements),nl, + write('Failing on args '),write(Elements),nl, write('Expected '),write(TArgs),nl, fail. provx_attributes([],[]). -provx_attributes([element(Key,Attrs,Contents)|Elements],[Key=Value]):- - Contents=[Value|_], % Expecting Contents single element list containing atom +provx_attributes([element(Key,_Attrs,Contents)|Elements],[Key=Value|Attrs]):- + % Expecting Contents single element list containing atom + Contents=[Value|_], provx_attributes(Elements,Attrs). % If no Name=Val pair in Attrs, succeed anyway with Val unbound @@ -104,35 +167,36 @@ % Arguments for each type of expression % '+' prefix indicates optional argument % - we need a placeholder in Prolog term, but value might not be provided -template(entity,[]). -template(activity,[+startTime,+endTime]). -template(agent,[]). - -template(wasGeneratedBy,[entity,+activity,+time]). -template(used,[activity,entity,+time]). +template(entity,[id,attrs]). +template(activity,[id,+startTime,+endTime,attrs]). +template(agent,[id,attrs]). -template(wasInformedBy,[informed,informant]). -template(wasStartedBy,[activity,+trigger,+starter,+time]). -template(wasEndedBy,[activity,+trigger,+ender,+time]). -template(wasInvalidatedBy,[entity,+activity,+time]). +template(wasGeneratedBy,[id,entity,+activity,+time,attrs]). +template(used,[id,activity,+entity,+time,attrs]). -template(wasDerivedFrom,[generatedEntity,usedEntity,-activity,-generation,-usage]). -template(wasAttributedTo,[entity,agent]). -template(wasAssociatedWith,[activity,+agent,-plan]). -template(actedOnBehalfOf,[delegate,responsible,+activity]). -template(wasInfluencedBy,[influencee,influencer]). +template(wasInformedBy,[id,informed,informant,attrs]). +template(wasStartedBy,[id,activity,+trigger,+starter,+time,attrs]). +template(wasEndedBy,[id,activity,+trigger,+ender,+time,attrs]). +template(wasInvalidatedBy,[id,entity,+activity,+time,attrs]). + +template(wasDerivedFrom,[id,generatedEntity,usedEntity,-activity,-generation,-usage,attrs]). +template(wasAttributedTo,[id,entity,agent,attrs]). +template(wasAssociatedWith,[id,activity,+agent,-plan,attrs]). +template(actedOnBehalfOf,[id,delegate,responsible,+activity,attrs]). +template(wasInfluencedBy,[id,influencee,influencer,attrs]). template(specializationOf,[specificEntity,generalEntity]). template(alternateOf,[alternate1,alternate2]). + expand(X,Y) :- (X == null -> Y = _; Y = X). postprocess([],[]). -postprocess([specializationOf(_,E1,E2,_)|J], - [specializationOf(E1,E2)|K]) :- - !,postprocess(J,K). -postprocess([alternateOf(_,E1,E2,_)|J], - [alternateOf(E1,E2)|K]) :- - !,postprocess(J,K). +%postprocess([specializationOf(_,E1,E2,_)|J], +% [specializationOf(E1,E2)|K]) :- +% !,postprocess(J,K). +%postprocess([alternateOf(_,E1,E2,_)|J], +% [alternateOf(E1,E2)|K]) :- +% !,postprocess(J,K). postprocess([wasDerivedFrom(ID,E2,E1,A,G1,U1,Attrs)|J], [wasDerivedFrom(ID,E2,E1,A,G2,U2,Attrs)|K]) :- !, @@ -142,4 +206,12 @@ postprocess(J,K). postprocess([A|J],[A|K]) :- postprocess(J,K). - \ No newline at end of file + +postprocess_document((I,Bundles),(J,Bundles2)) :- + postprocess(I,J), + postprocess_bundles(Bundles,Bundles2). + +postprocess_bundles([],[]). +postprocess_bundles([(ID,I)|Bundles],[(ID,J)|Bundles2]) :- + postprocess(I,J), + postprocess_bundles(Bundles,Bundles2).
--- a/semantics/prov_xml_test.pl Wed Feb 06 21:31:20 2013 +0100 +++ b/semantics/prov_xml_test.pl Wed Feb 06 21:31:49 2013 +0100 @@ -3,7 +3,7 @@ :- consult(prov_xml). test1(J):- - provx_load('constraint_test_provx/unification-usage-s2-PASS-c23.provx',J). + provx_load_document('constraint_test_provx/unification-bundle-f1-FAIL-c55-c56.provx',J). % Test and report on directory of .provx files % - only tests whether the mapping completes, @@ -16,7 +16,7 @@ \+memberchk(File,['.','..']), absolute_file_name(File,AbsFile,[relative_to(Dir)]), exists_file(AbsFile), - succeeds(provx_load(AbsFile,J),PassOrFail), + succeeds(provx_load_document(AbsFile,J),PassOrFail), write(PassOrFail),write('\t'),write(File),nl,nl. test_all:- @@ -26,7 +26,7 @@ validate_all:- test2(File,_,J,pass), - (valid(J) + (valid_document(J) -> ( write('valid\t'),write(File), nl,nl) ; (write('invalid\t'),write(File), nl,nl)), fail. @@ -34,8 +34,8 @@ test3(File,J,K) :- Dir='constraint_test_provx', absolute_file_name(File,AbsFile,[relative_to(Dir)]), - succeeds(provx_load(AbsFile,J),_), - normalize(J,K). + succeeds(provx_load_document(AbsFile,J),_), + normalize_document(J,K). succeeds(Goal,pass):- call(Goal),