0
1

I am trying to make a federated query in Virtuoso without success. Here are the two sample queries I use (and found online):

SELECT ?s ?p ?o WHERE {
 SERVICE <http://dbpedia.org/sparql>
 { SELECT ?s ?p ?o WHERE { 
     ?s ?p ?o . 
   } LIMIT 10
 }
}

and

PREFIX imdb: <http://data.linkedmdb.org/resource/movie/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dbpo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?birthDate ?spouseName ?movieTitle ?movieDate {
  { SERVICE <http://dbpedia.org/sparql>
    { SELECT ?birthDate ?spouseName WHERE {
        ?actor rdfs:label "Arnold Schwarzenegger"@en ;
               dbpo:birthDate ?birthDate ;
               dbpo:spouse ?spouseURI .
        ?spouseURI rdfs:label ?spouseName .
        FILTER ( lang(?spouseName) = "en" )
      }
    }
  }
  { SERVICE <http://data.linkedmdb.org/sparql>
    { SELECT ?actor ?movieTitle ?movieDate WHERE {
      ?actor imdb:actor_name "Arnold Schwarzenegger".
      ?movie imdb:actor ?actor ;
             dcterms:title ?movieTitle ;
             dcterms:date ?movieDate .
      }
    }
  }
}

Now when I try them both from a virtuoso server i.e. http://nl.dbpedia.org/sparql (VOS 6.1.6) I get

Virtuoso 37000 Error SP031: SPARQL compiler: http://dbpedia.org/sparql does not support OPTION (...) clause for triples so SPARQL query can not be composed

for the first query and

Virtuoso 37000 Error SP031: SPARQL compiler: http://data.linkedmdb.org/sparql does not support SPARQL-BI extensions (like nested SELECT) so SPARQL query can not be composed

for the second while they both run fine in http://libris.kb.se/sparql

asked 11 Nov '12, 15:11

jimkont's gravatar image

jimkont
436
accept rate: 33%


This is a known issue resolved in the latest Virtuoso archive. As you are using Virtuoso open source you can get these latest updates from our github develop/6 branch and recompile a new binary to test as detailed at:

http://www.openlinksw.com/dataspace/dav/wiki/Main/VOSGitUsage

Please let me know if this resolves the problem for you ?

permanent link

answered 11 Nov '12, 20:58

HughWilliams's gravatar image

HughWilliams
941
accept rate: 33%

1

Hi Hugh, I will need to deploy this to a live server (http://nl.dbpedia.org/sparql), is the developer branch "safe" or should I wait for the next VOS release?

(12 Nov '12, 02:23) jimkont jimkont's gravatar image

Hello,

I think that the Virtuoso link that you provide is the version 06.01.3127 and does not support the SERVICE clause. Based on their wiki Virtuoso, SERVICE is supported from version 6.1.6.

Apart from that, just a small remark for the first query. If you are taking the results for all variables inside the SERVICE clause then the inner SELECT is not required because SERVICE comes up from default with a SELECT * WHERE { }. So better would be:

SELECT ?s ?p ?o WHERE { SERVICE http://dbpedia.org/sparql { ?s ?p ?o . } LIMIT 10 }

kind regards, Christos

permanent link

answered 11 Nov '12, 16:15

Christos's gravatar image

Christos
15417
accept rate: 33%

Thank you Christos but the version you state is not the VOS release, it should be a plugin vesrion (or something)

(12 Nov '12, 02:27) jimkont jimkont's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×1,289
×198

question asked: 11 Nov '12, 15:11

question was seen: 1,241 times

last updated: 12 Nov '12, 02:27