On 26/01/2022 22:49, Alani, Yasir wrote:
*The node to be validated is "yas:Car_1"

Thanks again

-----Original Message-----
From: Alani, Yasir <y.al...@tees.ac.uk>
Sent: 26 January 2022 22:38
To: users@jena.apache.org
Subject: RE: FW: Validation issue

Hi Andy,

Thank you for responding.

What I meant by "work" is producing the correct/expected result, which is the 2 violations you 
received. The issue only seems to happen when I try to validate a node using the method "validate(Shapes 
shapes, Graph data, Node node)". The node in this case is "aso:Car_1". This method doesn't 
seem to 'like' qualified value shapes, as it returns 0 violations.

I get one violation when calling:

shacl v -data data.ttl -shapes shapes.ttl \
    -target 'http://www.semanticweb.org/yas#Wheel_1'

There are two target nodes. yas:Wheel_1 and yas:Car_1

"Per node" is "find which shapes have the node as a target node and call that shape".

If the specified node isn't in the targets of the data+shapes, you get zero violations.

    Andy


However, when I validate the entire data graph using method "validate(Shapes shapes, 
Graph data)" I do get 2 violations. Are these methods designed to work this way?

I was using Jena 4.1.0 and even when I updated to Jena 4.3.2, I still get the 
same results.

I used the old (TQ) shacl playground, which returned 2 violations as well.

Many thanks

Yasir

-----Original Message-----
From: Andy Seaborne <a...@apache.org>
Sent: 26 January 2022 20:41
To: users@jena.apache.org
Subject: Re: FW: Validation issue

Yasir,

What is "work" here?

I get 2 violations with Jena 4.3.2 - the same as (current latest) TQ shacl. (1 
violation on a quite old, pre 4.x.x version of Jena - which version are you 
running?)

Which SHACL playground did you use (there are two).

The old (TopQuadrant) SHACL playground returns 2 violations.
The Zazuko one returns 2 violations.


[ rdf:type     sh:ValidationReport ;
    sh:conforms  false ;
    sh:result    [
        rdf:type                      sh:ValidationResult ;
        sh:focusNode                  yas:Wheel_1 ;
        sh:resultMessage
   "Data value \"600\"^^xsd:float is not less than or equal to 200" ;
        sh:resultPath                 ( yas:hasDiameter yas:hasValue ) ;
        sh:resultSeverity             sh:Violation ;
        sh:sourceConstraintComponent  sh:MaxInclusiveConstraintComponent ;
        sh:sourceShape                []  ;
        sh:value                      "600"^^xsd:float
    ] ;
    sh:result    [
        rdf:type                      sh:ValidationResult ;
        sh:focusNode                  yas:Car_1 ;
        sh:resultMessage
"QualifiedValueShape[1,_,false]: Min = 1 but got 0 validations" ;
        sh:resultPath                 yas:hasComponent ;
        sh:resultSeverity             sh:Violation ;
        sh:sourceConstraintComponent
           sh:QualifiedMinCountConstraintComponent ;
        sh:sourceShape                []
    ]
] .

      Andy

Reply via email to