Suite of tools for CGMES / CIM (IEC 61970) RDF - RDFS, SHACL and CIMXML
📖 Full documentation: https://opencgmes.soptim.de — guides, API reference, and examples for CIMXML, CIMVocabCheck, and CIMNotebook.
The repository ships an aggregator pom at the root. From a fresh checkout:
mvn test # build & test every module
mvn install # install every module into ~/.m2
mvn -pl cimvocabcheck/core -am verify # build cimvocabcheck-core + its dependencies onlyEach module also still builds standalone (mvn -f cimxml/pom.xml verify etc.); the
release workflows operate on the module poms directly.
A Java library for parsing CIMXML files into RDF graphs using Apache Jena. It supports both full models and difference models as defined in IEC 61970-552. see CimXmlParser
Static SPARQL and SHACL validation against RDFS / CIM profile schemas — answers "does this query (or shapes graph) make sense for the schema I'm working with?" without executing the query and without requiring any RDF data. Ships as a library (CIMVocabCheck), a CLI tool, and an LSP language server (CIMLangServer). see CIMVocabCheck
Editor integrations — a VS Code extension and an IntelliJ plugin — that bring the CIMVocabCheck / CIMLangServer validation to SPARQL and SHACL files (and SPARQL Notebook cells) as you type. see CIMNotebook — VS Code · CIMNotebook — IntelliJ
A web application for uploading RDF Schema, SHACL shapes, and CIM XML files, querying the data using SPARQL, and validating the data against SHACL shapes. see QueryAndValidationUI
This project is licensed under the Apache License 2.0.
For organizations requiring commercial support, professional maintenance, integration services, or custom extensions for this project, these services are available from SOPTIM AG.
Please feel free to contact us via opencgmes@soptim.de.
We welcome contributions to improve this project. Please see our Contributing Guide for details on how to submit pull requests, report issues, and suggest improvements.
This project adheres to a code of conduct adapted from the Apache Foundation's Code of Conduct. We expect all contributors and users to follow these guidelines to ensure a welcoming and inclusive community.