Top

1.5.7. How can I see which quad storages exist and in which quad storage a graph resides?

Let's take for example a created Linked Data View from relational data in Virtuoso . The RDF output therefor should have two graphs which reside in a quad storage named for ex.:

http://example.com/rdfv_demo/quad_storage/default

Also the RDF is accessible over the SPARQL endpoint with the following query:

define input:storage <http://example.com/rdfv_demo/quad_storage/default>
SELECT *
WHERE
  {
    ?s ?p ?o
  }

Now one could ask is there a way to define internally (once) that the quad storage should be included in queries to the SPARQL endpoint? So that the user does not have to define the input:storage explicitly in each query, like this:

http://example.com/sparql?query=select * where { ?s ?p ?o }&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#> ( 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:DefaultQuadStorage

    is what's in use if no input:storage specified.

  • virtrdf:DefaultServiceStorage

    will be used for SPARQL federation.

  • virtrdf:SyncToQuads

    is to keep the list of Linked Data Views that are translated into RDB2RDF triggers.

There are two ways of using the Linked Data View from above in SPARQL endpoint without define input:storage :

  1. Create Linked Data View right in

    virtrdf:DefaultQuadStorage

    or add the view in other storage and then copy it from there to

    virtrdf:DefaultQuadStorage

    .

    • In any of these two variants, use:

      SPARQL ALTER QUAD STORAGE virtrdf:DefaultQuadStorage . . .
      
  2. Use

    SYS_SPARQL_HOST

    table as described here and set

    SH_DEFINES

    so it contains your favorite

    define input:storage

    .