Skip to content

Latest commit

 

History

History
282 lines (230 loc) · 21.7 KB

FEATURES.md

File metadata and controls

282 lines (230 loc) · 21.7 KB

pySHACL Features Matrix

Parameter Constraint Link Status Comments
sh:class ClassConstraintComponent status-complete
sh:datatype DatatypeConstraintComponent status-complete
sh:nodeKind NodeKindConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:minCount MinCountConstraintComponent status-complete
sh:maxCount MaxCountConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:minExclusive MinExclusiveConstraintComponent status-complete
sh:minInclusive MinInclusiveConstraintComponent status-complete
sh:maxExclusive MaxExclusiveConstraintComponent status-complete
sh:maxInclusive MaxInclusiveConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:minLength MinLengthConstraintComponent status-complete
sh:maxLength MaxLengthConstraintComponent status-complete
sh:pattern PatternConstraintComponent status-complete includes sh:flags
sh:languageIn LanguageInConstraintComponent status-complete
sh:uniqueLang UniqueLangConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:equals EqualsConstraintComponent status-complete
sh:disjoint DisjointConstraintComponent status-complete
sh:lessThan LessThanConstraintComponent status-complete
sh:lessThanOrEquals LessThanOrEqualsConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:not NotConstraintComponent status-complete
sh:and AndConstraintComponent status-complete
sh:or OrConstraintComponent status-complete
sh:xone XoneConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:node NodeConstraintComponent status-complete
sh:property PropertyConstraintComponent status-complete See SHACL Property Paths feature table below
sh:qualifiedValueShape QualifiedValueShapeConstraintComponent status-complete includes sh:qualifiedValueShapesDisjoint
sh:qualifiedMinCount QualifiedMinCountConstraintComponent status-complete
sh:qualifiedMaxCount QualifiedMaxCountConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:closed ClosedConstraintComponent status-complete
sh:ignoredProperties ClosedConstraintComponent status-complete
sh:hasValue HasValueConstraintComponent status-complete
sh:in InConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:sparql SPARQLConstraintComponent status-complete
Parameter Constraint Link Status Comments
sh:validator ConstraintComponent status-complete
sh:select SPARQLSelectValidator status-complete
sh:ask SPARQLAskValidator status-complete
Path Link Status Comments
Predicate Path status-complete
Sequence Paths status-complete
Alternative Paths status-complete
Inverse Paths status-complete
Zero-Or-More Paths status-complete
One-Or-More Paths status-complete
Zero-Or-One Paths status-complete
Path Link Status Comments
sh:name status-complete
sh:description status-complete
sh:order status-missing
sh:group status-missing
sh:defaultValue status-missing

SHACL Advanced Features spec

Parameter Link Status Comments
sh:target status-complete
sh:SPARQLTarget status-complete
sh:SPARQLTargetType status-complete
Parameter Link Status Comments
sh:annotationProperty status-missing
sh:annotationVarName status-missing
sh:annotationValue status-missing
Parameter Link Status Comments
sh:SHACLFunction status-complete fully implemented
sh:SPARQLFunction status-complete implemented using RDFLib
Path Link Status Comments
sh:this status-complete
Constant Term status-complete
sh:filterShape status-complete not tested
SHACL Function status-complete
sh:path status-complete
sh:intersection status-complete not tested
sh:union status-complete not tested
Path Link Status Comments
sh:ExpressionConstraintComponent status-complete
Parameter Link Status Comments
sh:condition status-complete
sh:order status-complete
sh:deactivated status-complete
sh:entailment status-missing
sh:TripleRule status-complete
sh:SPARQLRule status-complete

SHACL-JS spec

The SHACL-JS features are implemented behind a Python "extras" feature. To enable it, you must install PySHACL using PIP with the extras included like pyshacl[js]

Parameter Link Status Comments
sh:js status-complete
Parameter Link Status Comments
sh:validator status-complete
sh:JSValidator status-complete
Parameter Link Status Comments
sh:JSFunction status-complete
sh:parameter status-complete
Parameter Link Status Comments
sh:JSRule status-complete
Parameter Link Status Comments
sh:JSTarget status-complete
sh:JSTargetType status-complete

Implementation Notes

SHACL Test Suite Failures:

- core/property/datatype-ill-formed.ttl : Waiting on RDFLib support for determining ill-formed Literals https://github.com/RDFLib/rdflib/issues/848
- sparql/pre-binding/shapesGraph-001.ttl : Prebinding to $shapesGraph is currently unsupported. This will be supported in the future.