Sveino / Inst4CIM-KG

Instance of CIM Knowledge Graph
Apache License 2.0
4 stars 1 forks source link

merge and fix DatasetMetadata, Header, FileHeader #69

Open VladimirAlexiev opened 1 month ago

VladimirAlexiev commented 1 month ago

(started from https://github.com/Sveino/Inst4CIM-KG/issues/13, where I noticed dm used for two different purposes). There are 4 namespaces that are closely related: to my mind "model" is carrier of "header" or "metadata" and "differential model" is closely related to it:

@prefix eumd:         <https://cim4.eu/ns/Metadata-European#> .
@prefix md:           <http://iec.ch/TC57/61970-552/ModelDescription/1#> .
@prefix dm:           <http://iec.ch/TC57/61970-552/DifferenceModel/1#> .
@prefix dm:           <https://ap-voc.cim4.eu/DatasetMetadata#> .

Do you really need separate ontologies DatasetMetadata, Header (and there was FileHeader? Several of the ontology terms are defined in 2 of the 3. So I suggest to merge these files, and to reduce to 1-2 namespaces:

grep -E '^(dm:|eumd:|md:)' */*/*
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:eumd:DateTimeStamp a rdfs:Class ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:dm:Ontology a owl:Ontology ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:eumd:Model1 a rdf:Property ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:eumd:Model2 a rdf:Property ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:eumd:processType a rdf:Property ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:eumd:usedSettings a rdf:Property ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:dm:Package_DatasetMetadataProfile a cims:ClassCategory ;
CGMES-NC/ttl/DatasetMetadata-AP-Voc-RDFS2020.ttl:dm:Package_DocDatasetMetadataProfile a cims:ClassCategory ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:dm:DifferenceModel a rdfs:Class ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:DateTimeStamp a rdfs:Class ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:FullModel a rdfs:Class ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model a rdfs:Class ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:dm:DifferenceModel.forwardDifferences a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:dm:DifferenceModel.preconditions a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:dm:DifferenceModel.reverseDifferences a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:Model.applicationSoftware a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:Model1 a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:Model2 a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:processType a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:eumd:usedSettings a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.DependentOn a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.Depending a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.SupersededBy a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.Supersedes a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.created a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.description a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.modelingAuthoritySet a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.profile a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.scenarioTime a rdf:Property ;
CGMES-NC/ttl/Header-AP-Voc-RDFS2020.ttl:md:Model.version a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:dm:DifferenceModel a rdfs:Class ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:FullModel a rdfs:Class ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model a rdfs:Class ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:dm:DifferenceModel.forwardDifferences a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:dm:DifferenceModel.preconditions a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:dm:DifferenceModel.reverseDifferences a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.DependentOn a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.Depending a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.SupersededBy a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.Supersedes a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.created a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.description a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.modelingAuthoritySet a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.profile a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.scenarioTime a rdf:Property ;
CGMES/ttl/61970-600-2_Header-AP-Voc-RDFS2019_v3-0-0.ttl:md:Model.version a rdf:Property ;

In addition:

VladimirAlexiev commented 1 month ago

@Sveino agrees to merge them. Furthermore, he wants to replace as much as possible witg DCAT (so cim:Model will become dcat:Dataset).

VladimirAlexiev commented 1 month ago