components
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 12 Mar 2012 21:58:29 +0000
changeset 1884 e073943311d7
parent 1883 dcbabaa55a3a
child 1885 12f3b6a4b078
components
model/working-copy/wd5-prov-dm-components.html
--- a/model/working-copy/wd5-prov-dm-components.html	Mon Mar 12 21:56:48 2012 +0000
+++ b/model/working-copy/wd5-prov-dm-components.html	Mon Mar 12 21:58:29 2012 +0000
@@ -847,6 +847,15 @@
 
 <h2>PROV-DM Concepts</h2>
 
+
+<div style="text-align: center;">
+<figure style="max-width: 90%; ">
+  <img src="../images/components.png" alt="PROV-DM Components"  style="max-width: 90%; " />
+<figcaption>PROV-DM Components</figcaption>
+</figure>
+</div>
+
+
 <section id="component1"> 
 <h3>Component 1: Entities and Activities</h3>
 
@@ -1198,6 +1207,35 @@
 
 </section>
 
+<section id="term-attribution">
+<h3>Attribution</h3> 
+
+<p><dfn id="dfn-attribution">Attribution</dfn> is the ascribing of an entity to an agent. More precisely, when an entity  <span class="name">e</span> is attributed to agent  <span class="name">ag</span>, entity <span class="name">e</span> was generated by some activity <span class="name">a</span>, which in turn was associated to agent  <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.
+
+<p> An attribution relation<span class="withPn">, written <span class="pnExpression"> wasAttributedTo(id,e,ag,attr)</span> in PROV-N,</span> contains the following elements:</p>
+<ul>
+<li><span class='attribute'>id</span>: an OPTIONAL identifier for the relation;</li> 
+<li><span class='attribute'>entity</span>: an entity identifier;</li>
+<li><span class='attribute'>agent</span>: the identifier of the agent whom the entity is ascribed to;</li>
+<li><span class='attribute'>attributes</span>: an OPTIONAL set of attribute-value pairs to further describe the properties of the relation.</li>
+</ul>
+
+<div class="anexample">
+<p>
+Revisiting the example of <a href="#section-example-b">Section 3.2</a>,
+we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without having to make an activity explicit.
+<pre class="codeexample">
+agent(ex:Paolo, [ prov:type="Person" ])
+agent(ex:Simon, [ prov:type="Person" ])
+entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [prov:role="editor"])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [prov:role="contributor"])
+</pre>
+</div>
+
+</section>  <!-- end attribution -->
+
+
 <section id="term-ActivityAssociation">
 <h4>Activity Association</h4>
 
@@ -1307,33 +1345,6 @@
 </section>
 
 
-<section id="term-attribution">
-<h3>Attribution</h3> 
-
-<p><dfn id="dfn-attribution">Attribution</dfn> is the ascribing of an entity to an agent. More precisely, when an entity  <span class="name">e</span> is attributed to agent  <span class="name">ag</span>, entity <span class="name">e</span> was generated by some activity <span class="name">a</span>, which in turn was associated to agent  <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.
-
-<p> An attribution relation<span class="withPn">, written <span class="pnExpression"> wasAttributedTo(id,e,ag,attr)</span> in PROV-N,</span> contains the following elements:</p>
-<ul>
-<li><span class='attribute'>id</span>: an OPTIONAL identifier for the relation;</li> 
-<li><span class='attribute'>entity</span>: an entity identifier;</li>
-<li><span class='attribute'>agent</span>: the identifier of the agent whom the entity is ascribed to;</li>
-<li><span class='attribute'>attributes</span>: an OPTIONAL set of attribute-value pairs to further describe the properties of the relation.</li>
-</ul>
-
-<div class="anexample">
-<p>
-Revisiting the example of <a href="#section-example-b">Section 3.2</a>,
-we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without having to make an activity explicit.
-<pre class="codeexample">
-agent(ex:Paolo, [ prov:type="Person" ])
-agent(ex:Simon, [ prov:type="Person" ])
-entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ])
-wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [prov:role="editor"])
-wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [prov:role="contributor"])
-</pre>
-</div>
-
-</section>  <!-- end attribution -->
 
 </section>
 
@@ -1548,8 +1559,7 @@
 
   
 
-<p><div class="attributes" id="attributes-alternate">
-An <dfn title="dfn-Alternate">alternate relation</dfn><span class="withPn">, written <span class="pnExpression">alternateOf(alt1, alt2)</span> in PROV-N,</span> addresses case (1). It has the following constituents:
+<p><div class="attributes" id="attributes-alternate">An <dfn title="dfn-Alternate">alternate relation</dfn><span class="withPn">, written <span class="pnExpression">alternateOf(alt1, alt2)</span> in PROV-N,</span> addresses case (1). It has the following constituents:
 <ul>
 <li><span class='attribute'>firstAlternate</span>: an identifier of the first of the two entities;</li>
 <li><span class='attribute'>secondAlternate</span>: an identifier of the second of the two entities.</li>
@@ -1568,8 +1578,7 @@
 
 
 <p>
-<div class="attributes" id="attributes-specialization">
-A <dfn title="dfn-Specialization">specialization relation</dfn><span class="withPn">, written <span class="pnExpression">specializationOf(sub, super)</span> in PROV-N,</span> addresses case  (2). It  has the following constituents:
+<div class="attributes" id="attributes-specialization">A <dfn title="dfn-Specialization">specialization relation</dfn><span class="withPn">, written <span class="pnExpression">specializationOf(sub, super)</span> in PROV-N,</span> addresses case  (2). It  has the following constituents:
 
 <ul>
 <li><span class='attribute'>specializedEntity</span>: an identifier of the specialized entity;</li>
@@ -1763,11 +1772,12 @@
 annotated. The annotation mechanism (with note and annotation) forms a key aspect of the extensibility mechanism of PROV-DM (see <a
 href="#extensibility-section">extensibility section</a>).</p>
 
-<p>An <dfn title="dfn-annotation">annotation relation</dfn><span class="withPn">, written <span class="pnExpression">hasAnnotation(r,n)</span> in PROV-N,</span> has the following constituents:</p>
+<p></p><div class="attributes" id="attributes-annotation">An <dfn title="dfn-annotation">annotation relation</dfn><span class="withPn">, written <span class="pnExpression">hasAnnotation(r,n)</span> in PROV-N,</span> has the following constituents:
 <ul>
 <li><span class='attribute'>something</span>: the identifier of something being annotated;</li>
 <li><span class='attribute'>note</span>: an identifier of a note.</li>
 </ul>
+</div>
 
 <div class="anexample">
 <p>
@@ -1811,7 +1821,7 @@
 <section id="term-NamespaceDeclaration">
 <h3>Namespace Declaration</h3>
 
-<p>A PROV-DM <dfn id="dfn-namespace">namespace</dfn> is identified by an IRI reference [[!IRI]]. In PROV-DM, attributes, identifiers, and literals with <a title="qualified name">qualified names</a> as data type can be placed in a namespace using the mechanisms described in this specification. </p>
+<p>A PROV-DM <dfn id="dfn-namespace">namespace</dfn> is identified by an IRI reference [[!IRI]]. In PROV-DM, attributes, identifiers, and values with <a title="qualified name">qualified names</a> as data type can be placed in a namespace using the mechanisms described in this specification. </p>
 
 
 <p>A <dfn id="dfn-namespaceDeclaration">namespace declaration</dfn> consists of a binding between a prefix and a namespace. Every qualified name with this prefix in the scope of this
@@ -1858,7 +1868,7 @@
 
 <p>The attribute <dfn title="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, activity start, and activity end. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span
-class="name">prov:role</span> attribute MUST be a PROV-DM <a title="literal">Literal</a>.</p>
+class="name">prov:role</span> attribute MUST be a PROV-DM <a title="value">Value</a>.</p>
 
 <div class="anexample">
 <p>The following activity start describes the role of the agent identified by <span class="name">ag</span> in this start relation with activity <span class="name">a</span>. </p>
@@ -1873,7 +1883,7 @@
 
 <p>The attribute <dfn title="dfn-type"><span class="name">prov:type</span></dfn>  provides further typing information for an element or relation. 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 a PROV-DM Literal. The attribute <span class="name">prov:type</span>
+the value associated with a <span class="name">prov:type</span> attribute MUST be a PROV-DM <a title="value">Value.</a> The attribute <span class="name">prov:type</span>
 is allowed to occur multiple times.</p>
 
 <div class="anexample">
@@ -1904,7 +1914,7 @@
 
 
 <p>
-The attribute <dfn title="dfn-location"><span class="name">prov:location</span></dfn> is an OPTIONAL attribute of entity and activity.  The value associated with the  attribute <span class="name">prov:location</span> MUST be a PROV-DM Literal, expected to denote a location.
+The attribute <dfn title="dfn-location"><span class="name">prov:location</span></dfn> is an OPTIONAL attribute of entity and activity.  The value associated with the  attribute <span class="name">prov:location</span> MUST be a PROV-DM <a title="value">Value</a>, expected to denote a location.
 </p>
 
 <div class="anexample">
@@ -1920,20 +1930,46 @@
 
 </section>
 
