Using sh:maxExclusive to compare (the values of) two datatype properties

57 views Asked by At

Connected to this question:

I cannot use sh:lessThan with xsd:positiveInteger

Indeed, I managed to make my example working by writing:

        sh:property [
          sh:path ontology:has-age ;
          sh:maxExclusive 16 ;
        ] ;

However, now I would like to compare the value of "ontology:has-age" not with a constant but with the value of another datatype property defined on the same individual (and having 16 as value):

ontology:John
  rdf:type ontology:DataSubject ;
  ontology:has-age "14"^^xsd:positiveInteger ;
  ontology:has-minimalage "16"^^xsd:positiveInteger ;
.

As many of you probably know, the following does NOT work:

        sh:property [
          sh:path ontology:has-age ;
          sh:maxExclusive ontology:has-minimalage ;
        ] ;

I truly dug on https://www.w3.org/TR/shacl and other related web pages but I couldn't find out how to get the value of a property and compare it via sh:maxExclusive.

Could someone kindly tell me how to do it?

Thank you very much! Livio

0

There are 0 answers