<?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>ClassOfCompositionDefinition</TemplateName>
	<defaultRdsId>R823CE5C0E8D04CC6BCA985F818DFC40C</defaultRdsId>
	<Status>UPDATED MAR2023</Status>
	<TIPPredicate>coHasAsCompositionPart</TIPPredicate><Description>Members of a ClassOfIndividual have members of another ClassOfIndividual as a part of a composition, with Cardinalities;  the defined ClassOfCompositionOfIndividual can be used for the classification of instances of CompositionOfIndividual at Individual level.</Description>
	<Example>Fluid A is a component of Fluid Mixture M. The latter can have zero to infinite components.</Example>
	<Notes>At instantiation of this template it is mandatory to add meta:valEffectiveDate with the dateTime that the represented information became effective.</Notes>
	<SubClassOf>TemplateForStructureOfClass</SubClassOf><Definition>[hasCardinalityOfWhole] member(s) of [EssentialType] class [hasClassOfWhole] have [hasCardinalityOfPart] member(s) of [EssentialType] class [hasClassOfPart] as parts in a composition</Definition><ScopeNote/><AdminNote/><LiftedAndLoweredGraph>CL-STRUC-060-20220129.png</LiftedAndLoweredGraph>
	<LiftedTemplate>
	    	<LiftedTemplateElements><Ref>1</Ref>
	    		<URI>dm:ClassOfArrangedIndividual</URI>
	    	</LiftedTemplateElements>
	    	
	    	<LiftedTemplateElements><Ref>2</Ref>
	    		<URI>dm:ClassOfIndividual</URI>
	    	</LiftedTemplateElements><LiftedTemplateElements><Ref>3</Ref><URI>dm:ClassOfCompositionOfIndividual</URI></LiftedTemplateElements>
	<LiftedTemplateElements><Ref>4</Ref><URI>dm:Cardinality</URI></LiftedTemplateElements><LiftedTemplateElements><Ref>5</Ref><URI>dm:Cardinality</URI></LiftedTemplateElements><LiftedTemplateElements><Ref>6</Ref><URI>dm:ClassOfTemporalWholePart</URI></LiftedTemplateElements><LiftedTemplateElements><Ref>7</Ref><URI>dm:ClassOfArrangedIndividual</URI></LiftedTemplateElements><LiftedTemplateElements><Ref>8</Ref><URI>dm:ClassOfTemporalWholePart</URI></LiftedTemplateElements><LiftedTemplateElements><Ref>9</Ref><URI>dm:ClassOfIndividual</URI></LiftedTemplateElements></LiftedTemplate>
	<PropertiesOfLoweredTemplate>
    		
    		
    		
  	<TemplateSignature><RoleNo>1</RoleNo><RoleName>hasClassOfWhole</RoleName><RoleObjectType>dm:ClassOfArrangedIndividual</RoleObjectType><RoleExample/></TemplateSignature><TemplateSignature><RoleNo>2</RoleNo><RoleName>hasClassOfPart</RoleName><RoleObjectType>dm:ClassOfIndividual</RoleObjectType><RoleExample/></TemplateSignature><TemplateSignature><RoleNo>3</RoleNo><RoleName>hasDefined</RoleName><RoleObjectType>dm:ClassOfCompositionOfIndividual</RoleObjectType><RoleExample/></TemplateSignature><TemplateSignature><RoleNo>4</RoleNo><RoleName>hasCardinalityOfWhole</RoleName><RoleObjectType>dm:Cardinality</RoleObjectType><RoleExample><![CDATA[ID from RDL]]></RoleExample></TemplateSignature><TemplateSignature><RoleNo>5</RoleNo><RoleName>hasCardinalityOfPart</RoleName><RoleObjectType>dm:Cardinality</RoleObjectType><RoleExample><![CDATA[ID from RDL]]></RoleExample></TemplateSignature></PropertiesOfLoweredTemplate>
	<LoweredTemplateOWLcode>
    		<![CDATA[
		]]>
 	 </LoweredTemplateOWLcode>
	<LoweredTemplateFOLcode><![CDATA[ClassOfCompositionDefinition(hasClassOfWhole, hasClassOfPart, hasDefined, hasCardinalityOfWhole, hasCardinalityOfPart) <->
ClassOfIndividual(hasClassOfWhole) &
ClassOfIndividual(hasClassOfPart) &
ClassOfCompositionOfIndividualTriple(hasDefined, u2, u1) &
Cardinality(hasCardinalityOfWhole) &
Cardinality(hasCardinalityOfPart) &
exists u1 exists u2(
      ClassOfTemporalWholePartTemplate(u1, hasClassOfWhole) &
      ClassOfIndividual(u1) &
      ClassOfTemporalWholePartTemplate(u2, hasClassOfPart) &
      ClassOfIndividual(u2) &
      end1Cardinality(hasDefined, hasCardinalityOfWhole) &
      end2Cardinality(hasDefined, hasCardinalityOfPart)) .]]>
</LoweredTemplateFOLcode>

<LoweredTemplateInstanceListing>
<![CDATA[GENERIC DEFINITION

tpl:ClassOfCompositionDefinition
      rdfs:subClassOf dm:Template ;
      rdfs:isDefinedBy  tpl:CL-STRUC-060.xml ;
      tpl:hasClassOfWhole dm:ClassOfIndividual ;  
      tpl:hasClassOfPart dm:ClassOfIndividual ;  
      tpl:hasDefined dm:ClassOfCompositionOfIndividual ;
      tpl:hasCardinalityOfWhole dm:Cardinality ;
      tpl:hasCardinalityOfPart dm:Cardinality ;
      meta:valEffectiveDate xsd:dateTime .

# EXAMPLE - Fluid A is a component of Fluid Mixture M. The latter can have zero to infinite components.
      
ex:5e016a45-5a19-43a8-a116-562d77c4ac7b
      rdf:type tpl:ClassOfCompositionDefinition ;
      tpl:hasClassOfWhole ex:19386c33-76ca-48e3-bb35-9fcbc0740394 ; # Fluid Mixture M
      tpl:hasClassOfPart ex:e8637f78-a228-4ec9-97f7-b4bd6e31837d ; # Fluid A
      tpl:hasDefined ex:7a4d93ec-aaf1-4d1d-8a74-453927cde167 ; # 
      tpl:hasCardinalityOfWhole rdl:RDS222625 ; # ONE TO ONE
      tpl:hasCardinalityOfPart rdl:RDS999900701 ; # ONE TO MANY
      meta:valEffectiveDate "2021-12-12T11:35:00Z"^^xsd:dateTime .
]]>
</LoweredTemplateInstanceListing>
</TemplateSpecification>
