Skip to content

Support user defined non-XSD data types #2

@bern-soptim

Description

@bern-soptim

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

  1. 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 with rdfs:range.
    The OpenCGMES parser should be extended to support this usage.

  2. Support for custom datatypes
    Example: “DatasetMetadata-AP-Voc-RDFS2020_v3-0-0.rdf” defines a custom datatype Version (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:range directly 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions