CIMcheckReal-time SPARQL and SHACL validation against CIM/CGMES schema profiles, directly in VS Code. Write a SPARQL query or SHACL shape and get immediate feedback: unknown classes and properties are underlined, syntax errors are highlighted, and semantic issues like domain/range mismatches are flagged as you type — all resolved against your actual RDFS profile files. FeaturesSyntax highlightingProvides grammar-based syntax highlighting for:
Real-time diagnosticsThe language server validates every open document against the loaded CIM schema and reports findings as squiggly underlines:
Hover documentationHover over any CIM term (e.g. Auto-completionTyping Go-to-definitionPress Workspace symbol searchPress Requirements
Getting started1. Create a configuration fileCreate a file at Example — directory of profiles:
Example — individual files:
The extension watches this file and reloads the schema automatically whenever it changes. 2. Open a SPARQL or SHACL fileOpen any Configuration
Validation configuration referenceThe
Either
|
| Level | Behaviour |
|---|---|
permissive |
Only syntax errors and unknown-term findings. Semantic checks and hints are suppressed. Useful for exploratory queries against an incomplete schema. |
default |
All checks, original severities. |
strict |
All checks; warnings are promoted to errors. Recommended for CI. |
pedantic |
All checks; warnings and hints are promoted to errors. |
namedGraphs
Maps named graph IRIs to profile version IRIs. When set, terms inside a GRAPH <iri> {} block are validated against the mapped profile only, rather than all loaded profiles. Graphs not listed here produce a GRAPH_NOT_CONFIGURED information diagnostic.
"namedGraphs": {
"http://example.org/EQ": "http://iec.ch/TC57/ns/CIM/CoreEquipment-EU/3.0",
"http://example.org/TP": "http://iec.ch/TC57/ns/CIM/Topology-EU/3.0"
}
Commands
| Command | Description |
|---|---|
| CIMcheck: Show Output | Opens the CIMcheck output channel, useful for diagnosing startup and schema loading issues. |
Troubleshooting
The extension shows "Schema load failed"
Open the CIMcheck output channel (CIMcheck: Show Output) to see the full error. Common causes: incorrect path in schemasDirectory/schemas, or a malformed RDF file.
"No .cgmes/validation.json found"
The extension looks for this file in your workspace root. Create it with at least a schemasDirectory or schemas entry.
Java not found or wrong version
Set cimcheck.javaExecutable to the full path of a Java 21+ executable, e.g. /usr/lib/jvm/java-21/bin/java.
No diagnostics appearing
Check that the file extension is recognised (.rq, .sparql, .ttl, .shacl) and that the schema loaded successfully. The status notification "SPARQL Validation: Schema loaded successfully." confirms the schema is ready.
Known Limitations
Standard vocabulary terms are not validated
Terms from well-known standard namespaces (rdf:, rdfs:, owl:, xsd:, sh:, dcat:, dcterms:, skos:, cims:, cimuml:) are silently accepted regardless of whether the exact term is defined in those vocabularies. A typo like rdfs:Classs will not be flagged. This is intentional — these vocabularies are not part of CIM profile files, so the schema index has no information about them.
License
Apache License 2.0 — see LICENSE.