Skip to main content

SHACL Specification Support

TitleEngine SupportUI SupportShapes Generator SupportComments
Part 1: SHACL CorePartially availablePartially availablePartially available
2. Shapes and ConstraintsPartially availablePartially availablePartially available
2.1 ShapesYesPartially availablePartially available
2.1.3 TargetsYesPartially availablePartially available
2.1.3.1 Node targets (sh:targetNode)YesYesNot available
2.1.3.2 Class-based Targets (sh:targetClass)YesYesYes
2.1.3.3 Implicit Class TargetsYesYesNot available
2.1.3.4 Subjects-of targets (sh:targetSubjectsOf)YesForeseenNot available
2.1.3.5 Objects-of targets (sh:targetObjectsOf)YesYesNot available
2.1.4 Declaring the Severity of a ShapeYesPartially availableN/AUI will not display this property in an hanami:Collection form for now
2.1.5 Declaring Messages for a ShapeYesPartially availableN/AUI will not display this property in an hanami:Collection form for now
2.1.6 Deactivating a ShapeYesYesN/A
2.2 Node ShapesYesYesYes
2.3 Property ShapesPartially availablePartially availablePartially availableUI: when generating the field of a property, only one PropertyShape in sh:property is used as source for now. Combination is done through sh:or.
2.3.1 SHACL Property PathsYesPartially availablePartially available
2.3.1.1 Predicate PathsYesYesYes
2.3.1.2 Sequence PathsYesForeseenNot available
2.3.1.3 Alternative PathsYesForeseenNot available
2.3.1.4 Inverse PathsYesYesNot available
2.3.1.5 Zero-Or-More PathsYesForeseenNot available
2.3.1.6 One-Or-More PathsYesForeseenNot available
2.3.1.7 Zero-Or-One PathsYesForeseenNot available
2.3.2 Non-Validating Property Shape CharacteristicsPartially availablePartially availableForeseen
2.3.2.1 sh:name and sh:descriptionYesYesN/A
2.3.2.2 sh:orderYesYesN/A
2.3.2.3 sh:groupYesYesN/A
2.3.2.4 sh:defaultValueForeseenForeseenForeseen
3. Validation and GraphsPartially availablePartially availableN/A
3.1 Shapes GraphPartially availablePartially availableN/Aowl:imports is not supported yet.
3.3 Linking to shapes graphs (sh:shapesGraph)ForeseenN/AN/A
3.4 ValidationYesN/AN/A
3.4.1 FailuresYesN/AN/A
3.4.2 Handling of Ill-formed Shapes GraphsYesN/AN/A
3.4.3 Handling of Recursive ShapesYesN/AN/A
3.5 Conformance CheckingYesN/AN/A
3.6 Validation ReportPartially availableN/AN/A
3.6.1 Validation Report (sh:ValidationReport)Partially availablePartially availableN/A
3.6.1.1 Conforms (sh:conforms)YesYesN/A
3.6.1.2 Result (sh:result)YesYesN/A
3.6.1.3 Syntax Checking of Shapes Graph (sh:shapesGraphWellFormed)ForeseenForeseenN/A
3.6.2 Validation Result (sh:ValidationResult)Partially availablePartially availableN/A
3.6.2.1 Focus node (sh:focusNode)YesYesN/A
3.6.2.2 Path (sh:resultPath)YesPartially availableN/AUI: see 2.3.1. above
3.6.2.3 Value (sh:value)YesYesN/A
3.6.2.4 Source (sh:sourceShape)YesYesN/A
3.6.2.5 Constraint Component (sh:sourceConstraintComponent)YesYesN/A
3.6.2.6 Details (sh:detail)YesForeseenN/A
3.6.2.7 Message (sh:resultMessage)Partially availableYesN/AMessages are a bit rough to understand for non technical users. We also foresee to add i18n support.
3.6.2.8 Severity (sh:resultSeverity)YesYesN/A
4. Core Constraint ComponentsYesPartially availablePartially available
4.1 Value Type Constraint ComponentsYesPartially availableYes
4.1.1 sh:classYesPartially availableYesUI only support [0...1] for sh:class for now
4.1.2 sh:datatypeYesYesYes
4.1.3 sh:nodeKindYesYesYes
4.2 Cardinality Constraint ComponentsYesYesYes
4.2.1 sh:minCountYesYesYes
4.2.2 sh:maxCountYesYesYes
4.3 Value Range Constraint ComponentsYesYesN/AWe might add a few more options for the generator to generate those constraints, TBD.
4.3.1 sh:minExclusiveYesYesN/A
4.3.2 sh:minInclusiveYesYesN/A
4.3.3 sh:maxExclusiveYesYesN/A
4.3.4 sh:maxInclusiveYesYesN/A
4.4 String-based Constraint ComponentsYesYesYesWe might add a few more options for the generator to generate those constraints, TBD.
4.4.1 sh:minLengthYesYesN/A
4.4.2 sh:maxLengthYesYesN/A
4.4.3 sh:patternYesYesN/A
4.4.4 sh:languageInYesYesYes
4.4.5 sh:uniqueLangYesYesYes
4.5 Property Pair Constraint ComponentsYesYesNot available
4.5.1 sh:equalsYesYesNot available
4.5.2 sh:disjointYesYesNot available
4.5.3 sh:lessThanYesYesNot available
4.5.4 sh:lessThanOrEqualsYesYesNot available
4.6 Logical Constraint ComponentsYesPartially availablePartially available
4.6.1 sh:notYesYesNot available
4.6.2 sh:andYesForeseenNot available
4.6.3 sh:orYesPartially availableYesUI: not handling untyped blank nodes for now.
4.6.4 sh:xoneYesForeseenNot available
4.7 Shape-based Constraint ComponentsYesPartially availablePartially available
4.7.1 sh:nodeYesYesNot available
4.7.2 sh:propertyYesPartially availableYesUI: see 2.3. above
4.7.3 sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCountYesPartially availableNot availableUI: the error would be shown, but the UI will no limit the proposed values.
4.8 Other Constraint ComponentsYesPartially availableNot available
4.8.1 sh:closed, sh:ignoredPropertiesYesForeseenN/AUI: Properties that do not match any property shape are not displayed. So visually it looks like sh:closed is true regardless of value.
4.8.2 sh:hasValueYesYesNot available
4.8.3 sh:inYesYesNot available
Part 2: SHACL-SPARQLYesForeseenN/A