How can I see which quad storages exist and in which quad storage a graph resides?
Let's take for example a Linked Data (RDF) View created from relational data in Virtuoso. The RDF output should have two graphs which reside in a quad storage named, for example --
http://localhost:8890/rdfv_demo/quad_storage/default
The RDF is also accessible through the SPARQL endpoint with a query like --
DEFINE input:storage <http://localhost:8890/rdfv_demo/quad_storage/default>
SELECT *
WHERE
{
?s ?p ?o
}
One might ask, is there a way to tell Virtuoso (once) that the quad storage should always be included in all queries to the SPARQL endpoint, such that the user does not have to define the input:storage explicitly in each query?
http://localhost:8890/sparql?qtxt=SELECT%20*%20WHERE%20%7B%20%3Fs%20%3Fp%20%3Fo%20%7D&default-graph-uri=NULL&named-graph-uri=NULL
All metadata about all RDF storages are kept in "system" graph <http://www.openlinksw.com/schemas/virtrdf#> (with built-in, predefined namespace prefix, virtrdf:).
Subjects of type virtrdf:QuadStorage are RDF storages.
There are three of them by default:
SQL> SPARQL SELECT * FROM virtrdf: WHERE { ?s a virtrdf:QuadStorage };
s
VARCHAR
_______________________________________________________________________________
http://www.openlinksw.com/schemas/virtrdf#DefaultQuadStorage
http://www.openlinksw.com/schemas/virtrdf#DefaultServiceStorage
http://www.openlinksw.com/schemas/virtrdf#SyncToQuads
3 Rows. -- 3 msec.
-
virtrdf:DefaultQuadStorageis used if noinput:storageis specified. -
virtrdf:DefaultServiceStorageis used for SPARQL Federation. -
virtrdf:SyncToQuadsis used to keep the list of Linked Data Views that are translated into RDB2RDF triggers.
There are two ways of using one of these Linked Data Views in SPARQL endpoint without making a define input:storage declaration.
- Create a Linked Data View right in
virtrdf:DefaultQuadStorage; or add the view in other storage, and then copy it from there tovirtrdf:DefaultQuadStorage. In either case, use:
SPARQL ALTER QUAD STORAGE virtrdf:DefaultQuadStorage . . .
- Use
SYS_SPARQL_HOSTtable as described here, and setSH_DEFINESso it contains your favoritedefine input:storage.