SCHEMA_ISO-15926-8-p7tm-ERH.ttl 15.9 KB
# Saved by TopBraid on Thu Aug 18 00:46:08 BST 2011
# baseURI: http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm
# imports: http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model

@prefix :        <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm#> .
@prefix iso-tm:  <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class>
      rdf:type owl:Class .

<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Thing>
      rdf:type owl:Class ;
      owl:disjointWith iso-tm:Template , iso-tm:TemplateRole , iso-tm:TemplateStatement .

<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm>
      rdf:type owl:Ontology ;
      rdfs:comment "This ontology provides basic classes for representing ISO 15926-8 template signatures. It depends on an OWL taxonomy representation of ISO 15926-2 entity types." ;
      owl:imports <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

iso-tm:BaseTemplate
      rdf:type owl:Class ;
      rdfs:comment "A base template makes no reference to entities beyond the generic types defined in ISO 15926-2." ;
      rdfs:label "BaseTemplate" ;
      rdfs:subClassOf iso-tm:Template ;
      owl:disjointWith iso-tm:RDLTemplate .

iso-tm:BaseTemplateStatement
      rdf:type owl:Class ;
      rdfs:comment "The class of \"base\" template statements covers all the typical cases of statements used to carry data. It is distinguished from template meta-statements, which are used to characterize templates themselves." ;
      rdfs:label "BaseTemplateStatement" ;
      rdfs:subClassOf iso-tm:TemplateStatement ;
      owl:disjointWith iso-tm:MetaTemplateStatement .

iso-tm:MetaTemplateStatement
      rdf:type owl:Class ;
      rdfs:comment """A template statement (template instance) that characterizes a template. For templates themselves, we record the number of roles. For roles, we record for each template their type constraints and positions.
Various provenance information about templates would also belong here.""" ;
      rdfs:label "MetaTemplateStatement" ;
      rdfs:subClassOf iso-tm:TemplateStatement .

iso-tm:RDLTemplate
      rdf:type owl:Class ;
      rdfs:comment """An RDL template makes reference to entities defined in at least one Reference Data Library.
Note. This does not in itself mean that the template has roles constrained to RDL classes. The reference to RDL content may be embedded in the intended use of the template; or in the expansion rule of the template, as given according to ISO 15926-7.
Note. Any RDL template should be defined as a template specialization of a base template.""" ;
      rdfs:label "CoreTemplate" ;
      rdfs:subClassOf iso-tm:Template .

iso-tm:RDLTemplateStatement
      rdf:type owl:Class ;
      rdfs:comment "An RDLtemplateStatement is an instance of an RDL template. See the definition of RDLTemplate." ;
      rdfs:label "RDLTemplateStatement" ;
      rdfs:subClassOf iso-tm:BaseTemplateStatement .

iso-tm:RDLcoreTemplate
      rdf:type owl:Class ;
      rdfs:comment "An RDLcoreTemplate is an RDL template for references to RDL content  are restricted to core (highly generic, not industry specific) RDL entities." ;
      rdfs:label "RDLcoreTemplate" ;
      rdfs:subClassOf iso-tm:RDLTemplate ;
      owl:disjointWith iso-tm:RDLindustryTemplate .

iso-tm:RDLcoreTemplateStatement
      rdf:type owl:Class ;
      rdfs:label "RDLcoreTemplateStatement" ;
      rdfs:subClassOf iso-tm:RDLTemplateStatement .

iso-tm:RDLindustryTemplate
      rdf:type owl:Class ;
      rdfs:comment "An RDL industry template is an RDL template which makes some reference to industry-specific RDL entities." ;
      rdfs:label "RDLindustryTemplate" ;
      rdfs:subClassOf iso-tm:RDLTemplate .

iso-tm:RDLindustryTemplateStatement
      rdf:type owl:Class ;
      rdfs:label "RDLindustryTemplateStatement" ;
      rdfs:subClassOf iso-tm:RDLTemplateStatement .

iso-tm:Template
      rdf:type owl:Class ;
      rdfs:comment "A Template is a predicate defined according to ISO 15926-7 template signature specification requirements. For this OWL representation, the transparent OWL 2 punning mechanism is relied upon for treating templates, which are really classes, as individuals. The individuals in this class are punned templates." ;
      rdfs:label "Template" .

