How to query for the (symmetric) CBD of a resource


I’ve seen the topic being discussed before, but haven’t found any solution:!topic/stardog/pwL9WAXA494.

What is the current best way to get the symmetric concise bounded description of a resource from a Stardog SPARQL Endpoint?



At this time we do not have an implementation for the CBD algorithm. You would have to add some custom handling to our DESCRIBE results. Our eventual plan is to support custom DESCRIBE algorithms, but I cannot provide a timeline for such functionality.

Hi Stephen, how do I add a custom handling to DESCRIBE?

We do not have a mechanism for adding a custom handling to DESCRIBE at this time, outside of using your application’s code to process Stardog results

I thought this StackOverflow question was interesting. Specifically this comment, “I’m not sure it’s technically possible to do this in a single query. CBDs are recursive in nature, and while SPARQL does have some support for recursivity…”

I’m guessing that there is a possibility that this might be easier with the new graph traversal coming in Stardog 5.

The difficulty seems to be to stop the expansion at non-blank-nodes. The following doesn’t work


describe :Alice ?object where {
  :Alice ((<>|!<>)|^(<>|!<>))* ?object .
  FILTER( isBlank( ?object ) )

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.