Skip to content

SHACL support #62

Open
Open
@jimkont

Description

@jimkont

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 in SELECT ?this (<a> AS ?path) WHERE {...} is not yet supported (planned to be). what can be done instead for now is SELECT ?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))

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions