EDG: Querying inferred triples via the SPARQL Endpoint

23 views
Skip to first unread message

Tim Smith

unread,
Mar 24, 2021, 1:06:33 PM3/24/21
to topbrai...@googlegroups.com
Hi,

In order to visualize a graph outside of EDG, I need to have what I think are "run-time inferred" triples available in a graph that is query-able via the SPARQL endpoint.

An example is the Business Function class.  This class has a Property Shape, "business activities" which has a property path of ^edg:activityOf.  When viewing an instance of Business Function in EDG, this property shape appears to be populated on the fly so that the Business Activities that point to the Business Function instance appear on the form.

My goal is to show the relationship from Business Function to Business Activity vs the other way around.  A similar situation exists with the edg:producesInformationAsset/edg:requiresInformationAsset properties.  Having both properties pointing to the InformationAsset instance does not make for a very readable graph.  Inferences will generate the inverse triples.

Is there a way to trigger the generation of these inferences and access them as an inference graph via the SPARQL endpoint? 

Thanks!

Tim

Irene Polikoff

unread,
Mar 24, 2021, 6:15:25 PM3/24/21
to topbrai...@googlegroups.com
Hi Tim,

These are path expressions, not inferences - so they are not materialized. ^edg:activityOf is simply an inverse path - the actual triple is :BusActivity edg:activityOf :BusFunction  

You can query for these in SPARQL as you would for any triple pattern. Sequential paths  can also be queried for in a long form or in a short form using path expressions. 

In GraphQL, you can query for them using the name of the property shape with the inverse path or any other path - as if it actually existed e.g., you will see businessActivities link when constructing a GraphQL query for business functions

If you want to materialize these triples, you could use SPIN or SHACL rules to define and generate inferences. You would need to use the actual new predicates to do so e.g., :BusActivity edg:activityOf :BusFunction could generate :BusFunction edg:busActivities :BusActivity. These rules could be then ran using using the Transform tab or (in 7.0) Inference panel and/or the Export tab for RDF export. 

--
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 topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAF0WbnJN39xo1Jekgyra75KHvA9mSehGMvMO%2B1_MKzLznJxR-Q%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages