<?xml version="1.0" encoding="UTF-8"?>
<?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>ClassifiedIdentificationOfClass</TemplateName>
	<Intent>Identification of a Part 2 Class according a given type of identification (e.g. RDL UniqueName)</Intent>
	<Description>ClassifiedIdentificationOfClass(x1, x2, x3) means that x1 is a [class], x2 is a string and x3 a [class_of_class_of_identification], and that x2 is an x3-type identification of x1. </Description>
	<LiftedAndLoweredGraph>ClassifiedIdentificationOfClass.png</LiftedAndLoweredGraph>
	<LiftedTemplate>
    	<LiftedTemplateElements>
    		<Ref>1</Ref>
    		<URI>http://dm.rdlfacade.org/data#Class</URI>
    	</LiftedTemplateElements>
    	<LiftedTemplateElements>
    		<Ref>2</Ref>
    		<URI>http://dm.rdlfacade.org/data#ExpressString</URI>
    	</LiftedTemplateElements> 
    	<LiftedTemplateElements>
    		<Ref>3</Ref>
    		<URI>http://dm.rdlfacade.org/data#ClassOfClassOfIdentification</URI>
    	</LiftedTemplateElements>
    	<LiftedTemplateElements>
    		<Ref>4</Ref>
    		<URI>http://dm.rdlfacade.org/data#Classification</URI>
    	</LiftedTemplateElements>
    	<LiftedTemplateElements>
    		<Ref>5</Ref>
    		<URI>http://dm.rdlfacade.org/data#ClassOfIdentification</URI>
    	</LiftedTemplateElements>
	</LiftedTemplate>
	<PropertiesOfLoweredTemplate>
    	<TemplateSignature>
    		<RoleNo>1</RoleNo>
    		<RoleName>hasIdentified</RoleName>
    		<RoleObjectType>http://dm.rdlfacade.org/data#Class</RoleObjectType>
    	</TemplateSignature>
    	<TemplateSignature>
    		<RoleNo>2</RoleNo>
    		<RoleName>valIdentifier</RoleName>
    		<RoleObjectType>http://dm.rdlfacade.org/data#ExpressString</RoleObjectType>
    	</TemplateSignature>
    	<TemplateSignature>
    		<RoleNo>3</RoleNo>
    		<RoleName>hasIdentificationType</RoleName>
    		<RoleObjectType>http://dm.rdlfacade.org/data#ClassOfClassOfIdentification</RoleObjectType>
    	</TemplateSignature>
  	</PropertiesOfLoweredTemplate>  	
	<LoweredTemplateOWLcode>
    	<![CDATA[
	    <owl:Class rdf:ID="ClassifiedIdentificationOfClass">
	        <rdfs:label>ClassifiedIdentificationOfClass</rdfs:label>
		<rdfs:subClassOf rdf:resource="#ClassifiedIdentification"/>
	        <rdfs:subClassOf rdf:resource="#BaseTemplateStatement"/>
	        <rdfs:subClassOf>
	            <owl:Class>
	                <owl:intersectionOf rdf:parseType="Collection">
	                    <owl:Restriction>
	                        <owl:onProperty rdf:resource="#hasIdentified"/>
	                        <owl:allValuesFrom rdf:resource="&dm;Class"/>
	                    </owl:Restriction>
	                    <owl:Restriction>
	                        <owl:onProperty rdf:resource="#hasIdentified"/>
	                        <owl:onClass rdf:resource="&dm;Class"/>
	                        <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
	                    </owl:Restriction>
	                </owl:intersectionOf>
	            </owl:Class>
	        </rdfs:subClassOf>
	    </owl:Class>

	    <owl:Thing rdf:ID="TemplateDescription_of_ClassifiedIdentificationOfClass">
	        <rdf:type rdf:resource="&p7tm;TemplateDescription"/>
	        <rdfs:label>TemplateDescription_of_ClassifiedIdentificationOfClass</rdfs:label>
	        <p7tm:valNumberOfRoles rdf:datatype="&xsd;integer">3</p7tm:valNumberOfRoles>
	        <p7tm:hasTemplate rdf:resource="#ClassifiedIdentificationOfClass"/>
	    </owl:Thing>

	    <owl:Thing rdf:ID="TemplateRoleDescription_of_ClassifiedIdentificationOfClass_1">
	        <rdf:type rdf:resource="&p7tm;TemplateRoleDescription"/>
	        <rdfs:label>Description of role 1 in template ClassifiedIdentificationOfClass</rdfs:label>
	        <p7tm:valRoleIndex rdf:datatype="&xsd;integer">1</p7tm:valRoleIndex>
	        <p7tm:hasRole rdf:resource="#hasIdentified"/> 
	        <p7tm:hasRoleFillerType rdf:resource="&dm;Class"/>
	        <p7tm:hasTemplate rdf:resource="#ClassifiedIdentificationOfClass"/>
	    </owl:Thing>

	    <owl:Thing rdf:ID="TemplateRoleDescription_of_ClassifiedIdentificationOfClass_2">
	        <rdf:type rdf:resource="&p7tm;TemplateRoleDescription"/>
	        <rdfs:label>Description of role 2 in template ClassifiedIdentificationOfClass</rdfs:label>
	        <p7tm:valRoleIndex rdf:datatype="&xsd;integer">2</p7tm:valRoleIndex>
	        <p7tm:hasRole rdf:resource="#valIdentified"/>
	        <p7tm:hasRoleFillerType rdf:resource="&xsd;string"/>
	        <p7tm:hasTemplate rdf:resource="#ClassifiedIdentificationOfClass"/>
	    </owl:Thing>

	    <owl:Thing rdf:ID="TemplateRoleDescription_of_ClassifiedIdentificationOfClass_3">
	        <rdf:type rdf:resource="&p7tm;TemplateRoleDescription"/>
	        <rdfs:label>Description of role 3 in template ClassifiedIdentificationOfClass</rdfs:label>
	        <p7tm:valRoleIndex rdf:datatype="&xsd;integer">3</p7tm:valRoleIndex>
	        <p7tm:hasRole rdf:resource="#hasIdentificationType"/> 
	        <p7tm:hasRoleFillerType rdf:resource="&dm;ClassOfClassOfIdentification"/>
	        <p7tm:hasTemplate rdf:resource="#ClassifiedIdentificationOfClass"/>
	    </owl:Thing>
    	]]>      		
    </LoweredTemplateOWLcode>
  	<LoweredTemplateFOLcode>
	    <![CDATA[
			ClassifiedIdentificationOfClass(x1, x2, x3) <-> 
			Class(x1) & 
			ExpressString(x2) & 
			ClassOfClassOfIdentification(x3) & 
			exists u(ClassOfIdentificationTriple(u, x2, x1) & 
			      ClassificationTemplate(u, x3)) .
    	]]>
  	</LoweredTemplateFOLcode>
  	<LoweredTemplateInstanceListing>
    	    <![CDATA[
    		<owl:Thing rdf:ID="T-340636">
      			<rdf:type rdf:resource="&p7tpl;ClassifiedIdentification"/>
      			<meta:annUniqueName rdf:datatype="&xsd;string">
        			The Class R12347255217 has an RDL unique name of EjectorPump
      			</meta:annUniqueName>
      			<meta:annRule rdf:datatype="&xsd;string">#com1_4598294465</meta:annRule>
      			<meta:annAccessCode rdf:datatype="&xsd;string">#com1_272753</meta:annAccessCode>
      			<p7tpl:hasIdentified rdf:resource="#R12347255217"/>
      			<p7tpl:valIdentifier rdf:datatype="&xsd;string">EjectorPump</p7tpl:valIdentifier>
      			<p7tpl:hasIdentificationType rdf:resource="#R3256432"/> <!--RDL UniqueName-->
    		</owl:Thing>
    	    ]]>
  	</LoweredTemplateInstanceListing>
</TemplateSpecification>

