--- 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>