-<section id="term-literal">
+<section id="term-value">
 <h4>Value</h4>
 
-<div class='note'>
-Usually, in programming languages, Literal are a notation for values. So, Literals should probably be moved to the serialization. Here, instead, we should define the types of values.  Thoughts?
-</div>
-
 <p>
-A PROV-DM Literal represents a data value such as a particular string
-or number.  A PROV-DM Literal represents a value whose interpretation is outside the scope of PROV-DM.
+By means of attribute-value pairs, the PROV data model can refer to <dfn title="value">values</dfn> such as strings, numbers, time, qualified names, and IRIs.  
+The interpretation of such values is outside the scope of PROV-DM.</p>
+Each kind of such values is called a <em>datatype</em>. Each datatype is identified by an <a>qualified name</a>.</p>
+
+<p>The data types are taken from 
+the set of XML Schema Datatypes, version 1.1 [[!XMLSCHEMA-2]] and the RDF specification [[!RDF-CONCEPTS]]. The normative definitions of these datatypes are provided by the respective specifications. 
 </p>
 
-
-<div class="anexample">
+<p>We note that PROV-DM <dfn title="dfn-time">time instants</dfn> are defined according to xsd:dateTime [[!XMLSCHEMA-2]].</p> 
+
+
+
+<table border="1" style="margin-left: auto; margin-right: auto;">
+<caption>PROV-DM Data Types</caption>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#decimal">xsd:decimal</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#double">xsd:double</a></td>  <td><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#integer">xsd:integer</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a></td>  </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td> <td><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-XMLLiteral">rdf:XMLLiteral</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger">xsd:nonPositiveInteger</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xsd:normalizedString</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#positiveInteger">xsd:positiveInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#negativeInteger">xsd:negativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#language">xsd:language</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#long">xsd:long</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#Name">xsd:Name</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#int">xsd:int</a></td>  <td><a href="http://www.w3.org/TR/xmlschema-2/#NCName">xsd:NCName</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#short">xsd:short</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xsd:NMTOKEN</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#byte">xsd:byte</a></td>  <td><a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedLong">xsd:unsignedLong</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">xsd:hexBinary</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedInt">xsd:unsignedInt</a></td>  <td><a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">xsd:base64Binary</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedShort">xsd:unsignedShort</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedByte">xsd:unsignedByte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:QName</a></td></tr>
+</table>
+
+
+
+
+
+
+<div class="anexample" id="anexample-value">
 <p>
 The following examples respectively are the string "abc", the string "abc", the integer number 1, and the IRI "http://example.org/foo".
 <pre class="codeexample">
@@ -1941,39 +1977,23 @@
   1
   "http://example.org/foo" %% xsd:anyURI
 </pre>
-<p>The following example shows a literal of type <span class="name">xsd:QName</span> (see
+<p>The following example shows a value of type <span class="name">xsd:QName</span> (see
 <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#QName">QName</a> [[!XMLSCHEMA-2]]).
 The prefix <span class="name">ex</span>  MUST be bound to a <a>namespace</a> declared in a <a>namespace declaration</a>.</p>
-<pre class="codeexample">
+<pre class="codeexample"> 
   "ex:value" %% xsd:QName
 </pre>
 </div>
 
 
 
-
-
-
-
-
-<section id="term-Time">
-<h4>Time (to be folded in Value section)</h4>
-
-<div class='note'>
-It's a legacy of the charter that time is a top level section. Time is a specific kind of value, and should be folded into the "value" section.
-</div>
-
-
-<p><dfn title="dfn-time">Time instants</dfn> are defined according to xsd:dateTime [[!XMLSCHEMA-2]].</p> 
-
-
-
-<p>Time is OPTIONAL in usage, generation, and activity</p>
-
-
-
-</section>
-
+<div class="anexample" id="anexample-time">
+<p>
+In the following example, the generation time of entity <span class="name">e1</span> is expressed according to 
+<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a>  [[!XMLSCHEMA-2]].</p>
+<pre class="codeexample"> 
+  wasGeneratedBy(e1,a1, 2001-10-26T21:32:52)
+</pre>
 </section>
  
 
@@ -2099,7 +2119,7 @@
 
 <li>Sub-typing of elements and relations is allowed by means of the reserved attribute <span class="name">type</span>.</li>
 
-<li>Domain specific values can be expressed by means of typed literals. </li>
+<li>Domain specific values can be expressed by means of typed values. </li>
 </ul>
 
 <p>The PROV data model is designed to be application and technology independent, but specializations of PROV-DM are welcome and encouraged.  To ensure interoperability, specializations of