On 2022-01-21 10:54 am, [email protected] wrote:
Thanks, Holger. My need in this case isn't to query inferred data
using SPARQL or GraphQL, but rather to reuse the inferred data as an
input for another EDG property shape with another sh:values rule in
it. I think I'm hearing that that's not possible.
That scenario IS possible. You just need to use a path node expression, see
https://w3c.github.io/shacl/shacl-af/#node-expressions-path
So if ex:prop1 is inferred then you can reference it in the sh:values
rule of another property using [ sh:path ex:prop1 ] and it will compute
that inference on the fly. This assumes that the receiving property
using a sh:values rule using SHACL node expressions, not SPARQL.
Holger
Can you point me to where I can read more about the materialization
option and decide whether there's a way to make that work for this use
case? Thanks.
On Tuesday, January 18, 2022 at 4:03:32 PM UTC-8 Holger Knublauch wrote:
On 2022-01-19 9:44 am, [email protected] wrote:
I have defined a property shape and am successfully inferring its
objects using a sh:values rule.
Can you remind me whether it is possible to use this property and
its inferred data in the sh:values rule for a different property
shape? If so, is there a special way that it needs to be done --
like, does the data I inferred in the first property shape need
to be materialized in some way before I can make use of it? --
In general, the RDF graphs that TopBraid operates on do not
automatically "see" the extra inferred triples, so they are not
computed as RDF triples on the fly. However, our higher level
query languages GraphQL and JavaScript/ADS do see them whenever
they are requested. The user interface goes through GraphQL and
will therefore display these values as if they were materialized.
Now, within SHACL itself it depends on what you want to do. If you
have SHACL-AF inference rules including other sh:values rules you
can safely use path expressions
https://w3c.github.io/shacl/shacl-af/#node-expressions-path and
the values will be computed on the fly. For SHACL constraints
there is no such mechanism unless you are expressing the
constraints in SPARQL. There you can use the magic property
(?focusNode ?predicate) tosh:values ?result
to query the inferred values.
The other option, of course, is to materialize the inferences,
e.g. using the Inferences panel or the Transform tab.
Does this help?
Holger
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/d1fc11f5-f4a3-4d23-84b7-4a72666e6c3fn%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/d1fc11f5-f4a3-4d23-84b7-4a72666e6c3fn%40googlegroups.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/3d423d68-4f62-4180-a44a-3143e6a1128fn%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/3d423d68-4f62-4180-a44a-3143e6a1128fn%40googlegroups.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/8d2fdbfd-0d8d-abfc-b40a-69f4622519e9%40topquadrant.com.