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

Mis-declared Packages #12

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

Mis-declared Packages #12

VladimirAlexiev opened this issue Sep 12, 2024 · 2 comments
Labels
ontology Pertains to ontology representation profile Pertains to profiles, packages (AP)

Comments

@VladimirAlexiev
Copy link
Collaborator

VladimirAlexiev commented Sep 12, 2024

Let's see how packages are used on the example of DY that has the biggest number:

grep -i "[^ ]package" CGMES/ttl/IEC61970-600-2_CGMES_3_0_0_RDFS_501Ed2CD_DY.ttl|sort|uniq -c
      3   dy:Package "Package_AsynchronousMachineDynamics" ;
      6   dy:Package "Package_Core" ;
      3   dy:Package "Package_DC" ;
      4   dy:Package "Package_DiscontinuousExcitationControlDynamics" ;
     36   dy:Package "Package_Domain" ;
     57   dy:Package "Package_ExcitationSystemDynamics" ;
      3   dy:Package "Package_HVDCDynamics" ;
      6   dy:Package "Package_LoadDynamics" ;
      2   dy:Package "Package_MechanicalLoadDynamics" ;
      5   dy:Package "Package_OverexcitationLimiterDynamics" ;
      3   dy:Package "Package_PFVArControllerType1Dynamics" ;
      4   dy:Package "Package_PFVArControllerType2Dynamics" ;
     19   dy:Package "Package_PowerSystemStabilizerDynamics" ;
      1   dy:Package "Package_StandardInterconnections" ;
      2   dy:Package "Package_StandardModels" ;
      1   dy:Package "Package_StaticVarCompensatorDynamics" ;
      5   dy:Package "Package_SynchronousMachineDynamics" ;
     35   dy:Package "Package_TurbineGovernorDynamics" ;
      2   dy:Package "Package_TurbineLoadControllerDynamics" ;
      6   dy:Package "Package_UnderexcitationLimiterDynamics" ;
     22   dy:Package "Package_UserDefinedModels" ;
      2   dy:Package "Package_VoltageAdjusterDynamics" ;
      4   dy:Package "Package_VoltageCompensatorDynamics" ;
     36   dy:Package "Package_WindDynamics" ;
      8   dy:Package "Package_Wires" ;
      1 dy:Package_AsynchronousMachineDynamics a dy:Package ;
      1 dy:Package_Base a dy:Package ;
      1 dy:Package_Core a dy:Package ;
      1 dy:Package_DC a dy:Package ;
      1 dy:Package_DiscontinuousExcitationControlDynamics a dy:Package ;
      1 dy:Package_Domain a dy:Package ;
      1 dy:Package_Dynamics a dy:Package ;
      1 dy:Package_DynamicsProfile a dy:Package ;
      1 dy:Package_ExcitationSystemDynamics a dy:Package ;
      1 dy:Package_HVDCDynamics a dy:Package ;
      1 dy:Package_LoadDynamics a dy:Package ;
      1 dy:Package_MechanicalLoadDynamics a dy:Package ;
      1 dy:Package_OverexcitationLimiterDynamics a dy:Package ;
      1 dy:Package_PFVArControllerType1Dynamics a dy:Package ;
      1 dy:Package_PFVArControllerType2Dynamics a dy:Package ;
      1 dy:Package_PowerSystemStabilizerDynamics a dy:Package ;
      1 dy:Package_StandardInterconnections a dy:Package ;
      1 dy:Package_StandardModels a dy:Package ;
      1 dy:Package_StaticVarCompensatorDynamics a dy:Package ;
      1 dy:Package_SynchronousMachineDynamics a dy:Package ;
      1 dy:Package_TurbineGovernorDynamics a dy:Package ;
      1 dy:Package_TurbineLoadControllerDynamics a dy:Package ;
      1 dy:Package_UnderexcitationLimiterDynamics a dy:Package ;
      1 dy:Package_UserDefinedModels a dy:Package ;
      1 dy:Package_VoltageAdjusterDynamics a dy:Package ;
      1 dy:Package_VoltageCompensatorDynamics a dy:Package ;
      1 dy:Package_WindDynamics a dy:Package ;
      1 dy:Package_Wires a dy:Package ;

There are several mistakes above:

  • Package nodes are defined (with comment) but as type dy:Package: instead should be cims:Package (because of Meta-Props Duplicated Per Profile #10)
  • Package nodes are defined in the profile namespace dy:, instead should be in cims: namespace.
    Eg Package_Core is one and the same thing no matter in which profile it appears.
  • Packages are attached to terms as strings: eg dy:Package "Package_WindDynamics" is used for 36 terms
    • Instead, it should use the already defined "things" (nodes): eg cims:Package_WindDynamics
  • The property should be in lowercase, else it's confused with the class dy:Package

There are more mistakes in the definition of the property:

dy:Package a owl:AnnotationProperty ;
  rdfs:label "MOF Package"@en ;
  rdfs:comment "Declaration that this is a MOF Package."@en ;
  rdfs:domain rdfs:Class ;
  rdfs:range xsd:string .

This should be changed to:

cims:Package a rdfs:Class;
  rdfs:label "MOF Package"@en ;
  rdfs:comment "A group of terms (classes and properties)"@en.

cims:package owl:AnnotationProperty ;
  rdfs:label "MOF Package"@en ;
  rdfs:comment "Package this term belongs to."@en ;
  schema:domainIncludes rdfs:Class, rdf:Property, owl:ObjectProperty, owl:DatatypeProperty ;
  rdfs:range cims:Package .

The prop applies to many kinds of terms, so I've used schema:domainIncludes.
Another way is to use owl:unionOf.

@VladimirAlexiev VladimirAlexiev added ontology Pertains to ontology representation profile Pertains to profiles, packages (AP) labels Sep 13, 2024
@griddigit-ci
Copy link
Collaborator

i have a question here. Is it good to actually have the packages just as "fragment" of the namespace

In the new dynamics and also for the rest of CIM we applied uris for each package
Dynamics: http://cim.ucaiug.io/grid/Dynamics/1.0
StandardInterconnections: http://cim.ucaiug.io/grid/StandardInterconnections/1.0

Can each package by a vocabulary and the uri be the namespace of that vocabulary?

The cim prefix is http://cim.ucaiug.io/ns#. Can we also map this to http://cim.ucaiug.io/ and then we would understand that StandardInterconnections is a vocabulary from cim grid part?

then instead of defining this as a package we can descrive the metadata for that vocabulary

Any thoughts?

@VladimirAlexiev
Copy link
Collaborator Author

RDFS202 has cims:belongsToCategory that IAFAIK corresponds to property xx:Package described above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ontology Pertains to ontology representation profile Pertains to profiles, packages (AP)
Projects
None yet
Development

No branches or pull requests

2 participants