<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="xsl-for-template-specification.xsl"?>
<TemplateSpecification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xml-schema-for-template-specification.xsd">
	<TemplateName>ClassOfParticipationDefinition</TemplateName>
	<defaultRdsId>C595FD07CCC44001A7021B71FDB44FD9</defaultRdsId>
	<Status>Revised APR2024</Status>
	<TIPPredicate>coParticipatesIn</TIPPredicate>
	<Description>Members of a ClassOfActivity have members of a ClassOfPhysicalObject as a participant in a given Role, with Cardinalities.</Description>
	<Example>A member of ClassOfActivity HYDROSTATIC TESTING has one of more members of the ClassOfPhysicalObject PRESSURE-RATED ARTEFACT as a participant in the Role of HYDROSTATICALLY TESTED OBJECT.</Example>
	<Notes>At instantiation of this template it is mandatory to add meta:valEffectiveDate with the dateTime that the represented information became effective.</Notes>
	<Definition>The [hasDefined] is defined such that [hasCardinalityOfParticipant] member(s) of [hasActivityType] have [hasCardinalityOfActivity] member(s) of [EssentialType] class [hasParticipantType] as participant in a [hasParticipantRole] Role</Definition>
	<ScopeNote><![CDATA[Although In ISO 15926 the cardinalities are the opposite of the customary cardinality, they have been defined here in that customary manner in the template signature (by reversing end1Cardinality and end2Cardinality).]]></ScopeNote>
	<AdminNote>The 'hasDefined' role has been removed, because at Individual level the ClassOfParticipation is no longer in the template signature</AdminNote>
	<LiftedAndLoweredGraph>CL-ACTIV-100-20231111.png</LiftedAndLoweredGraph>
	<LiftedTemplate>
	    	<LiftedTemplateElements>
			<Ref>1</Ref>
	    		<URI>http://data.15926.org/dm/ClassOfActivity</URI>
	    	</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>2</Ref>
			<URI>http://data.15926.org/dm/ClassOfPhysicalObject</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>3</Ref>
			<URI>http://data.15926.org/dm/Role</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>4</Ref>
	    		<URI>http://data.15926.org/dm/Cardinality</URI>
	    	</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>5</Ref>
			<URI>http://data.15926.org/dm/Cardinality</URI>
			</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>6</Ref>
			<URI>http://data.15926.org/dm/ClassOfTemporalWholePart</URI>
		</LiftedTemplateElements>
			<LiftedTemplateElements>
			<Ref>7</Ref>
	    		<URI>http://data.15926.org/dm/ClassOfActivity</URI>
	    	</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>8</Ref>
			<URI>http://data.15926.org/dm/ClassOfParticipation</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>9</Ref>
			<URI>http://data.15926.org/dm/ParticipatingRoleAndDomain</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>10</Ref>
			<URI>http://data.15926.org/dm/ClassOfTemporalWholePart</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>11</Ref>
			<URI>http://data.15926.org/dm/ClassOfPhysicalObject</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>12</Ref>
			<URI>http://data.15926.org/dm/SpecializationByDomain</URI>
		</LiftedTemplateElements>
		<LiftedTemplateElements>
			<Ref>13</Ref>
			<URI>http://data.15926.org/dm/SpecializationByRole</URI>
		</LiftedTemplateElements>
	</LiftedTemplate>
	<PropertiesOfLoweredTemplate>
  	<TemplateSignature>
		<RoleNo>1</RoleNo>
		<RoleName>hasActivityType</RoleName>
		<RoleObjectType>dm:ClassOfActivity</RoleObjectType>
		<RoleExample/>
	</TemplateSignature>
	<TemplateSignature>
		<RoleNo>2</RoleNo>
		<RoleName>hasParticipantType</RoleName>
		<RoleObjectType>dm:ClassOfPhysicalObject</RoleObjectType>
		<RoleExample/>
	</TemplateSignature>
	<TemplateSignature>
		<RoleNo>3</RoleNo>
		<RoleName>hasParticipantRole</RoleName>
		<RoleObjectType>dm:Role</RoleObjectType>
		<RoleExample>use ID from RDL</RoleExample>
	</TemplateSignature>
	<TemplateSignature>
		<RoleNo>4</RoleNo>
		<RoleName>hasCardinalityOfActivity</RoleName>
		<RoleObjectType>dm:Cardinality</RoleObjectType>
		<RoleExample>use ID from RDL</RoleExample>
	</TemplateSignature>
	<TemplateSignature>
		<RoleNo>5</RoleNo>
		<RoleName>hasCardinalityOfParticipant</RoleName>
		<RoleObjectType>dm:Cardinality</RoleObjectType>
		<RoleExample>use ID from RDL</RoleExample>
	</TemplateSignature>
	</PropertiesOfLoweredTemplate>
	<LoweredTemplateOWLcode>
    		<![CDATA[
		]]>
 	 </LoweredTemplateOWLcode>
	<LoweredTemplateFOLcode><![CDATA[ClassOfParticipationDefinition(hasActivityType, hasParticipantType, hasParticipantRole, hasCardinalityOfActivity, hasCardinalityOfParticipant) <->
ClassOfActivity(hasActivityType) & 
ClassOfPhysicalObject(hasParticipantType) &
Role(hasParticipantRole) &
Cardinality(hasCardinalityOfActivity) &
Cardinality(hasCardinalityOfParticipant) &
exists u1 exists u2 exists u3 exists u4(
      ClassOfTemporalWholePart(u1, hasActivityType) &
      ClassOfActivity(u1) &
      ParticipatingRoleAndDomain(u3)
      ClassOfTemporalWholePart(u4, hasParticipantType) &
      ClassOfPhysicalObject(u4) &
      SpecializationByDomain(u3, u4) &
      SpecializationByRole(u3, hasParticipantRole) &
      ClassOfParticipation(u2, u3, u1) &
          hasEnd1Cardinality(u2, hasCardinalityOfActivity) &
          hasEnd2Cardinality(u2, hasCardinalityOfParticipant)) .]]>
</LoweredTemplateFOLcode>
<LoweredTemplateInstanceListing>
<![CDATA[GENERIC DEFINITION

 tpl:ClassOfParticipationDefinition 
      rdfs:subClassOf  dm:Template ;
      rdfs:isDefinedBy  tpl:CL-ACTIV-100.xml ;
      tpl:hasActivityType dm:ClassOfActivity ;
      tpl:hasParticipantType dm:ClassOfPhysicalObject ;
      tpl:hasParticipantRole dm:Role ;
      tpl:hasCardinalityOfActivity dm:Cardinality ;
      tpl:hasCardinalityOfParticipant  dm:Cardinality ;
      meta:valEffectiveDate  xsd:dateTime .

# EXAMPLE - An ontology about any member of ClassOfActivity HYDROSTATIC TESTING that has one of more members of the ClassOfPhysicalObject PRESSURE-RATED ARTEFACT as a participant in the Role of HYDROSTATICALLY TESTED OBJECT.

ex:aede4554-5804-4c6a-8810-b06d97aa5dae
      rdf:type tpl:ClassOfParticipationDefinition ;
      tpl:hasActivityType rdl:RDS9706787 ; # HYDROSTATIC TESTING
      tpl:hasParticipantType rdl:RDS430694 ; # PRESSURE RATED ARTEFACT
      tpl:hasParticipantRole  rdl:RDS2221129 ; # HYDROSTATICALLY TESTED OBJECT
      tpl:hasCardinalityOfActivity rdl:RDS999900701 ; # ONE TO MANY
      tpl:hasCardinalityOfParticipant rdl:RDS222625 ; # ONE TO ONE
      meta:hasLifecyclActivity rdl:RDS2226942 ; # CONSTRUCTION
      meta:valEffectiveDate "2021-11-17T15:23:56Z"^^xsd:dateTime .
	]]>
	</LoweredTemplateInstanceListing>
</TemplateSpecification>
