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