iso-tm:TemplateDescription
      rdf:type owl:Class ;
      rdfs:label "TemplateDescription" ;
      rdfs:subClassOf iso-tm:MetaTemplateStatement ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom xsd:positiveInteger ;
                            owl:onProperty iso-tm:valNumberOfRoles
                          ] [ rdf:type owl:Restriction ;
                            owl:onDataRange xsd:positiveInteger ;
                            owl:onProperty iso-tm:valNumberOfRoles ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom iso-tm:Template ;
                            owl:onProperty iso-tm:hasTemplate
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass iso-tm:Template ;
                            owl:onProperty iso-tm:hasTemplate ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] .

iso-tm:TemplateRole
      rdf:type owl:Class ;
      rdfs:comment "A TemplateRole is a role defined according to ISO 15926-7 template signature specification requirements. For this OWL representation, the transparent OWL 2 punning mechanism is relied upon for treating template roles, which are really relations, as individuals. The individuals in this class are punned template roles." ;
      rdfs:label "TemplateRole" .

iso-tm:TemplateRoleDescription
      rdf:type owl:Class ;
      rdfs:label "TemplateRoleDescription" ;
      rdfs:subClassOf iso-tm:MetaTemplateStatement ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom iso-tm:Template ;
                            owl:onProperty iso-tm:hasTemplate
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass iso-tm:Template ;
                            owl:onProperty iso-tm:hasTemplate ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom xsd:integer ;
                            owl:onProperty iso-tm:valRoleIndex
                          ] [ rdf:type owl:Restriction ;
                            owl:onDataRange xsd:integer ;
                            owl:onProperty iso-tm:valRoleIndex ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
                            owl:onProperty iso-tm:hasRoleFillerType
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
                            owl:onProperty iso-tm:hasRoleFillerType ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom iso-tm:TemplateRole ;
                            owl:onProperty iso-tm:hasRole
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass iso-tm:TemplateRole ;
                            owl:onProperty iso-tm:hasRole ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] .

iso-tm:TemplateSpecialization
      rdf:type owl:Class ;
      rdfs:label "TemplateSpecialization" ;
      rdfs:subClassOf iso-tm:MetaTemplateStatement ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom iso-tm:Template ;
                            owl:onProperty iso-tm:hasSuperTemplate
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass iso-tm:Template ;
                            owl:onProperty iso-tm:hasSuperTemplate ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Class ;
                owl:intersectionOf ([ rdf:type owl:Restriction ;
                            owl:allValuesFrom iso-tm:Template ;
                            owl:onProperty iso-tm:hasSubTemplate
                          ] [ rdf:type owl:Restriction ;
                            owl:onClass iso-tm:Template ;
                            owl:onProperty iso-tm:hasSubTemplate ;
                            owl:qualifiedCardinality
                                    "1"^^xsd:nonNegativeInteger
                          ])
              ] .

iso-tm:TemplateStatement
      rdf:type owl:Class ;
      rdfs:comment "A template statement is an instance of a template. Example: Given a template F with signature specifying the roles R1, R2 of types, resp., T1, T2. If a and b are individuals, then F(a,b) is a template statement." ;
      rdfs:label "TemplateStatement" ;
      owl:equivalentClass
              [ rdf:type owl:Class ;
                owl:unionOf (iso-tm:BaseTemplateStatement iso-tm:MetaTemplateStatement)
              ] .

iso-tm:hasBaseTemplateObjectRoleFiller
      rdf:type owl:ObjectProperty ;
      rdfs:comment "This is a super-property for properties used in ordinary template statements, used to carry data (and not for characterizing templates themselves). A \"content\" template may not refer to templates or template roles themselves: Therefore the range of this property is dm:Thing." ;
      rdfs:label "hasBaseTemplateObjectRoleFiller" ;
      rdfs:range <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Thing> ;
      rdfs:subPropertyOf iso-tm:hasObjectRoleFiller .

iso-tm:hasMetaTemplateObjectRoleFiller
      rdf:type owl:ObjectProperty ;
      rdfs:comment "This property is a super-property for properties used in meta-template statements, i.e., properties used to characterize templates." ;
      rdfs:label "hasMetaTemplateObjectRoleFiller" ;
      rdfs:subPropertyOf iso-tm:hasObjectRoleFiller .

iso-tm:hasObjectRoleFiller
      rdf:type owl:ObjectProperty ;
      rdfs:label "hasObjectRoleFiller" .

iso-tm:hasRole
      rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:comment "Used in meta-template TemplateRoleDescription to indicate which role is being described." ;
      rdfs:domain iso-tm:TemplateRoleDescription ;
      rdfs:label "role" ;
      rdfs:range iso-tm:TemplateRole ;
      rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .

iso-tm:hasRoleFillerType
      rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:comment "Used in meta-template TemplateRoleDescription to indicate which class any role-filler needs to belong to. That is, this property records the type constraint on individuals filling this role." ;
      rdfs:domain iso-tm:TemplateRoleDescription ;
      rdfs:label "type" ;
      rdfs:range <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
      rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .

iso-tm:hasSubTemplate
      rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:comment "Used in meta-template TemplateSpecialization to indicate which template is the sub-template in a specialization relationship. Use this property to indicate the template which is more constrained than its supertemplate." ;
      rdfs:domain iso-tm:TemplateSpecialization ;
      rdfs:label "hasSubTemplate" ;
      rdfs:range iso-tm:Template ;
      rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .

iso-tm:hasSuperTemplate
      rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:comment "Used in meta-template TemplateSpecialization to indicate which template is the super-template  in a specialization relationship. Use this property to indicate the template which is less constrained than its subtemplate." ;
      rdfs:domain iso-tm:TemplateSpecialization ;
      rdfs:label "hasSuperTemplate" ;
      rdfs:range iso-tm:Template ;
      rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .

iso-tm:hasTemplate
      rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:comment "Used in meta-templates TemplateDescription and TemplateRoleDescription to record which template a statement applies to: which template is being described." ;
      rdfs:domain
              [ rdf:type owl:Class ;
                owl:unionOf (iso-tm:TemplateDescription iso-tm:TemplateRoleDescription)
              ] ;
      rdfs:label "isAboutTemplate" ;
      rdfs:range iso-tm:Template ;
      rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .

iso-tm:valBaseTemplateDataRoleFiller
      rdf:type owl:DatatypeProperty ;
      rdfs:label "valBaseTemplateDataRoleFiller" ;
      rdfs:subPropertyOf iso-tm:valDataRoleFiller .

iso-tm:valDataRoleFiller
      rdf:type owl:DatatypeProperty ;
      rdfs:label "valDataRoleFiller" .

iso-tm:valMetaTemplateDataRoleFiller
      rdf:type owl:DatatypeProperty ;
      rdfs:label "valMetaTemplateDataRoleFiller" ;
      rdfs:subPropertyOf iso-tm:valDataRoleFiller .

iso-tm:valNumberOfRoles
      rdf:type owl:DatatypeProperty ;
      rdfs:comment "Used in meta-template TemplateDescription to say how many roles a template is defined to have." ;
      rdfs:label "numberOfRoles" ;
      rdfs:range xsd:int ;
      rdfs:subPropertyOf iso-tm:valMetaTemplateDataRoleFiller .

iso-tm:valRoleIndex
      rdf:type owl:DatatypeProperty ;
      rdfs:comment "Used in meta-template TemplateRoleDescription to record the position of a role in a template." ;
      rdfs:label "positionInTemplate" ;
      rdfs:range xsd:int ;
      rdfs:subPropertyOf iso-tm:valMetaTemplateDataRoleFiller .

[]    rdf:type owl:AllDisjointClasses ;
      owl:members (iso-tm:Template iso-tm:TemplateRole iso-tm:TemplateStatement) .

[]    rdf:type owl:AllDisjointClasses ;
      owl:members (iso-tm:TemplateDescription iso-tm:TemplateRoleDescription iso-tm:TemplateSpecialization) .