-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Description
Currently, OpenCGMES supports CIM/CGMES primitives by maintaining a mapping from primitive labels to XML Schema datatypes in de.soptim.opencgmes.cimxml.rdfs.CimProfileRegistry.
Proposed Enhancements
-
Support for direct XML Schema types with
rdfs:range
The “Beta_501_Ed2_CD” CGMES 3.0.0 RDFS files for the draft IEC 61970-501:Ed2 include examples where XML Schema types are used directly in conjunction withrdfs:range.
The OpenCGMES parser should be extended to support this usage. -
Support for custom datatypes
Example: “DatasetMetadata-AP-Voc-RDFS2020_v3-0-0.rdf” defines a custom datatypeVersion(a string expected to follow the [SemVer 2.0.0](https://semver.org/) syntax).
It should be possible to implement such types as custom datatypes in Apache Jena and register them. See [User-defined non-XSD datatypes](https://jena.apache.org/documentation/notes/typed-literals.html#user-defined-non-xsd-data-types).
Motivation
Supporting both direct XML Schema types and custom datatypes improves the flexibility and completeness of the OpenCGMES parser.
- It ensures compatibility with newer CGMES releases (e.g., draft IEC 61970-501:Ed2) that make use of
rdfs:rangedirectly with XML Schema types. - It enables validation and richer semantics for domain-specific extensions, such as version strings constrained by SemVer.
- It aligns OpenCGMES more closely with Apache Jena’s extensibility model, making it easier for users to define, validate, and consume custom CIM/CGMES profiles.