How to discover the capabilities of a SPARQL endpoint to enhancing SPARQL-FED usage from Virtuoso instances using LOAD SERVICE ... DATA
What?
How to discover the capabilities of a SPARQL endpoint en route to enhancing SPARQL-FED usage from Virtuoso instances using LOAD SERVICE ... DATA.Why?
There are features supported in Virtuoso SPARQL that aren't supported by other SPARQL engines. There are also a lot of Virtuoso instances behind bubbles in the LOD cloud. Net effect, a Virtuoso instance operator is faced with varied behavior when attempting to use SPARQL-FED functionality.
How?
Run this command to load metadata (or lack thereof) from an external SPARQL endpoint:
SPARQL LOAD SERVICE <sparql-endpoint-iri> DATA
Example
- Load LOD SPARQL Endpoint data:
SPARQL LOAD SERVICE <http://lod.openlinksw.com/sparql> DATA Query result: ANY Load service <http://lod.openlinksw.com/sparql> data -- done. Trying to query <http://lod.openlinksw.com/sparql> as SPARQL web service endpoint, POST mode...
- Check the loaded data:
SPARQL SELECT * FROM virtrdf: WHERE { <http://lod.openlinksw.com/sparql> ?p ?o } LIMIT 10 Query result: p o ANY ANY http://www.openlinksw.com/schemas/virtrdf#isEndpointOfService http://lod.openlinksw.com/sparql-sd http://www.openlinksw.com/schemas/virtrdf#dialect 000037ff
Additional Usage Benefits
Suppose one queries a remote endpoint and get sort of "Unsupported ..
" kind of errors -- the proper solution is to run SPARQL LOAD SERVICE DATA
.
If however the error persists, one should rephrase the query as the remote can't handle the query in its current form.
Related
- Virtuoso Tips and Tricks Collection
- Adding SPARQL Endpoint Capabilities Interrogation to Virtuoso SPARQL-FED functionality