--- a/dc-note/dc-note.html Sun Mar 03 14:49:48 2013 +0000
+++ b/dc-note/dc-note.html Mon Mar 04 00:17:04 2013 +0100
@@ -216,9 +216,9 @@
properties and classes, which can be found <a href="http://www.w3.org/ns/prov-dc-directmappings.ttl">here</a>.
</p>
<p>
- Some of the direct mapping can be refined, translating single Dublin Core Terms into a more complete
- representation of the provenance chain. Therefore, Dublin Core specific refinements of classes defined in PROV are needed. This
- set of PROV refinements for representing Dublin Core activities and roles can be accessed <a href="http://www.w3.org/ns/prov-dc-refinements.ttl">here</a>.
+ Some of the direct mappings can be refined, translating single Dublin Core Terms into an extended
+ representation of the provenance chain. Therefore, refinements of classes defined in PROV are needed to represent specific Dublin Core activities and roles.
+ This set of PROV refinements can be accessed <a href="http://www.w3.org/ns/prov-dc-refinements.ttl">here</a>.
</p>
<p>
The PROV Document Overview [[PROV-OVERVIEW]] describes the overall state of PROV, and should be read before other PROV documents.
@@ -368,7 +368,7 @@
This section explains two main particular considerations that should be taken into account regarding the mapping:
<ul>
<li><a href="#provenance-in-dublin-core">Section 2.1</a>: The relation of the DC terms with provenance.</li>
- <li><a href="#what-is-ex-doc1--entities-in-dublin-core">Section 2.2</a>: The definition of entities in Dublin Core.</li>
+ <li><a href="#entities-in-dublin-core">Section 2.2</a>: The definition of entities in Dublin Core.</li>
</ul>
</p>
<section id="provenance-in-dublin-core">
@@ -465,7 +465,7 @@
<td><b>Provenance</b></td>
<td>How</td>
<td><a href="#term_accessRights">accessRights</a>, <a href="#term_isVersionOf">isVersionOf</a>, <a href="#term_hasVersion">hasVersion</a>, <a href="#term_isFormatOf">isFormatOf</a>, <a href="#term_has_Format">hasFormat</a>, <a href="#term_license">license</a>,
- <a href="#term_references">references</a>, <a href="#term_isReferencedBy">isReferencedBy</a>, <a href="#term_replaces">replaces</a>, <a href="#term_isReplacedBy">isReplacedBy</a>, <a href="#term_rights">rights</a>,
+ <a href="#term_references">references</a>, <a href="#term_isReferencedBy">isReferencedBy</a>, <a href="#term_replaces">replaces</a>, <a href="#term_replaces">isReplacedBy</a>, <a href="#term_rights">rights</a>,
<a href="#term_source">source</a></td>
</tr>
</tbody>
@@ -475,7 +475,7 @@
This leaves one very special term: <a href ="#term_provenance">provenance</a>. This term is defined as a "statement of any changes in ownership and
custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation" [[DCTERMS]],
a definition that corresponds to the notion of provenance for artworks. This term can be considered a link between the resource and any
- provenance statement about the resource, so it can't be included in any of the aforementioned categories and it is out of the scope of this mapping.
+ provenance statement about the resource, so it cannot be included in any of the aforementioned categories and it is out of the scope of this mapping.
<!--Despite being relevant for provenance,
this definition may overlap partially with almost half of the DCMI terms, which
specify concrete aspects of provenance of a resource.-->
@@ -511,7 +511,7 @@
implies that the document has been created and refers to an author. Similarly, the existence
of the <code>dct:issued</code> date implies that the document has been published. This information is redundantly
implied by the <code>dct:publisher</code> statement as well. Finally, <code>dct:replaces</code> relates
- the document to another document <code>ex:doc2</code> which probably had some kind of influence on <code>ex:doc1</code>.
+ <code>ex:doc1</code> to the document <code>ex:doc2</code>, a previous resource representing the mapping.<!-- which probably had some kind of influence on <code>ex:doc1</code>.-->
</p>
As a <code>dc</code>
metadata record describes the document as a whole,
@@ -522,12 +522,12 @@
there are two approaches to deal with this issue:</p>
</p>
<p>
- 1) Create new instances of entities, typically as blank nodes, that are all related to the original
- document by means of <code>prov:specializationOf</code>. This leads to bloated and not very intuitive data representations. For example, consider the
+ 1) Create new instances of entities that are all related to the original
+ document by means of <code>prov:specializationOf</code>. For example, consider the
translation of a single <code>dct:publisher</code> statement (as shown on the top of <a href="#figure_mapping_example">Figure 1</a>):
having a publisher implies a "Publish" activity (represented with a blank node), which is related to the <code>ex:publisher</code> agent. The
activity must have taken as input the document to be published (<code>:_usedEntity</code>, which is a <code>prov:sprecializationOf</code> the
- resource we are describing), and generated the published resource (<code>:_resultingEntity</code>). Since we can't ensure that the published
+ resource we are describing), and generated the published resource (<code>:_resultingEntity</code>). Since we cannot ensure that the published
resource has not suffered any further modifications, <code>:_resultingEntity</code> is also a <code>prov:specializationOf</code> the resource
<code>ex:doc1</code>.
</p><p>
@@ -590,7 +590,7 @@
<p>
<a href="#list_of_direct_terms">Table 3</a> and <a href="#list_of_direct_mappings2">Table 4</a> provide the detailed mapping plus the rationale for each term.
The rest of the terms can be found in the
- <a href="#list_of_excluded_terms">list of terms left out of the mapping</a>.
+ <a href="#list-of-terms-excluded-from-the-mapping">list of terms left out of the mapping</a>.
</p>
<!--
<div class="note">
@@ -659,7 +659,7 @@
<td><a href="http://www.w3.org/TR/prov-o/#alternateOf">prov:alternateOf</a></td>
<td> See rationale for <code>dct:isFormatOf</code>.</td>
</tr>
- <tr>
+ <!--<tr>
<td><b id="term_replaces"><a href="http://purl.org/dc/terms/replaces">dct:replaces</a></b></td>
<td>rdfs:subPropertyOf</td>
<td><a href="http://www.w3.org/TR/prov-o/#wasInfluencedBy">prov:wasInfluencedBy</a></td>
@@ -667,7 +667,7 @@
derivation, revision, specialization or alternate. For example an item of a catalog can replaced with another item
that had nothing to do with the former (in case of mistake of the provider of the catalogue, or catalogue renovation).
Thus, the term is mapped to <code>prov:wasInfluencedBy</code>.</td>
- </tr>
+ </tr> -->
<tr>
<td><b id="term_source"><a href="http://purl.org/dc/terms/source">dct:source</a> </b></td>
<td>rdfs:subPropertyOf</td>
@@ -799,12 +799,12 @@
<td><a href="http://www.w3.org/TR/prov-o/#hasDerivation">prov:hadRevision</a></td>
<td>Inverse property of <code>dct:isVersionOf</code>.</td>
</tr>
- <tr>
+ <!--<tr>
<td><b id="term_isReplacedBy"><a href="http://purl.org/dc/terms/isReplacedBy">dct:isReplacedBy</a></b></td>
<td>rdfs:subPropertyOf</td>
<td><a href="http://www.w3.org/TR/prov-o/#influenced">prov:influenced</a></td>
<td>Inverse property of <code>dct:replaces</code></td>
- </tr>
+ </tr>-->
</tbody>
</table>
</div>
@@ -1029,7 +1029,9 @@
Dates often correspond with a who-property, e.g., creator and created or publisher and issued.
Therefore, they lead to similar complex patterns (associating a date to each activity instead of an agent).
When using Dublin Core terms, it is usual to see that a resource is annotated with several <code>dct</code> assertions like creator, publisher,
- issued, date, etc. In this section each term is treated independently.
+ issued, date, etc. In this section each term is treated independently. It is important to note that since the range for dates in Dublin Core is a
+ <code>rdfs:Literal</code> and <code>xsd:dateTime</code> for the <code>prov:atTime</code> property, the mapping is only valid for those literals
+ that are <code>xsd:dateTime</code>.
</p>
<section>
@@ -1209,6 +1211,53 @@
</section>
</section>
+
+ <section>
+ <h4>Entity-Entity mappings (How)</h4>
+ <p>
+ In Dublin Core, most of the properties relating entities to other entities don't describe the involvement of a specific activity
+ (e.g., <code>dct:format</code>, <code>dct:source</code> or <code>isVersionOf</code>).
+ The only exception is <code>dct:replaces</code>, further explained below.
+
+ </p>
+ <section>
+ <h5 id="term_replaces">dct:replaces</h5>
+ <p>
+ There is a relation between two resources when the former replaces or displaces the latter. The replacement is
+ the result of a "search and replace" Activity, which used a specialization of the replaced entity (<code>_:old_entity</code>) and
+ produced a specialization of the replacement (<code>_:new_entity</code>). Thus, <code>_:new_entity</code> was derived from
+ <code>_:old_entity</code>, as it couldn't have existed without it. However, the derivation relationship cannot always be applied between the original entities, because they
+ could have existed before the replacement took place (for example, if a book replaces another in a catalog we cannot say that it was
+ derived from it).
+ </p>
+ <p>
+ <pre class="code">
+CONSTRUCT{
+ ?document a prov:Entity .
+ ?document2 a prov:Entity.
+
+ _:activity a prov:Activity, prov:Replace ;
+ prov:used _:old_entity.
+
+ # The “input”
+ _:old_entity a prov:Entity;
+ prov:specializationOf ?document2 ;
+
+ # The “output”
+ _:new_entity a prov:Entity ;
+ prov:specializationOf ?document ;
+ prov:wasGeneratedBy _:activity;
+ prov:wasDerivedFrom _:old_entity .
+
+ } WHERE {
+ ?document dct:replaces ?document2.
+ }
+ </pre></p>
+ </section>
+ <p>
+ The term <code>dct:isReplacedBy</code> would produce a similar mapping, inverting the roles of document and document2.
+ </p>
+ </section>
</section>
<section>
<h3>Cleanup</h3>
@@ -1318,7 +1367,7 @@
<td><b id="term_alternative"><a href="http://purl.org/dc/terms/alternative">dct:alternative</a></b></td>
<td>Descriptive metadata</td>
<td>Refers to an alternative title of the resource. For example "The Bible" might be also known as "The Holy Book". Titles are not identifiers,
- so this property can't be mapped to <code>prov:alternateOf</code>.</td>
+ so this property cannot be mapped to <code>prov:alternateOf</code>.</td>
</tr><tr>
<td><b id="term_audience"><a href="http://purl.org/dc/terms/audience">dct:audience</a></b></td>
<td>Descriptive metadata</td>
@@ -1388,7 +1437,7 @@
</tr><tr>
<td><b id="term_spatial"><a href="http://purl.org/dc/terms/spatial">dct:spatial</a></b></td>
<td>Descriptive metadata</td>
- <td>Spatial characteristics of the content of the resource (e.g., the book is about Spain). Thus it can't be mapped to <code>prov:hadLocation</code>.</td>
+ <td>Spatial characteristics of the content of the resource (e.g., the book is about Spain). Thus it cannot be mapped to <code>prov:hadLocation</code>.</td>
</tr><tr>
<td><b id="term_subject"><a href="http://purl.org/dc/terms/subject">dct:subject</a></b></td>
<td>Descriptive metadata</td>
@@ -1420,7 +1469,7 @@
<td>Term used to point out, refer or cite a related resource to the resource being described. The references normally point
out to resources from which the current resource was derived, or that the current resource quoted. However, this is not
always the case. For example, if a resource A included a reference
- to a resource B stating :"Reference [B] has nothing to do with the work described here", then we can't consider the reference as a derivation
+ to a resource B stating :"Reference [B] has nothing to do with the work described here", then we cannot consider the reference as a derivation
or a quotation. For this reason, <code>dct:references</code> has been dropped from the mapping.</td>
</tr><tr>
<td id="term_isReferencedBy"><b><a href="http://purl.org/dc/terms/isReferencedBy">dct:isReferencedBy</a></b></td>
@@ -1469,12 +1518,12 @@
<section>
<h2>Mapping from PROV to DC</h2>
<p>
- The mapping from PROV to Dublin Core is not part of this note. It can be questioned whether a mapping without the refinements defined above would provide
- meaningful data. If the refinements are used, then the inverse of the mapping patterns used in this document can be applied.
+ The mapping from PROV to Dublin Core is not part of this note. If the refinements proposed in this document are used, then the inverse of the complex mapping
+ patterns can be applied.
However, if the refinements are not used then only a few Dublin Core statements can be inferred from plain PROV statements.
For example, when mapping dates only unqualified properties can be extracted,
as there is no information if an activity with an associated date is a creation or a modification or a publication. Likewise, the agents
- involved can't be mapped to creators, contributors, or publishers. While Dublin Core includes provenance information, its focus
+ involved cannot be mapped to creators, contributors, or publishers. While Dublin Core includes provenance information, its focus
lies on the broader description of resources. PROV models a provenance chain, but it provides almost no information about the involved
resources themselves.
</p>
@@ -1484,8 +1533,8 @@
<section class="appendix">
<h2>Acknowledgements</h2>
<p>
- This document is the result of a collaboration between the Provenance Working Group and the Dublin Core Metadata Iniciative.
- The editors extend special thanks to Antoine Isaac, Ivan Herman, Timothy Lebo, Luc Moreau and Satya Sahoo for their feedback; and María Poveda and Idafen Santana Pérez for their help with the HTML generation.
+ This document is the result of a collaboration between the Provenance Working Group and the Dublin Core Metadata Initiative.
+ The editors extend special thanks to Antoine Isaac, Ivan Herman, Timothy Lebo, Luc Moreau and Satya Sahoo for their feedback; and María Poveda and Idafen Santana for their help with the HTML generation.
</p>
</section>
</body>