On 10/08/2016 12:53, Jack Hodges wrote:
That is what I am saying. The validation example is reporting violations on 
classes (focus nodes are all classes) while TBC is reporting violations on 
instances. I am trying to reproduce the results that TBC shows.

TBC has a green and a blue button in the SHACL Validation view. The green will validate everything including the shapes and classes. The blue only the instances. In the API this corresponds roughly to the validateShapes boolean flag.

I cannot tell more since I don't know your shapes file, and which violations you expected.

Holger




Jack

Sent from my iPad

On Aug 9, 2016, at 6:17 PM, Holger Knublauch <[email protected]> wrote:



On 10/08/2016 2:51, Jack Hodges wrote:
I need SPIN because my SHACL sh:constraint sh:sparql SPARQL query calls SPIN 
functions (some stock and some custom).
The SPIN functions can be registered with the SPARQL engine separately and do 
not need to be in the same graph as the SHACL data. The two worlds interact 
only via the ARQ SPARQL engine's functions registry.

I flattened as suggested into a single turtle file.

I had some test values in the schema so I piped the schema back in as the test 
data and got some results (yay!).

Now the issue is that the results don't match what I am seeing in the TBC SHACL 
Validation tab. In TBC the SHACL Validation tab shows: Shape, Constraint, 
Message, Focus Node, Subject, Predicate, and Object. The Shape data is similar 
to the result in the test case, but none of the other SHACL property values are 
the same, most notably the Message and Focus Node values. In TBC the Focus Node 
(which seems to be the same as sh:subject) is bound to instances, and the 
Message (sh:message) value is bound to the message I defined and bound to the 
values my SPARQL query returns. And example of the results I am seeing from the 
test case is:

[ a                             sh:ValidationResult ;
  sh:focusNode                  eddl:BlockB ;
  sh:message                    "Value does not have class 
sh:PropertyConstraint" ;
  sh:path                       sh:property ;
  sh:severity                   sh:Violation ;
  sh:sourceConstraint           _:b0 ;
  sh:sourceConstraintComponent  sh:ClassConstraintComponent ;
  sh:sourceShape                sh:Shape ;
  sh:value                      []
] .

So now I am thinking that maybe I am using the wrong validator. Is it possible 
that I should be using the ResourceConstraintValidator instead of the 
ModelConstraintValidator? And if so, it takes a resource as the first argument 
unlike TBC which traverses the current graph.
So are you saying the result instances are different, i.e. they report 
different violations? Or is just the format (e.g. sh:focusNode vs. sh:subject) 
different? The latter is easy to explain: the SHACL API is ahead of the TBC 
release cycle, and only the API follows the very latest syntax changes to SHACL.

Holger

--
You received this message because you are subscribed to the Google Group "TopBraid 
Suite Users", the topics of which include the TopBraid Suite family of products and 
its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- You received this message because you are subscribed to a topic in the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this topic, visit 
https://groups.google.com/d/topic/topbraid-users/4suqs8RewM0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 
[email protected].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Group "TopBraid 
Suite Users", the topics of which include the TopBraid Suite family of products and 
its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to