updated comments and annotations
authorTim L <lebot@rpi.edu>
Wed, 30 May 2012 19:25:01 -0400
changeset 3091 8001d4240d9b
parent 3085 fbe4e33bd854
child 3092 d0c1f61bc467
updated comments and annotations
ontology/ProvenanceOntology.owl
ontology/prov.ttl
--- a/ontology/ProvenanceOntology.owl	Wed May 30 16:57:06 2012 -0400
+++ b/ontology/ProvenanceOntology.owl	Wed May 30 19:25:01 2012 -0400
@@ -44,6 +44,9 @@
         <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-M document that describes this concept.</rdfs:comment>
         <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
     </owl:AnnotationProperty>
+    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#sharesDefinitionWith">
+        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
+    </owl:AnnotationProperty>
     <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#prov-dm">
         <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-DM document that describes this concept.</rdfs:comment>
         <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
@@ -51,22 +54,22 @@
     <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#definition">
         <rdfs:comment xml:lang="en">A definition quoted from PROV-DM or PROV-CONSTRAINTS that describes the concept expressed with this OWL term.</rdfs:comment>
     </owl:AnnotationProperty>
+    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorialNote">
+        <rdfs:comment xml:lang="en">A note by the OWL development team about how this term expresses the PROV-DM concept, or how it should be used in context of semantic web or linked data.</rdfs:comment>
+    </owl:AnnotationProperty>
     <owl:AnnotationProperty rdf:about="&rdfs;label">
         <rdfs:comment xml:lang="en"></rdfs:comment>
     </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorialNote">
-        <rdfs:comment xml:lang="en">A note by the OWL development team about how this term expresses the PROV-DM concept, or how it should be used in context of semantic web or linked data.</rdfs:comment>
-    </owl:AnnotationProperty>
     <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#inverse">
         <rdfs:comment xml:lang="en">PROV-O does not define all property inverses. The directionalities defined in PROV-O should be given preference over those not defined. However, if users wish to name the inverse of a PROV-O property, the local name given by prov:inverse should be used.</rdfs:comment>
     </owl:AnnotationProperty>
     <owl:AnnotationProperty rdf:about="&rdfs;comment">
         <rdfs:comment xml:lang="en"></rdfs:comment>
     </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&owl;versionInfo"/>
     <owl:AnnotationProperty rdf:about="&rdfs;seeAlso">
         <rdfs:comment xml:lang="en"></rdfs:comment>
     </owl:AnnotationProperty>
+    <owl:AnnotationProperty rdf:about="&owl;versionInfo"/>
     <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#category">
         <rdfs:comment xml:lang="en">Classify prov-o terms into three categories, including &#39;starting-point&#39;, &#39;qualifed&#39;, and &#39;extended&#39;. This classification is used by the prov-o html document to gently introduce prov-o terms to its users. </rdfs:comment>
     </owl:AnnotationProperty>
@@ -192,10 +195,11 @@
         <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
         <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
         <editorialNote>This property is not functional because the many values could be at a variety of granularies (In this building, in this room, in that chair).</editorialNote>
+        <rdfs:comment xml:lang="en">The Location of any resource.</rdfs:comment>
         <inverse>locationOf</inverse>
-        <rdfs:comment xml:lang="en">Location is an optional attribute of Entity and Activity.</rdfs:comment>
         <category>expanded</category>
         <editorialNote>The naming of prov:atLocation parallels prov:atTime, and is not named prov:hadLocation to avoid conflicting with the convention that prov:had* properties are used on prov:Involvement classes.</editorialNote>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Location"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Location"/>
     </owl:ObjectProperty>
     
@@ -436,11 +440,14 @@
     <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#involved">
         <category>qualified</category>
         <inverse>wasInvolvedWith</inverse>
-        <rdfs:comment xml:lang="en">The relation specified by the object properties, which are sub-properties of  prov:involved, can also be specified using the qualification pattern. For example, the binary relation :baking prov:used :spoon can be qualified by asserting :baking prov:qualified [ a prov:Usage; prov:entity :baking; :foo :bar ]
+        <rdfs:comment xml:lang="en">The broadest provenance relation between two resources, prov:involved is the superproperty of all unqualified binary relations among any two Activities, Entities, or Agents (or anything else). A more specific property should be favored of prov:involved.</rdfs:comment>
+        <editorialNote xml:lang="en">The relation the sub-properties of prov:involved can also be specified in more detail using the qualification pattern. For example, the binary relation :baking prov:used :spoon can be qualified by asserting :baking prov:qualifiedUsage [ a prov:Usage; prov:entity :baking; :foo :bar; prov:atLocation :kitchen ] .
+
+Subproperties of prov:involved may also be asserted directly without being qualified.
 
 prov:involved should not be used without also using one of its subproperties. 
 
-Subproperties of prov:involved may also be asserted directly without being qualified.</rdfs:comment>
+</editorialNote>
     </owl:ObjectProperty>
     
 
@@ -505,6 +512,7 @@
         <inverse>associatedActivity</inverse>
         <category>qualified</category>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Association"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Association"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAssociatedWith"/>
     </owl:ObjectProperty>
@@ -519,6 +527,7 @@
         <component>agents-responsibility</component>
         <inverse>attributedEntity</inverse>
         <rdfs:comment xml:lang="en">If this Entity prov:wasAttributedTo Agent :ag, then it can qualify how it was  using prov:qualifiedAttribution [ a prov:Attribution;  prov:agent :ag; :foo :bar ].</rdfs:comment>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Attribution"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Attribution"/>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAttributedTo"/>
@@ -536,6 +545,7 @@
         <inverse>informedActivity</inverse>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Communication"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Communication"/>
         <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Communication"/>
     </owl:ObjectProperty>
     
@@ -549,6 +559,7 @@
         <component>derivations</component>
         <category>qualified</category>
         <inverse>derivedEntity</inverse>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
@@ -565,6 +576,7 @@
         <inverse>endedActivity</inverse>
         <rdfs:comment xml:lang="en">If this Activity prov:wasEndedBy Entity :e1, then it can qualify how it was ended using prov:qualifiedEnd [ a prov:End;  prov:entity :e1; :foo :bar ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#End"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#End"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasEndedBy"/>
     </owl:ObjectProperty>
@@ -581,6 +593,7 @@
         <category>qualified</category>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Generation"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Generation"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasGeneratedBy"/>
     </owl:ObjectProperty>
     
@@ -594,6 +607,7 @@
         <inverse>insertedToDictionary</inverse>
         <rdfs:comment xml:lang="en">If this Dictionary prov:derivedByInsertionFrom another Dictionary :e, then it can qualify how it did perform the Insertion using prov:qualifiedInsertion [ a prov:Insertion;  prov:dictionary :e; prov:inserted [a prov:KeyValuePair; prov:key &quot;k1&quot;^^xsd:string; prov:value :foo] ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Dictionary"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Insertion"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Insertion"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#derivedByInsertionFrom"/>
     </owl:ObjectProperty>
@@ -608,6 +622,7 @@
         <component>entities-activities</component>
         <category>qualified</category>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInvalidatedBy"/>
     </owl:ObjectProperty>
@@ -623,6 +638,7 @@
         <rdfs:comment xml:lang="en">If this Entity prov:wasQuotedFrom Entity :e, then it can qualify how using prov:qualifiedQuotation [ a prov:Quotation;  prov:entity :e; :foo :bar ].</rdfs:comment>
         <component>derivations</component>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Quotation"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Quotation"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasQuotedFrom"/>
     </owl:ObjectProperty>
@@ -637,6 +653,7 @@
         <component>collections</component>
         <rdfs:comment xml:lang="en">If this Dictionary prov:derivedByRemovalFrom another Dictionary :e, then it can qualify how it did perform the Removal using prov:qualifiedRemoval [ a prov:Removal;  prov:dictionary :c; prov:removed &quot;k1&quot;^^xsd:string ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Dictionary"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Removal"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Removal"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#derivedByRemovalFrom"/>
     </owl:ObjectProperty>
@@ -653,6 +670,7 @@
         <rdfs:comment xml:lang="en">If this Agent prov:actedOnBehalfOf Agent :ag, then it can qualify how with prov:qualifiedResponsibility [ a prov:Responsibility;  prov:agent :ag; :foo :bar ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Agent"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Responsibility"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Responsibility"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#actedOnBehalfOf"/>
     </owl:ObjectProperty>
     
@@ -668,6 +686,7 @@
         <component>derivations</component>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Revision"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Revision"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasRevisionOf"/>
     </owl:ObjectProperty>
     
@@ -683,6 +702,7 @@
         <rdfs:comment xml:lang="en">If this Entity prov:hadOriginalSource Entity :e, then it can qualify how using prov:qualifiedSource [ a prov:Source; prov:entity :e; :foo :bar ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Source"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Source"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#hadOriginalSource"/>
     </owl:ObjectProperty>
     
@@ -698,6 +718,7 @@
         <rdfs:comment xml:lang="en">If this Activity prov:wasStartedBy Entity :e1, then it can qualify how it was started using prov:qualifiedStart [ a prov:Start;  prov:entity :e1; :foo :bar ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Start"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Start"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasStartedBy"/>
     </owl:ObjectProperty>
     
@@ -713,6 +734,7 @@
         <inverse>tracedEntity</inverse>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Trace"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Trace"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#tracedTo"/>
     </owl:ObjectProperty>
     
@@ -727,6 +749,7 @@
         <component>entities-activities</component>
         <rdfs:comment xml:lang="en">If this Activity prov:used Entity :e, then it can qualify how it used it using prov:qualifiedUsage [ a prov:Usage; prov:entity :e; :foo :bar ].</rdfs:comment>
         <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
+        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Usage"/>
         <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Usage"/>
         <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#used"/>
     </owl:ObjectProperty>
@@ -834,9 +857,9 @@
         </owl:propertyChainAxiom>
     </owl:ObjectProperty>
     <owl:Axiom>
+        <prov-dm-constraints>http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#traceability-inference</prov-dm-constraints>
+        <rdfs:comment>Attribution is a particular case of trace (see http://www.w3.org/TR/prov-dm/#concept-trace), in the sense that it links an entity to the agent that ascribed it.</rdfs:comment>
         <definition>IF wasAttributedTo(e2,ag1,aAttr) holds, THEN tracedTo(e2,ag1) also holds. </definition>
-        <rdfs:comment>Attribution is a particular case of trace (see http://www.w3.org/TR/prov-dm/#concept-trace), in the sense that it links an entity to the agent that ascribed it.</rdfs:comment>
-        <prov-dm-constraints>http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#traceability-inference</prov-dm-constraints>
         <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
         <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#tracedTo"/>
         <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasAttributedTo"/>
--- a/ontology/prov.ttl	Wed May 30 16:57:06 2012 -0400
+++ b/ontology/prov.ttl	Wed May 30 19:25:01 2012 -0400
@@ -524,11 +524,12 @@
 
 :atLocation
     a owl:AsymmetricProperty, owl:IrreflexiveProperty, owl:ObjectProperty ;
-    rdfs:comment "Location is an optional attribute of Entity and Activity."@en ;
+    rdfs:comment "The Location of any resource."@en ;
     rdfs:range :Location ;
     :category "expanded" ;
     :editorialNote "The naming of prov:atLocation parallels prov:atTime, and is not named prov:hadLocation to avoid conflicting with the convention that prov:had* properties are used on prov:Involvement classes.", "This property is not functional because the many values could be at a variety of granularies (In this building, in this room, in that chair)." ;
-    :inverse "locationOf" .
+    :inverse "locationOf" ;
+    :sharesDefinitionWith :Location .
 
 :atTime
     a owl:DatatypeProperty, owl:FunctionalProperty ;
@@ -732,12 +733,15 @@
 
 :involved
     a owl:ObjectProperty ;
-    rdfs:comment """The relation specified by the object properties, which are sub-properties of  prov:involved, can also be specified using the qualification pattern. For example, the binary relation :baking prov:used :spoon can be qualified by asserting :baking prov:qualified [ a prov:Usage; prov:entity :baking; :foo :bar ]
+    rdfs:comment "The broadest provenance relation between two resources, prov:involved is the superproperty of all unqualified binary relations among any two Activities, Entities, or Agents (or anything else). A more specific property should be favored of prov:involved."@en ;
+    :category "qualified" ;
+    :editorialNote """The relation the sub-properties of prov:involved can also be specified in more detail using the qualification pattern. For example, the binary relation :baking prov:used :spoon can be qualified by asserting :baking prov:qualifiedUsage [ a prov:Usage; prov:entity :baking; :foo :bar; prov:atLocation :kitchen ] .
+
+Subproperties of prov:involved may also be asserted directly without being qualified.
 
 prov:involved should not be used without also using one of its subproperties. 
 
-Subproperties of prov:involved may also be asserted directly without being qualified."""@en ;
-    :category "qualified" ;
+"""@en ;
     :inverse "wasInvolvedWith" .
 
 :involvee
@@ -805,6 +809,7 @@
     :category "qualified" ;
     :component "agents-responsibility" ;
     :inverse "associatedActivity" ;
+    :sharesDefinitionWith :Association ;
     :unqualifiedForm :wasAssociatedWith .
 
 :qualifiedAttribution
@@ -815,6 +820,7 @@
     :category "qualified" ;
     :component "agents-responsibility" ;
     :inverse "attributedEntity" ;
+    :sharesDefinitionWith :Attribution ;
     :unqualifiedForm :wasAttributedTo .
 
 :qualifiedCommunication
@@ -825,7 +831,8 @@
     :category "qualified" ;
     :component "entities-activities" ;
     :inverse "informedActivity" ;
-    :qualifiedForm :Communication .
+    :qualifiedForm :Communication ;
+    :sharesDefinitionWith :Communication .
 
 :qualifiedDerivation
     a owl:InverseFunctionalProperty, owl:ObjectProperty ;
@@ -835,6 +842,7 @@
     :category "qualified" ;
     :component "derivations" ;
     :inverse "derivedEntity" ;
+    :sharesDefinitionWith :Derivation ;
     :unqualifiedForm :wasDerivedFrom .
 
 :qualifiedEnd
@@ -845,6 +853,7 @@
     :category "qualified" ;
     :component "entities-activities" ;
     :inverse "endedActivity" ;
+    :sharesDefinitionWith :End ;
     :unqualifiedForm :wasEndedBy .
 
 :qualifiedForm
@@ -874,6 +883,7 @@
     :category "qualified" ;
     :component "entities-activities" ;
     :inverse "generatedEntity" ;
+    :sharesDefinitionWith :Generation ;
     :unqualifiedForm :wasGeneratedBy .
 
 :qualifiedInsertion
@@ -884,6 +894,7 @@
     :category "collections" ;
     :component "collections" ;
     :inverse "insertedToDictionary" ;
+    :sharesDefinitionWith :Insertion ;
     :unqualifiedForm :derivedByInsertionFrom .
 
 :qualifiedInvalidation
@@ -893,6 +904,7 @@
     rdfs:range :Invalidation ;
     :category "qualified" ;
     :component "entities-activities" ;
+    :sharesDefinitionWith :Invalidation ;
     :unqualifiedForm :wasInvalidatedBy .
 
 :qualifiedQuotation
@@ -903,6 +915,7 @@
     :category "qualified" ;
     :component "derivations" ;
     :inverse "quotedByEntity" ;
+    :sharesDefinitionWith :Quotation ;
     :unqualifiedForm :wasQuotedFrom .
 
 :qualifiedRemoval
@@ -913,6 +926,7 @@
     :category "collections" ;
     :component "collections" ;
     :inverse "removedFromDictionary" ;
+    :sharesDefinitionWith :Removal ;
     :unqualifiedForm :derivedByRemovalFrom .
 
 :qualifiedResponsibility
@@ -923,6 +937,7 @@
     :category "qualified" ;
     :component "agents-responsibility" ;
     :inverse "responsibleAgent" ;
+    :sharesDefinitionWith :Responsibility ;
     :unqualifiedForm :actedOnBehalfOf .
 
 :qualifiedRevision
@@ -933,6 +948,7 @@
     :category "qualified" ;
     :component "derivations" ;
     :inverse "revisedEntity" ;
+    :sharesDefinitionWith :Revision ;
     :unqualifiedForm :wasRevisionOf .
 
 :qualifiedSource
@@ -943,6 +959,7 @@
     :category "qualified" ;
     :component "derivations" ;
     :inverse "sourcingEntity" ;
+    :sharesDefinitionWith :Source ;
     :unqualifiedForm :hadOriginalSource .
 
 :qualifiedStart
@@ -953,6 +970,7 @@
     :category "qualified" ;
     :component "entities-activities" ;
     :inverse "startedActivity" ;
+    :sharesDefinitionWith :Start ;
     :unqualifiedForm :wasStartedBy .
 
 :qualifiedTrace
@@ -963,6 +981,7 @@
     :category "qualified" ;
     :component "derivations" ;
     :inverse "tracedEntity" ;
+    :sharesDefinitionWith :Trace ;
     :unqualifiedForm :tracedTo .
 
 :qualifiedUsage
@@ -973,6 +992,7 @@
     :category "qualified" ;
     :component "entities-activities" ;
     :inverse "consumingActivity" ;
+    :sharesDefinitionWith :Usage ;
     :unqualifiedForm :used .
 
 :removedKey
@@ -983,6 +1003,10 @@
     :category "collections" ;
     :component "collections" .
 
+:sharesDefinitionWith
+    a owl:AnnotationProperty ;
+    rdfs:subPropertyOf rdfs:seeAlso .
+
 :specializationOf
     a owl:ObjectProperty ;
     rdfs:comment "An entity is a specialization of another if they both refer to some common thing but the former is a more constrained entity than the former. The common entity does not need to be identified."@en ;