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

  1. 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...

  2. 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