Combining virtual graphs and the other graphs

Hi,

We have several named graphs (triples physically loaded in the triple store) and we have created one virtual graph on a relational database. As the information in the virtual graph is completing what we have in one of the named graph, we need to combine both graphs in our queries.

If I am using the following syntax, I am able to combine the graphs and get all the triples.

select *
where {
{graph virtual://drm { http://www.com/organization/drm/1234 ?p ?o }}
union
{graph http://www.com/graphs/org { http://www.com/organization/drm/1234 ?p ?o }} }

But if I am using that other syntax, only the triples of the non virtual graph are returned. And there is a warning in the log.

select *
from virtual://drm
from http://www.com/graphs/org
where { http://www.com/organization/drm/1234 ?p ?o }

WARN 2019-06-26 13:49:35,916 [stardog-user-19] com.complexible.stardog.plan.optimizer.VirtualGraphProcessor:getDefaultVirtualGraph(119): There can only be a single virtual graph in the query dataset: {} [virtual://drm, http://www.com/graphs/org]

  • Is there a way to make something like the second syntax working?
  • And maybe also to add a second virtual graph in the query?
  • Could that second virtual graph be non relational (MongoDB or Cassandra)?

Thanks!

Hi Daniel,

We are working on this right now and will release it in 1-2 months. You will be able to include any number and type of virtual graphs in the dataset specification.

Best,
Jess

1 Like

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