Closed VladimirAlexiev closed 1 month ago
EquipmentReliability-AP-Voc-RDFS2020.ttl
has a list of units, eg:
cim:UnitSymbol.W rdf:type cim:UnitSymbol ;
rdfs:comment "Real power in watts (J/s). Electrical power may have real and reactive components. The real portion of electrical power (I²R or VIcos(phi)), is expressed in Watts. See also apparent power and reactive power." ;
rdfs:label "W"@en ;
cim:UnitMultiplier.M rdf:type cim:UnitMultiplier ;
rdfs:comment "Mega 10**6." ;
rdfs:label "M"@en ;
cims:stereotype "enum" .
and then a shape in EquipmentReliability-AP-Con-Simple-SHACL.ttl
asks a certain property to use these enumerated instances:
er:Curve.y1Unit-datatype
rdf:type sh:PropertyShape;
sh:path cim:Curve.y1Unit;
sh:in ( cim:UnitSymbol.A cim:UnitSymbol.none cim:UnitSymbol.VPerVAr cim:UnitSymbol.WPerm2 cim:UnitSymbol.s cim:UnitSymbol.Pa cim:UnitSymbol.WPers cim:UnitSymbol.deg cim:UnitSymbol.degC cim:UnitSymbol.VAr cim:UnitSymbol.Hz cim:UnitSymbol.V cim:UnitSymbol.W cim:UnitSymbol.ohm );
So instead of "M" and "W" above, everywhere we should use cim:UnitMultiplier.M and cim:UnitSymbol.W respectively.
That includes cim:ActivePower.multiplier, cim:ActivePower.unit
!
These enumerated instances still carry less descriptive info than QUDT unit:*
but we can stick with them.
This is very similar to https://github.com/3lbits/CIM4NoUtility/issues/338 but addresses some other aspects.
https://github.com/Sveino/Inst4CIM-KG/issues/38 describe this in more detail, and rdfs-improvement/README in even more detail:
The last sec has mapping tables to QUDT.
So let's NOT discuss here, let's discuss there. But this issue has a task list, so I'll close it only after everything is done.
Currently datatypes are defined like this:
And then attributes (data props) are defined like this:
There are several problems:
GeneratingUnit.maxEconomicP
in instance data is a a pure number)cim:ActivePower.unit
andcim:ActivePower.multiplier
are never usedcim:Float
is a non-standard datatype (egxsd:double
is a standard datatype)Proposals:
cim:ActivePower.unit
andcim:ActivePower.multiplier
since they are not used (but if you like them, you can keep them)cim:ActivePower
, eg