On 2021-03-24 2:36 am, Steve Ray wrote:
I think the light bulb just went on.
Are you saying that the natural language interpretation of the
sh:prefixes triple *_inside_* a SPARQLRule is:
"Go to the following graph URI to get the definitions for the prefixes
you will need in the SPARQL query"...
...and in the ontology declaration, you use the sh:declare to do those
definitions. (without wrapping those sh:declare statements inside a
sh:prefixes clause)?
Yes exactly. The idea is that each graph declares its "main" prefix and
then includes the other prefixes that it needs via owl:imports. Since
the owl:imports are found at the graph URI resource, this was a natural
place to attach this info to, without too much redundancy. Anyone who
owl:imports your graph can then use its own owl:Ontology and will get
the other prefix declarations automatically.
A problem is that this one example in the SHACL spec
https://www.w3.org/TR/shacl/#sparql-constraints-example
doesn't include the triples behind ex: and most readers will not scroll
down to
https://www.w3.org/TR/shacl/#sparql-prefixes
for the full picture.
Holger
(I will test this while waiting for the Australian day to begin. :)
Steve
On Mon, Mar 22, 2021 at 4:49 PM Holger Knublauch
<[email protected] <mailto:[email protected]>> wrote:
In your first example, add
sh:rule [
a sh:SPARQLRule ;
sh:prefixes
<http://data.ashrae.org/standard223/1.0/inference/owl-subset>
<http://data.ashrae.org/standard223/1.0/inference/owl-subset> ;
because
<http://data.ashrae.org/standard223/1.0/inference/owl-subset>
<http://data.ashrae.org/standard223/1.0/inference/owl-subset>
sh:declare [
sh:namespace "http://www.w3.org/2002/07/owl#"
<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>
<http://www.w3.org/2002/07/owl> ;
then the assumption is that the following triples are present
<http://www.w3.org/2002/07/owl> <http://www.w3.org/2002/07/owl>
sh:declare [
sh:namespace "http://www.w3.org/2002/07/owl#"
<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]
<mailto:[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
<https://groups.google.com/d/msgid/topbraid-users/e0633424-2ad7-12b8-e035-fd553f0e92ed%40topquadrant.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]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/CAGUep85BWQbeqdh35OGKrqcmG13TbTo%3DD7Or-QsVOQoFq61PUA%40mail.gmail.com
<https://groups.google.com/d/msgid/topbraid-users/CAGUep85BWQbeqdh35OGKrqcmG13TbTo%3DD7Or-QsVOQoFq61PUA%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/8e829632-e471-b342-a957-b9b49c5c0ca8%40topquadrant.com.