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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions