attribute occurrence validity
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 21 Dec 2011 20:51:19 +0000
changeset 1310 1c6069f82456
parent 1309 1f04f011ce46
child 1311 36573bee89a2
attribute occurrence validity
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Wed Dec 21 18:48:40 2011 +0000
+++ b/model/ProvenanceModel.html	Wed Dec 21 20:51:19 2011 +0000
@@ -1023,6 +1023,19 @@
 its attributes are given a value as part of that assertion.
 </li>
 
+
+<li id='attribute-occurrence-in-entity-record'>The attributes
+occurring in an entity record MUST be declared in the namespace
+referred to by their prefix according to
+<a href="#record-attribute">Section record-attribute</a>. Furthermore,
+for each attribute, a namespace also declares the number of
+occurrences it may have in a list of attributes. An entity record is
+valid if the number of occurrences of any of its attributes is
+compatible with this attribute's declaration it its namespace. This
+property applies to all types of records, and is referred to
+as <a>attribute occurrence validity</a>.</li>
+
+
 <li>Activities are not represented by entity records, but instead by activity records, as explained below.</li>
 </ul>
 
@@ -2452,7 +2465,7 @@
 <p>This constraint similarly applies to all other types of records. As a result, the identifier that occurs in a record is unique and acts as a local identifier for that record in that account.</p>
 </div>
 
-<p>Whilst constraint <a href="#identifiable-record-in-account">identifiable-record-in-account</a> specifies how to understand multiple entity records with a same identifier within a given account, it does not guarantee that the entity record formed with the union of all attribute-value pairs is consistent. Indeed, a given attribute may be assigned multiple values, resulting in an inconsistent entity record, as illustrated by the following example.</p>
+<p>Whilst constraint <a href="#identified-entity-in-account">identified-entity-in-account</a> specifies how to understand multiple entity records with a same identifier within a given account, it does not guarantee that the entity record formed with the union of all attribute-value pairs satisfies the <a>attribute occurrence validity</a> property, as illustrated by the following example.</p>
 
 <div class="anexample">
 <p>
@@ -2461,10 +2474,10 @@
 account(ex:acc1,
         http://example.org/id,
           entity(e,[prov:type="person", ex:age=20])
-          entity(e,[prov:type="person", ex:age=30])
+          entity(e,[prov:type="person", ex:weight=50, ex:age=30])
           ...)
 </pre>
-<p>Application of <a href="#identifiable-record-in-account">identifiable-record-in-account</a> results in an entity record containing the attribute-value pairs <span class="name">age=20</span> and <span class="name">age=30</span>. This results in an inconsistent characterization of a person. We note that deciding whether a set of attribute-values is consistent or not is application specific and outside the scope of this specification.
+<p>Application of <a href="#identified-entity-in-account">identified-entity-in-account</a> results in an entity record containing the attribute-value pairs <span class="name">age=20</span>, <span class="name">weight=50</span>, and <span class="name">age=30</span>. The namespace referred to by prefix <span class="name">ex</span> declares the number of occurrences that are permitted for each attribute.  The resulting entity record may or may not satisfy the <a>attribute occurrence validity</a>, depending on this namespace. For instance, if the namespace referred to by  <span class="name">ex</span> declares that <span class="name">age</span> must have at most one occurrence, then the resulting entity record does not satisfy the <a>attribute occurrence validity</a> property.  This document does not specify how to handle such an entity record.
 </p></div>
 
 <p>Account records can be nested since  an account record can occur among the records being wrapped by another account. </p>
@@ -2614,6 +2627,17 @@
 
 <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>
 
+
+<p>
+For each attribute in a record, its namespace also declares the number of occurrences it
+may have in a list of attributes. The
+property <dfn>attribute occurrence validity</dfn> holds for a record
+if the actual number of occurrences of each attribute in this record is compatible with
+this attribute's declaration it its namespace. How to handle records
+that do not satisfy the <a>attribute occurrence validity</a> property
+is beyond the scope of this specification.</p>
+
+
 <p>From this specification's viewpoint, the interpretation of an attribute declared in a namespace other than prov-dm is out of
 scope.</p>