Skip to content

Add entsoe relicapgrid tests#8

Open
arne-bdt wants to merge 4 commits intoSOPTIM:mainfrom
arne-bdt:add-entsoe-relicapgrid-tests
Open

Add entsoe relicapgrid tests#8
arne-bdt wants to merge 4 commits intoSOPTIM:mainfrom
arne-bdt:add-entsoe-relicapgrid-tests

Conversation

@arne-bdt
Copy link
Copy Markdown

@arne-bdt arne-bdt commented Mar 8, 2026

Add ENTSO-E ReliCapGrid as test submodule with grid parsing tests

Add the ReliCapGrid synthetic grid model (CC-BY-SA-4.0) as a git submodule
for testing CIMXML parsing against real-world CGMES instance data. Includes
parameterized tests that load RDFS profiles and parse all grid data files
per directory, covering both CGMES 2.4 and CGMES 3.0 grid models.

Refactor parser package structure in tests.

bern-soptim and others added 4 commits March 7, 2026 21:06
The CIMXML library now supports any cim namespace and a configurable mapping of cim namespace URIs to custom `CimProfile` implementations besides the existing `CimProfile16`, `CimProfile17` and `CimProfile18`.

For this mapping, the `CimNamespaceFactoryRegistry` has been introduced.

The static enum `CimVersion` has be removed and all usages have been replaced by the namespace URIs.

Before, there was a fixed set of cim namespaces supported by the CIMXML library:

"http://iec.ch/TC57/2013/CIM-schema-cim16#" -> `CimVersion.`;
"http://iec.ch/TC57/CIM100#" -> `CimVersion.CIM_17`;
"https://cim.ucaiug.io/ns#" -> `CimVersion.CIM_18`;
anything else: `CimVersion.NO_CIM`;

New public method CimProfileRegistry#getMatchingProfiles to find matching profile for a given set of `owlVerionIRIs`.
--> this enables for generich JSON-LD export demonstrated in `TestConvertCimXmlToJsonLd`

Upgraded to Jena 5.6.0
Using Apache Jena `GraphFactory.createGraphMem()` instead of specific graph implementations. This makes migration easier. Especially with the renamed graph implementation in Jena 6.0 .

- added several code quality plugins
 - spotbugs-maven-plugin
 - maven-checkstyle-plugin
 - maven-pmd-plugin
 - jacoco-maven-plugin
 - license-maven-plugin
 - cyclonedx-maven-plugin (for SBOM)
- using the Google coding conventions for Java (checkstyle)
- configured IntelliJ for Google coding conventions for Java

Refactored CIMXML handling: rename classes and methods for consistency, add code style configuration, and update .gitignore.
Updated keyword for FileHeaderProfiles for compatibility with CGMES 3.0 and refactor URI handling in conversion.
- for properties with rdf:range, CimProfileRegistry now checks the Jena TypeMapper for registered RDFDataTypes before treating the rdf:range value as reference
  - added test for this behaviour
- added test for supporting custom datatypes
- Refactored SPARQL properties query
- updated formatting of tests to new style conventions
- CimProfileRegistry now uses ConcurrentHashMap for primitive type mapping
…tests

Add the ENTSO-E application-profiles-library (v1.1.1) as a Git submodule
under cimxml/testing/ for testing purposes only. Create parameterized unit
tests that recursively discover and load all .rdf schema files per directory,
verifying that profiles can be parsed, registered, and contain expected
metadata (version IRIs, keywords, non-empty graphs).

Excluded directories: NCP/PastReleases and CGMES/CurrentRelease/RDFS/Beta_501_Ed2_CD.
Added Apache 2.0 attribution in README.md and pom.xml.

Add datatype coverage and cross-version compatibility tests

- TestApplicationProfilesLibrary: add datatypeCoverageNonEmptyPropertyMaps
  test verifying getPropertiesAndDatatypes() returns non-empty maps for each
  registered profile. Fix exclusions for SHACL/RDF and NCP/PROF directories.
  Handle duplicate profile registration gracefully for directories containing
  overlapping profiles (CGMES 2.4 augmented equipment, multiple header files).

- TestCrossVersionProfileCompatibility: new test class loading CGMES 2.4 and
  3.0 profiles into a single registry, verifying coexistence across both CIM versions.

 Updated .gitignore to ignore any .iml files.
Add the ReliCapGrid synthetic grid model (CC-BY-SA-4.0) as a git submodule
for testing CIMXML parsing against real-world CGMES instance data. Includes
parameterized tests that load RDFS profiles and parse all grid data files
per directory, covering both CGMES 2.4 and CGMES 3.0 grid models.

Refactor parser package structure in tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants