As of v1.9.0 (July 11, 2019), Stardog Studio supports the W3C standard Shapes Constraint Language (SHACL)! This support includes language intelligence for SHACL, the ability to add SHACL constraints to Stardog and validate your data against those constraints, and more.
SHACL Constraints and Validation
SHACL constraints are useful tools for data consistency and data integration efforts. You can now use Studio both to add and remove constraints to/from Stardog and to produce reports detailing your data’s compliance (or noncompliance) them. When you select SHACL as a language in Studio, the editor’s toolbar will change, presenting actions for adding and removing constraints and for receiving validation reports.
When your Studio editor is empty, using the “Get Validation Report” action will validate your existing data against all of the constraints that you already have in your knowledge graph. When you write SHACL in the editor and then perform that action, Studio will validate your data against both the new SHACL in your editor and any SHACL already existing in Stardog. These validation reports will tell you both whether your data conforms to your constraints and, in the case where it does not, why it does not. Such reports can be used to tune your constraints, check your data’s compliance “on the fly,” and more.
SHACL Language Intelligence
Another core aspect of Studio’s support for SHACL is language intelligence. Once you select SHACL as a language in Studio, you can compose your constraints using Turtle and receive all of the benefits that you receive with other RDF languages (e.g., syntax highlighting, error diagnostics, and completion suggestions). The syntax highlighting for SHACL will identify the usual Turtle keywords and token types while also being smart enough to “call out” (with special highlighting) the predicates and types that are SHACL-specific. Similarly, because Studio’s completion suggestions and diagnostics for SHACL are context-aware and encode SHACL rules, they’ll provide help not only with general Turtle syntax but also with the nitty-gritty details of SHACL. The following image shows these features in action.
Studio is the Stardog Knowledge Graph IDE and that means making all of Stardog’s features easy to use. With this release we are excited to deliver support for working with Stardog’s recently released SHACL features. We hope that this support will facilitate your efforts at data cleanliness and consistency, assist you in your data integration efforts, and more. If you have any feedback or suggestions, we would love to hear from you in our community forums!