Open
Description
This issue tracks SHACL support in RDFUnit
Scopes
- sh:targetNode
- sh:targetClass
- sh:targetSubjecsOf
- sh:targetObjects
SHACL Core Constraint Components
- sh:class
- sh:datatype
- sh:nodeKind
- sh:minCount
- sh:maxCount
- sh:minExclusive
- sh:minInclusive
- sh:maxExclusive
- sh:maxInclusive
- sh:minLength
- sh:maxLength
- sh:pattern
- sh:languageIn (does not yet match cases like
@en
/@en-us
, only works for exact matches for now) - sh:uniqueLang
- sh:equals
- sh:disjoint
- sh:lessThan
- sh:lessThanOrEquals
- sh:not
- sh:and (partial support in top-level sh:and constraints)
- sh:or
- sh:xone
- sh:node
- sh:property
- sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount
- sh:closed, sh:ignoredProperties
- sh:hasValue
- sh:in
SPARQL-based Constraints
- Almost fully supported
-
shapesGraph
prebinding is not supported -
currentShape
prebinding is not supported - projection expressions in SPARQL queries are not yet supported e.g. the
path
variable inSELECT ?this (<a> AS ?path) WHERE {...}
is not yet supported (planned to be). what can be done instead for now isSELECT ?this ?path WHERE { BIND(<a> AS ?path) ...}
-
SPARQL-based Constraint Components
- Supported
- noticed some strange behavior in complex ASK-based validators and node constraints that is investigated. simple ASK-based validators that contain only a filter clause are well supported.
Actually, all of the supported SHACL-Core is defined in this document which are SPARQL-based Constraint Components
Some pre-binding corner cases are not covered yet and are under development (see implementation report (to be submitted soon))