minor edits: prov:label, traceability (issue-218), definition of type, definition of qualified name
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Tue, 17 Jan 2012 10:17:58 +0000
changeset 1374 312911932910
parent 1373 a551e9259b8d
child 1375 c51e47550a55
minor edits: prov:label, traceability (issue-218), definition of type, definition of qualified name
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Tue Jan 17 09:25:17 2012 +0000
+++ b/model/ProvenanceModel.html	Tue Jan 17 10:17:58 2012 +0000
@@ -1668,137 +1668,8 @@
 
 </section>
 
-<!--
-
-<section id="record-planLink">
-<h4>Plan Link Record</h4>
-
-<p>Provenance reflects activities that have occurred.  In some  
-cases, those activities reflect the execution of a plan that was  
-designed in advance to guide the execution.  PROV-DM allows attaching  
-a plan to an activity record, which represents what was intended to  
-happen.  The plan can be useful for various tasks, for example to  
-validate the execution as represented in the provenance record, to  
-manage expectation failures, or to provide explanations.</p>
-
-<p>In the context of PROV-DM, a <dfn>plan</dfn> should be understood as a set of
-actions or steps intended to achieve some goal. PROV-DM is not
-prescriptive about the nature of plans, their representation, the
-actions and steps they consist of, and their intended goals.  Hence,
-for the purpose of this specification, a plan can be a workflow for a
-scientific experiment, a recipe for a cooking activity, or a list of
-instructions for a micro-processor execution.  While PROV-DM does not
-specify the representations of plans, it allows for activities to be
-associated with plans.  Furthermore, since plans may evolve over time,
-it may become necessary to track their provenance, and hence, plans are
-entities.  An activity MAY be associated with multiple plans. This
-allows for descriptions of activities initially associated with a
-plan, which was changed, on the fly, as the activity progresses. Plans
-can be successfully executed or they can fail. We expect applications
-to exploit PROV-DM <a href="#extensibility-section">extensibility
-mechanisms</a> to capture the rich nature of plans and associations
-between activities and plans.</p>
-
-
-<p>A 
-<dfn>plan link record</dfn> is a representation of an association
-between an activity and a plan. It is a specialization of
-an <a>activity association record</a>.  Hence, a plan is also a PROV-DM
-agent, by virtue of being associated with an activity (cf. constraint <a href="#association-agent">association-agent</a>).</p>
-
-
-
-
-<p>A plan link record, written <span class="name">hadPlan(id,a,e,attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the plan link record;</li> 
-<li><em>activity</em>: an identifier <span class="name">a</span> denoting an activity record;
-<li><em>e</em>: an identifier <span class="name">e</span> for an entity, representing a plan;
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span>, describing modalities of this relation.
-</ul>
-
-
-<div class='grammar'>
-<span class="nonterminal">planLink</span>&nbsp;::= 
-<span class="name">hadPlan</span>
-<span class="name">(</span>
-<span class="optional"> <span class="nonterminal">identifier</span>,</span>
-<span class="nonterminal">aIdentifier</span>,
-<span class="nonterminal">eIdentifier</span>
-<span class="nonterminal">optional-attribute-values</span>
-<span class="name">)</span>
-</div>
-
-
-<div class="anexample">
-<p>Below, we find assertions about
-activity <span class="name">ex:a2</span>. It is said to be associated
-with two plans <span class="name">ex:s1</span>
-and <span class="name">ex:s2</span>, two strategy documents at
-specific URLs.  The first one is supersed, whereas the second, derived
-from the first, is the most recent.</p>
-<pre class="codeexample">
-entity(ex:s1,[prov:type="prov:Plan"%% xsd:QName, ex:label="Communication Strategy 1", 
-              ex:url="http://example.org/strategy1.html" %% xsd:anyURI])
-entity(ex:s2,[prov:type="prov:Plan"%% xsd:QName, ex:label="Communication Strategy 2", 
-              ex:url="http://example.org/strategy2.html" %% xsd:anyURI])
-wasDerivedFrom(ex:s2,ex:s1)
-hadPlan(ex:a2, ex:s1,[ex:kind="supersed"])
-hadPlan(ex:a2, ex:s2,[ex:kind="newest"])
-</pre>
-</div>
-</section>
--->
-
-<!--
-
-<section id="record-Participation">
-<h4>Participation Record</h4>
-
-<p>A <dfn id="dfn-Participation">participation record</dfn> is a representation of the involvement of an entity in an activity. A participation record can be asserted or inferred.</p>
-
-
-<p>In PROV-ASN, a participation record's text matches the <span class="nonterminal">participationRecord</span> production of the grammar defined in this specification document.</p>
-
-
-<div class='grammar'>
-<span class="nonterminal">participationRecord</span>&nbsp;::= 
-<span class="name">hadParticipant</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">)</span>
-</div>
-
-
-
-<p> A participation record,
-written <span class="name">hadParticipant(pe,e)</span> in PROV-ASN:
-<ul> 
-<li> contains to identifier <span class="name">pe</span> identifying an activity record representing an activity;
-<li> contains an identifier  <span class="name">e</span>  identifying an entity record, which is 
-a representation of an entity involved in this activity.
-</ul>
-
-<p>An entity's participation in an activity can be by direct usage or direct control. But also, if an entity and situation are characterized in two complementary manners (and are represented by two entity records related by <span class="name">isComplementOf</span>), if one of them participates in an activity,  so does the other.  The following captures the definition of participation.</p>
-
-<div class='constraint' id='participation'>
-Given two identifiers <span class="name">pe</span> and  <span class="name">e</span>, respectively identifying  an activity record and an entity record, the record <span class="name">hadParticipant(pe,e)</span> holds <span class='conditional'>if and only if</span>:
-<ul> 
-<li> <span class="name">used(pe,e)</span> holds, or</li>
-<li> <span class="name">wasControlledBy(pe,e)</span> holds, or</li>
-<li>  <span class="name">wasComplementOf(e1,e)</span> holds for some entity record identified by <span class="name">e1</span>, and 
- <span class="name">hadParticipant(pe,e1)</span> holds  some activity record  identified by <span class="name">pe</span>.</li>
-</ul>
-</div>
-
-
-<div class='pending'>Suggested definition for participation. This is <a href="http://www.w3.org/2011/prov/track/issues/49">ISSUE-49</a>.</div>
-
-</section>
-
--->
+
+
 
 </section>
 
@@ -2672,9 +2543,20 @@
 <section id="record-attribute">
 <h4>Attribute</h4>
 
-<p>An <dfn id="dfn-attribute">attribute</dfn> is a <em>qualified name</em>. A qualified name can be mapped into an IRI
+<p>An <dfn id="dfn-attribute">attribute</dfn> is a <em>qualified name</em>. 
+An <dfn id="dfn-qualified name">qualified name</dfn> is a name subject to namespace interpretation. It consists of namespace, denoted by an optional prefix, and a local name. The namespace is denoted by an IRI [[!IRI]].</p>
+
+
+<p>PROV-DM stipulates that a qualified name can be mapped into an IRI
  by concatenating the IRI associated with the prefix and the local part (see detailed rule in [[!RDF-SPARQL-QUERY]], Section <a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/#QSynIRI">4.1.1</a>).</p>
 
+<p>A qualified name's prefix is OPTIONAL. If a prefix occurs in a
+ qualified name, it refers to a <a>namespace</a> declared in the
+ record container.  In the absence of prefix, the qualified name
+ refers to the default namespace declared in the container.</p>
+
+<p>In PROV-ASN, an attribute's text matches the <span class="nonterminal">attribute</span> production of the grammar defined in this specification document.</p>
+
 <div class='grammar'>
 <span class="nonterminal">attribute</span>&nbsp;::=  <span class="nonterminal">qualifiedName</span><br/>
 <span class="nonterminal">qualifiedName</span> &nbsp;::= <span class="nonterminal">prefixedName</span> | <span class="nonterminal">unprefixedName</span><br/>
@@ -2684,10 +2566,6 @@
 <span class="nonterminal">localPart</span> &nbsp;::= <em>a name without colon compatible with the <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NC_NAME</a> production [[!XML-NAMES]]</em>
 </div>
 
-<p>A qualified name's prefix is OPTIONAL. If a prefix occurs in a
- qualified name, it refers to a <a>namespace</a> declared in the
- record container.  In the absence of prefix, the qualified name
- refers to the default namespace declared in the container.</p>
 
 <div class="note">Note that XML NC_NAME don't allow local identifiers to start with a number.  Instead, should we use the productions used in SPARQL or TURTLE?</div>
 
@@ -2707,7 +2585,7 @@
 
 <p>The PROV data model introduces a fixed set of attributes in the <a href="#prov-dm-namespace">PROV-DM namespace</a>:</p>
 <ul>
-<li> The attribute <dfn id="dfn-role"><span class="name">prov:role</span></dfn>  denotes the function of an entity with respect to an activity, in the context of a usage, generation, activity association, start, end record. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in such records. The value associated with a <span class="name">prov:role</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. 
+<li> The attribute <dfn id="dfn-role"><span class="name">prov:role</span></dfn>  denotes the function of an entity with respect to an activity, in the context of a usage, generation, activity association, start, end record. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in such records. The value associated with a <span class="name">prov:role</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. </li>
 
 <div class="anexample">
 <p>The following start record describes the role of the agent identified by <span class="name">ag</span> in this start relation with activity <span class="name">a</span>. </p>
@@ -2717,7 +2595,8 @@
 </div>
  </li>
 
-<li> The attribute <dfn id="dfn-type"><span class="name">prov:type</span></dfn>  provides further typing information for the element or relation asserted in the record. The value associated with a <span class="name">prov:type</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. The attribute <span class="name">prov:type</span> is allowed to occur multiple times in a record.
+<li> The attribute <dfn id="dfn-type"><span class="name">prov:type</span></dfn>  provides further typing information for the element or relation asserted in the record. PROV-DM liberally defines a type as a category of things having common characteristics. PROV-DM is agnostic about the representation of types, and only states that
+the value associated with a <span class="name">prov:type</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. The attribute <span class="name">prov:type</span> is allowed to occur multiple times in a record.</li>
 
 <div class="anexample">
 <p>The following record declares an agent of type software agent</p>
@@ -2729,6 +2608,19 @@
 
 <li> The  attribute <dfn id="dfn-steps"><span class="name">prov:steps</span></dfn>  defines the level of precision associated with a derivation record. The value associated with a <span class="name">prov:steps</span> attribute  MUST be   <span class="name">"single"</span> or <span class="name">"any"</span>. The attribute <span class="name">prov:step</span> occurs at most once in a derivation record. A derivation record without attribute <span class="name">prov:step</span> is considered to be equivalent to the same record extended with an extra attribute  <span class="name">prov:step</span> and associated value <span class="name">"any"</span>. </li>
 
+<div class="anexample">
+<p>The following record declares an imprecise-1 derivation, which is known to involve one activity, though its identity, usage details of <span class="name">ex:e1</span>, and generation details of <span class="name">ex:e2</span> are not asserted.</p>
+<pre class="codeexample">
+   wasDerivedFrom(ex:e2, ex:e1, [prov:steps="single"])
+</pre>
+</div>
+
+<li> The attribute <dfn id="dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation.</li>
+
+<div class='issue'>
+ This is <a href="http://www.w3.org/2011/prov/track/issues/219">ISSUE-219</a>. </div>
+
+
 </ul>
 </section>
 
@@ -2837,7 +2729,7 @@
 <span class="nonterminal">IRI</span>&nbsp;::=  <em>an IRI compatible with production IRI in [[!IRI]], enclosed in a pair of &lt; (U+3C) and &gt; (U+3E) characters </em>
 </div>
 
-<div class='note'>
+<div class='issue'>
 Currently, the non-terminal <span class="nonterminal">asserter</span> is defined as IRI. We may want the asserter to be an agent instead, and therefore use PROV-DM to express the provenance of PROV-DM.  We seek inputs on how to resolve this issue. This is <a href="http://www.w3.org/2011/prov/track/issues/217">ISSUE-217</a></div>
 
 </section>
@@ -2916,7 +2808,7 @@
 
 
 </section>
-
+ 
 </section>
 
 </section>
@@ -2944,9 +2836,9 @@
 
 <p> It is common that we may want to know who or what may have some influence, whether direct or indirect, on a given entity, or who may, directly or not, have some responsibility for a given outcome.  Hence, we may want to infer such a notion from an existing set of PROV-DM records.   Vice-versa, we may have knowledge of this influence and responsibility, but without knowing its actual details. Thus, we may also want to assert such a notion. </p>
 
-<p> A <dfn id="dfn-Traceability">traceability record</dfn> states the existence of  a  "dependency path" between two entities, indicating that one entity can be shown to be in the lineage of another, and may have influenced it, or may bear some responsibility for it, in some way. A traceability record subsumes derivation, activity association, and responsibility, and is defined to be transitive.  </p>  
-
-<p> A traceability record, written <span class="name">tracedTo(id,e2,e1,attrs)</span> in PROV-ASN:</p>
+<p> A <dfn id="dfn-Traceability">traceability record</dfn> states the existence of  a  "dependency path" between two entities, indicating that one entity can be shown to be in the lineage of another, and may have influenced it, or may bear some responsibility for it, in some way. The traceability relation subsumes derivation, activity association, and responsibility, and is defined to be transitive.  </p>  
+
+<p> A traceability record, written <span class="name">tracedTo(id,e2,e1,attrs)</span> in PROV-ASN, contains the following components:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the traceability record;</li> 
 <li><em>entity</em>:  an identifier <span class="name">e2</span> identifying an entity;
@@ -2970,9 +2862,9 @@
 <span class="name">)</span>
 </div>
 
-<p>A traceability record can be inferred from existing relations, or can be asserted stating that such a dependency path exists without the asserter knowing its individual steps, as expressed by the following constraints.
-
-<div class='constraint' id='traceability-inference'>
+<p>A traceability record can be inferred from existing records, or can be asserted stating that such a dependency path exists without the asserter knowing its individual steps, as expressed by the following inference and constraint, respectively.
+
+<div class='inference' id='traceability-inference'>
 Given two identifiers <span class="name">e2</span> and  <span class="name">e1</span> identifying entity records, 
 the following statements hold:
 
@@ -2986,9 +2878,10 @@
 </ol>
 </div>
 
+<p>We note that the inference rule <a href="#traceability-inference">traceability-inference</a> does not allow us to infer attributes, which are record and application specific. </p>
+
 <div class='constraint' id='traceability-assertion'>
-<span class='conditional'>If</span> the record <span class="name">tracedTo(r2,r1)</span> holds
-for two identifiers <span class="name">r2</span> and  <span class="name">r1</span> identifying entity records, 
+<span class='conditional'>If</span> the record <span class="name">tracedTo(r2,r1,attrs)</span> holds for two identifiers <span class="name">r2</span> and  <span class="name">r1</span> identifying entity records, and attribute-value pairs <span class="name">attrs</span>,
  <span class='conditional'>then</span> there exist
 <span class="name">e<sup>0</sup></span>, <span class="name">e<sup>1</sup></span>, ..., <span class="name">e<sup>n</sup></span> for <span class="name">n&ge;1</span>, with <span class="name">e<sup>0</sup></span>=<span class="name">r2</span>  and <span class="name">e<sup>n</sup></span>=<span class="name">r1</span>, and
 for any i such that <span class="name">0&le;i&le;n-1</span>, at least of the following statements holds: