You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Greetings. I'm comparing pySHACL to other validators such as the European Commissions ISAITB. There seems to be divergent behaviour between them in how to interpret FILTER(). An MWE below:
When validating this shapes graph with itself, ISAITB sees no violation as all local identifiers stripped from the URI are identical to the declared ones, whereas pySHACL does. If I flip the equality assertion to =, pySHACL sees no Violation while ISAITB does.
To my understanding each individual result should be included in the result set if FILTER() evaluation is true - which it in this case it isn't (as the literal NCName and the identifier extracted from URI are identical). In the least there is discrepancy between validators but my current understanding is that pySHACL should evaluate FILTER() in inverse. Am I mistaken?
Here are the validation message first from pySHACL 0.30.0:
Greetings. I'm comparing pySHACL to other validators such as the European Commissions ISAITB. There seems to be divergent behaviour between them in how to interpret FILTER(). An MWE below:
When validating this shapes graph with itself, ISAITB sees no violation as all local identifiers stripped from the URI are identical to the declared ones, whereas pySHACL does. If I flip the equality assertion to =, pySHACL sees no Violation while ISAITB does.
To my understanding each individual result should be included in the result set if FILTER() evaluation is true - which it in this case it isn't (as the literal NCName and the identifier extracted from URI are identical). In the least there is discrepancy between validators but my current understanding is that pySHACL should evaluate FILTER() in inverse. Am I mistaken?
Here are the validation message first from pySHACL 0.30.0:
And from ISAITB validator 1.7.0:
The text was updated successfully, but these errors were encountered: