Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong Declaration of Enumerations #7

Open
VladimirAlexiev opened this issue Sep 11, 2024 · 2 comments
Open

Wrong Declaration of Enumerations #7

VladimirAlexiev opened this issue Sep 11, 2024 · 2 comments
Labels
ontology Pertains to ontology representation

Comments

@VladimirAlexiev
Copy link
Collaborator

VladimirAlexiev commented Sep 11, 2024

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" .

@VladimirAlexiev VladimirAlexiev added the ontology Pertains to ontology representation label Sep 13, 2024
@griddigit-ci
Copy link
Collaborator

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
Copy link
Collaborator Author

VladimirAlexiev commented Sep 15, 2024

@griddigit-ci

:atoCommunicationSystem rdf:type owl:ObjectProperty ;
  rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
  :inSkosConceptScheme <http://data.europa.eu/949/concepts/ato-commsys/ATOCommSystem> ;
  • Some people use distinct classes like CIM does.
  • A few people even declare the specific classes as subClassOf skos:Concept, and also use a concept scheme (i.e. belt and suspenders approach)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ontology Pertains to ontology representation
Projects
None yet
Development

No branches or pull requests

2 participants