In your first example, add

  sh:rule [
      a sh:SPARQLRule ;
      sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ;

because

<http://data.ashrae.org/standard223/1.0/inference/owl-subset>
    sh:declare [
      sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ;
      sh:prefix "owl" ;
    ] .

is already a correct prefix declaration.

If you attempt something like in your second example:

      sh:prefixes <http://www.w3.org/2002/07/owl> ;

then the assumption is that the following triples are present

<http://www.w3.org/2002/07/owl>
    sh:declare [
      sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ;
      sh:prefix "owl" ;
    ] .

which they are not.

There is clear evidence that too many people struggle with this aspect of the SHACL spec, and that as an editor I should have done a better job there. If I could simply re-upload the SHACL spec this would be the first thing to fix. However, the formal W3C process doesn't allow this easily.

I have to admit I never liked to even have the need to declare those namespaces as triples - this is a mixed blessing because nobody seems to understand the syntax yet namespace prefixes are a serialization concept only, not a graph concept. At some stage I may just give up on this and change our SHACL engine to simply add the declared prefixes from the files, like SPIN did for pragmatic reasons, ignoring the spec.

BTW both examples have a mismatch between the baseURI and the owl:Ontology. I suggest to keep them aligned.

HTH
Holger


On 2021-03-23 6:40 am, Steve Ray wrote:

I have been working around this problem by avoiding any prefixes when defining a shape with SPARQL, but this still bugs me. Attached are two tiny files, epp1.shapes.ttl and epp2.shapes.ttl.

I'm running the SHACL reasoner.
epp1 works - it does not use any prefixes inside the shape.
epp2 is identical to epp1, except it declares the owl: prefix in the shape.

TBC complains that it cannot resolve owl:SymmetricProperty.

I have tried following the documentation for this, but clearly I'm getting something wrong. What am I missing?

Steve


--
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] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAGUep85Rf1yk3YVsLV3ihJjso7w5uF%2BBGqFOSpPWybBCuGw6nQ%40mail.gmail.com <https://groups.google.com/d/msgid/topbraid-users/CAGUep85Rf1yk3YVsLV3ihJjso7w5uF%2BBGqFOSpPWybBCuGw6nQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/e0633424-2ad7-12b8-e035-fd553f0e92ed%40topquadrant.com.

Reply via email to