Sveino / Inst4CIM-KG

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

Wrong Declaration of Enumerations #7

Open VladimirAlexiev opened 2 months ago

VladimirAlexiev commented 2 months ago

All enumerations are declared like this:

cim:ControlAreaTypeKind a owl:Class ;
  rdfs:label "ControlAreaTypeKind"@en ;
  eq:Package "Package_CoreEquipmentProfile" ;
  owl:oneOf ( cim:ControlAreaTypeKind.AGC cim:ControlAreaTypeKind.Forecast
    cim:ControlAreaTypeKind.Interchange ) ;
  rdfs:subClassOf cim:Enumeration ;

This means that the owl:Individual values across all enumerations will also obtain type cim:Enumeration. I think that's not needed because you wouldn't query by it.

Instead, it's better to say:

cim:ControlAreaTypeKind a owl:Class, cim:Enumeration  ;

This way you mark the nature of the class without adding every instance under cim:Enumeration. Instances already have cims:isenum "True".

griddigit-ci commented 2 months ago

I am not sure why we have cim:Enumeration. I guess we should not have it but be able to say that a class is an enumeration. Can we do something like to QUDT? What W3C does when defining an enumeration and how they refer to it as a datatype?

VladimirAlexiev commented 2 months ago

@griddigit-ci

So there's no standard approach. I like the ERA approach, but I think CIM doesn't need to change its approach (distinct classes)