Skip to content

replacing values from SPARQL based constraints in the sh:message #117

Description

@Dragos0000

Example of SHACL shape with SPARQL query

    rdf:type sh:SPARQLConstraint ;
    rdfs:label "skos-xl pref label in the same language " ;
    sh:message "multiple skos-xl preferred label for language \"{$lang}\"" ;
    sh:prefixes <http://publications.europa.eu/ontology/skosShapes> ;
    sh:select """prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix skosxl: <http://www.w3.org/2008/05/skos-xl#>
SELECT $this ?lang (skosxl:prefLabel as ?path) (?l1f as ?value)
WHERE {
    $this skosxl:prefLabel ?l1 .
  ?l1 skosxl:literalForm ?l1f .
  $this skosxl:prefLabel ?l2 .
  ?l2 skosxl:literalForm ?l2f .
  FILTER ( ?l1 != ?l2 && lang(?l1f) = lang(?l2f) )
  BIND (lang(?l1f) as ?lang)
}

Expected Behavior

Would expect the variable {$lang} to be replaced in the sh:message from the SPARQL query.
ex: multiple skos-xl preferred label for language "en"

Actual Behavior

In the validation process will get "multiple skos-xl preferred label for language "{$lang}"" message. The variable lang is not being replaced.

Is this supported or will be supported ?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions