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#>
PREFIX modeldescription: <http://iec.ch/TC57/61970-552/ModelDescription/1#>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX rdfschemaextensions19990926: <http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#>
PREFIX differencemodel: <http://iec.ch/TC57/61970-552/DifferenceModel/1#>
PREFIX cim100: <http://iec.ch/TC57/CIM100#>
PREFIX cim100european: <http://iec.ch/TC57/CIM100-European#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX pav: <http://purl.org/pav/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<http://iec.ch/TC57/ns/CIM/FileHeader-EU#Ontology> a owl:Ontology ;
  rdfs:label "File Header Vocabulary"@en ;
  rdfs:comment "This vocabulary is describing the file header profile from IEC 61970-600-2."@en ;
  pav:createdOn "2021-01-27T12:09:21Z"^^xsd:dateTime ;
  pav:lastUpdatedOn "2020-10-12"^^xsd:dateTime ;
  pav:version "3.0.0" ;
  dcterms:conformsTo <file://iec61970cim17v40_iec61968cim13v13a_iec62325cim03v17a.eap> , <urn:iso:std:iec:61970-301:ed-7:amd1> , <urn:iso:std:iec:61970-600-2:ed-1> , <urn:iso:std:iec:61970-501:draft:ed-2> ;
  dcterms:creator "ENTSO-E CIM EG" ;
  dcterms:identifier "6f8a0699-7366-4cb2-9220-d9d44d586081" ;
  dcterms:language "en-GB" ;
  dcterms:publisher "ENTSO-E" ;
  dcterms:rights "Copyright" ;
  dcterms:rightsHolder "ENTSO-E" ;
  dcat:keyword "FH" ;
  dcat:landingPage <https://www.entsoe.eu/digital/cim/cim-for-grid-models-exchange/> ;
  dcat:theme "vocabulary" ;
  vann:preferredNamespacePrefix "modeldescription" ;
  vann:preferredNamespaceUri "http://iec.ch/TC57/61970-552/ModelDescription/1#"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "modeldescription" ;
    sh:namespace "http://iec.ch/TC57/61970-552/ModelDescription/1#"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "rdfschemaextensions19990926" ;
    sh:namespace "http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#"^^xsd:anyURI
  ] , [
    sh:prefix "differencemodel" ;
    sh:namespace "http://iec.ch/TC57/61970-552/DifferenceModel/1#"^^xsd:anyURI
  ] , [
    sh:prefix "cim100" ;
    sh:namespace "http://iec.ch/TC57/CIM100#"^^xsd:anyURI
  ] , [
    sh:prefix "cim100european" ;
    sh:namespace "http://iec.ch/TC57/CIM100-European#"^^xsd:anyURI
  ] , [
    sh:prefix "dcterms" ;
    sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI
  ] , [
    sh:prefix "rdf" ;
    sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI
  ] , [
    sh:prefix "dcat" ;
    sh:namespace "http://www.w3.org/ns/dcat#"^^xsd:anyURI
  ] .

differencemodel:DifferenceModel a owl:Class ;
  rdfs:label "DifferenceModel"@en ;
  rdfs:comment "It represents the difference model header. The content is described by the Model class, the association role forwardDifferences and association role reverseDifferences. Both association roles may have one set of Statements." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "dm" , <http://iec.ch/TC57/NonStandard/UML#concrete> ;
  rdfs:subClassOf modeldescription:Model , [
    a owl:Restriction ;
    owl:onProperty differencemodel:DifferenceModel.preconditions ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty differencemodel:DifferenceModel.forwardDifferences ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty differencemodel:DifferenceModel.reverseDifferences ;
    owl:allValuesFrom owl:Thing
  ] .

cim100european:URI a owl:Class ;
  rdfs:label "URI"@en ;
  rdfs:comment "URI is a string following the rules defined by the W3C/IETF URI Planning Interest Group in a set of RFCs of which one is RFC 3305." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "European" , "Primitive" .

cim100:String a owl:Class ;
  rdfs:label "String"@en ;
  rdfs:comment "A string consisting of a sequence of characters. The character encoding is UTF-8. The string length is unspecified and unlimited." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "Primitive" .

cim100:Integer a owl:Class ;
  rdfs:label "Integer"@en ;
  rdfs:comment "An integer number. The range is unspecified and not limited." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "Primitive" .

modeldescription:FullModel a owl:Class ;
  rdfs:label "FullModel"@en ;
  rdfs:comment "It represents the full model header and its contents is described by the Model class." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "md" , <http://iec.ch/TC57/NonStandard/UML#concrete> ;
  rdfs:subClassOf modeldescription:Model .

modeldescription:Model a owl:Class ;
  rdfs:label "Model"@en ;
  rdfs:comment """A Model is a collection of data describing instances, objects or entities, real or computed. In the context of CIM the semantics of the data is defined by profiles. Hence a model can contain equipment data, power flow initial values, power flow results etc.
The Model class describes the header content that is the same for the FullModel and the DifferenceModel. A Model is identified by an rdf:about attribute. The rdf:about attribute uniquely describe the model data and not the CIMXML document. A new rdf:about identification is generated for created documents only when the model data has changed. A repeated creation of documents from unchanged model data shall have the same rdf:about identification as previous document generated from the same model data.""" ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "md" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.description ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.Supersedes ;
    owl:allValuesFrom modeldescription:Model
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.profile ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.SupersededBy ;
    owl:allValuesFrom modeldescription:Model
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.Depending ;
    owl:allValuesFrom modeldescription:Model
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.DependentOn ;
    owl:allValuesFrom modeldescription:Model
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.version ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.scenarioTime ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.modelingAuthoritySet ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty modeldescription:Model.created ;
    owl:allValuesFrom owl:Thing
  ] .

cim100:DateTime a owl:Class ;
  rdfs:label "DateTime"@en ;
  rdfs:comment "Date and time as \"yyyy-mm-ddThh:mm:ss.sss\", which conforms with ISO 8601. UTC time zone is specified as \"yyyy-mm-ddThh:mm:ss.sssZ\". A local timezone relative UTC is specified as \"yyyy-mm-ddThh:mm:ss.sss-hh:mm\". The second component (shown here as \"ss.sss\") could have any number of digits in its fractional part to allow any kind of precision beyond seconds." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_FileHeaderProfile ;
  rdfschemaextensions19990926:stereotype "Primitive" .

rdf:Statements rdfs:label "Statements"@en ;
  rdfs:comment "It represent a set of Definition and/or Description elements." ;
  rdfschemaextensions19990926:belongsToCategory cim100:Package_DomainProfile ;
  rdfschemaextensions19990926:stereotype "Compound" , "rdf" .

rdfschemaextensions19990926:ClassCategory a owl:Class .

modeldescription:Model.description a owl:ObjectProperty ;
  rdfs:label "description"@en ;
  rdfs:comment "A description of the model, e.g. the name of person that created the model and for what purpose. The number of UTF-8 characters is limited to 2000." ;
  rdfschemaextensions19990926:dataType cim100:String ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..1 ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.Supersedes a owl:ObjectProperty ;
  rdfs:label "Supersedes"@en ;
  rdfs:comment "When a model is updated the resulting model supersedes the models that were used as basis for the update. Hence this is a reference to the CIMXML documents which are superseded by this model. A model (or instance file) can supersede 1 or more models, e.g. a difference model or a full model supersede multiple models (difference or full). In this case more than one Model.Supersedes are included in the header. The referenced document(s) is (are) identified by the URN/MRID/UUID in the FullModel rdf:about attribute when full model(s) is (are) referenced and by the URN/MRID/UUID in the DifferenceModel rdf:about attribute when difference model(s) is (are) referenced." ;
  rdfschemaextensions19990926:AssociationUsed "Yes" ;
  rdfschemaextensions19990926:inverseRoleName modeldescription:Model.SupersededBy ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:0..n ;
  rdfs:range modeldescription:Model ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.profile a owl:ObjectProperty ;
  rdfs:label "profile"@en ;
  rdfs:comment "URN/URI describing the profiles that governs this model. It uniquely identifies the profiles and its version, e.g. http://iec.ch/TC57/61970-456/SteadyStateHypothesis/2/0. " ;
  rdfschemaextensions19990926:dataType cim100european:URI ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..n ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

differencemodel:DifferenceModel.preconditions a owl:ObjectProperty ;
  rdfs:label "preconditions"@en ;
  rdfs:comment "A property of the difference model whose value is the collection of precondition statements." ;
  rdfschemaextensions19990926:dataType rdf:Statements ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..n ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain differencemodel:DifferenceModel .

modeldescription:Model.SupersededBy a owl:ObjectProperty ;
  rdfs:label "SupersededBy"@en ;
  rdfs:comment "All models superseding this model. This role is not intended to be included in any document exchanging instance data." ;
  rdfschemaextensions19990926:AssociationUsed "No" ;
  rdfschemaextensions19990926:inverseRoleName modeldescription:Model.Supersedes ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:0..n ;
  rdfs:range modeldescription:Model ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.Depending a owl:ObjectProperty ;
  rdfs:label "Depending"@en ;
  rdfs:comment "All documents depending on the model described by this document. This role is not intended to be included in any document exchanging instance data." ;
  rdfschemaextensions19990926:AssociationUsed "No" ;
  rdfschemaextensions19990926:inverseRoleName modeldescription:Model.DependentOn ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:0..n ;
  rdfs:range modeldescription:Model ;
  rdfs:domain modeldescription:Model .

differencemodel:DifferenceModel.forwardDifferences a owl:ObjectProperty ;
  rdfs:label "forwardDifferences"@en ;
  rdfs:comment "A property of the difference model whose value is a collection of statements (i.e., resources of type rdf:Statement) representing the forward difference statements. " ;
  rdfschemaextensions19990926:dataType rdf:Statements ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..n ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain differencemodel:DifferenceModel .

modeldescription:Model.DependentOn a owl:ObjectProperty ;
  rdfs:label "DependentOn"@en ;
  rdfs:comment """A reference to the model documents that the model described by this document depends on. In general there can be 0 or many Model.DependentOn depending on the profile and the content of the instance file.
For instance:
– A load flow solution depends on the topology model it was computed from
– A topology model computed by a topology processor depends on the network model it was computed from.
The referenced models are identified by the FullModel rdf:about attribute for full model documents and by DifferenceModel rdf:about attribute for difference model documents.
The references are maintained by the producer of the CIMXML document and the references are valid for the model with version and identifier for which the document was created.""" ;
  rdfschemaextensions19990926:AssociationUsed "Yes" ;
  rdfschemaextensions19990926:inverseRoleName modeldescription:Model.Depending ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:0..n ;
  rdfs:range modeldescription:Model ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.version a owl:ObjectProperty ;
  rdfs:label "version"@en ;
  rdfs:comment "The version of the model. If the instance file is imported and exported with no change the version number is the kept same. The version changes only if the content of the file changes. It is the same logic as for the header id. The version is the human readable id." ;
  rdfschemaextensions19990926:dataType cim100:Integer ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..1 ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.scenarioTime a owl:ObjectProperty ;
  rdfs:label "scenarioTime"@en ;
  rdfs:comment "The date and time that this model represents, i.e. for which the model is valid. The format is an extended format according to the ISO 8601-2005. European exchanges shall refer to UTC, e.g. &lt;md:Model.scenarioTime&gt;2030-01-15T17:00:00.000Z&lt;/md:Model.scenarioTime&gt;." ;
  rdfschemaextensions19990926:dataType cim100:DateTime ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..1 ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.modelingAuthoritySet a owl:ObjectProperty ;
  rdfs:label "modelingAuthoritySet"@en ;
  rdfs:comment "A URN/URI referring to the organisation role / model authority set reference. The organization role is the source of the model. It is the same for all profiles part of a model exchange. " ;
  rdfschemaextensions19990926:dataType cim100european:URI ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..1 ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

modeldescription:Model.created a owl:ObjectProperty ;
  rdfs:label "created"@en ;
  rdfs:comment "The date and time when the model was created. It is the time of the serialization. The format is an extended format according to the ISO 8601-2005. European exchanges shall refer to UTC, e.g. &lt;md:Model.created&gt;2014-05-15T17:48:31.474Z&lt;/md:Model.created&gt;." ;
  rdfschemaextensions19990926:dataType cim100:DateTime ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..1 ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain modeldescription:Model .

differencemodel:DifferenceModel.reverseDifferences a owl:ObjectProperty ;
  rdfs:label "reverseDifferences"@en ;
  rdfs:comment "A property of the difference model whose value is the collection of reverse difference statements." ;
  rdfschemaextensions19990926:dataType rdf:Statements ;
  rdfschemaextensions19990926:multiplicity rdfschemaextensions19990926:M:1..n ;
  rdfschemaextensions19990926:stereotype <http://iec.ch/TC57/NonStandard/UML#attribute> ;
  rdfs:domain differencemodel:DifferenceModel .

pav:createdOn a owl:AnnotationProperty .

pav:lastUpdatedOn a owl:AnnotationProperty .

pav:version a owl:AnnotationProperty .

dcterms:conformsTo a owl:AnnotationProperty .

dcterms:creator a owl:AnnotationProperty .

dcterms:identifier a owl:AnnotationProperty .

dcterms:language a owl:AnnotationProperty .

dcterms:publisher a owl:AnnotationProperty .

dcterms:rights a owl:AnnotationProperty .

dcterms:rightsHolder a owl:AnnotationProperty .

dcat:keyword a owl:AnnotationProperty .

dcat:landingPage a owl:AnnotationProperty .

dcat:theme a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

rdfschemaextensions19990926:belongsToCategory a owl:AnnotationProperty .

rdfschemaextensions19990926:stereotype a owl:AnnotationProperty .

rdfschemaextensions19990926:dataType a owl:AnnotationProperty .

rdfschemaextensions19990926:multiplicity a owl:AnnotationProperty .

rdfschemaextensions19990926:AssociationUsed a owl:AnnotationProperty .

rdfschemaextensions19990926:inverseRoleName a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
