Open CFGrote opened 5 months ago
If I understand correctly, setting up a federated query requires that the subject node of the config-core:sparqlService annotated property exists both in the local graph and in the remote (federated) graph.
I think it could work using inverse property paths. There is a subtlety, let me rephrase : it requires that the node in the subject position (in terms of query writing) of the config-core:sparqlService annotated property exists both in the local graph and in the remote (federated) graph.
I think it could work if you use an inverse property path on the sparqueSrevice-annotated property:
ex:myPropertyShape
sh:path [ sh:inversePath remote:id ] ;
the SPARQL query will then be something like:
select ?l_node ?r_node where {
?l_node local:crossref_id ?theId .
service <http://remote.net/sparql> {
?theId ^remote:id ?r_node;
}
could you try this and let me know ?
Also let me know if you have a publicly available deployment !
If I understand correctly, setting up a federated query requires that the subject node of the
config-core:sparqlService
annotated property exists both in the local graph and in the remote (federated) graph. E.g. in the documented example, the nodeMuseum_Wikidata
exists in the local graph and in Wikidata.In my case, local and remote graphs only share common Literals, not URIs.
For example, my local graph has
and the remote graph has
and a query to cross link these two would hence read
or something similar.
My question is if (and how) such a query could be configured in Sparnatural. I hope my example is clear enough. Thanks for any hint.