pyvandenbussche / sparqles

SPARQL Endpoint Status
BSD 2-Clause "Simplified" License
27 stars 6 forks source link

Availability is false for vocab.getty.edu #42

Open VladimirAlexiev opened 9 years ago

VladimirAlexiev commented 9 years ago

http://sparqles.ai.wu.ac.at/availability shows http://vocab.getty.edu/sparql (2) 0% 0% I know for a fact this endpoint is up all the time.

Can you provide more info when it was last checked and what was the result?

lmatteis commented 9 years ago

We've started debugging this issue. Our logs seem to be throwing an error for the http://vocab.getty.edu/sparql endpoint:

12-09-15 14:24:38 ATask:114 WARN - failed SELECT query for http://vocab.getty.edu/sparql, EXC@0#349> QueryException HTTP msg:null cause:null

Obviously there's something wrong on our end because of the "null" messages. We'll keep you updated once this is fixed.

lmatteis commented 9 years ago

Hi @VladimirAlexiev. Sorry for the delay but it seems like your endpoint isn't read correctly by standard SPARQL tools:

$ java -cp "lib/*" arq.rsparql --service "http://dbpedia.org/sparql" 'SELECT ?s WHERE {?s ?p ?o} LIMIT 1'
----------------------------------------------------------------
| s                                                            |
================================================================
| <http://www.openlinksw.com/virtrdf-data-formats#default-iid> |
----------------------------------------------------------------
$ java -cp "lib/*" arq.rsparql --service "http://vocab.getty.edu/sparql" 'SELECT ?s WHERE {?s ?p ?o} LIMIT 1'
HTTP Exeception
HttpException: 404
    at org.apache.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:346)
    at org.apache.jena.sparql.engine.http.HttpQuery.exec(HttpQuery.java:292)
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execResultSetInner(QueryEngineHTTP.java:345)
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:337)
    at org.apache.jena.sparql.util.QueryExecUtils.doSelectQuery(QueryExecUtils.java:196)
    at org.apache.jena.sparql.util.QueryExecUtils.executeQuery(QueryExecUtils.java:78)
    at arq.rsparql.exec(rsparql.java:76)
    at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
    at arq.rsparql.main(rsparql.java:44)

As you can see, in the first example we run a test query against DBpedia. Running the same query against your endpoint leads to an error. Let us know if you can debug.

VladimirAlexiev commented 9 years ago

Thanks for the report! I think that arq.rsparql doesn't send an Accept header. Without an Accept header, we return HTML and maybe rsparql fails on that. This returns results in XML: curl -Haccept:application/sparql-results+xml "http://vocab.getty.edu/sparql?query=SELECT+%3Fs+WHERE+%7B%3Fs+%3Fp+%3Fo%7D+LIMIT+1"

In contrast, http://dbpedia.org/sparql has a drop-down "Results Format" with default value HTML. But if you send the query without an Accept header, it returns application/sparql-results+xml.

However, I tried this and it still fails with a similar exception: rsparql --results xml --service "http://vocab.getty.edu/sparql" "SELECT ?s WHERE {?s ?p ?o} LIMIT 1" We'll look into it.

VladimirAlexiev commented 9 years ago

Re the last command: I'm on Windows, so the syntax is slightly different. A rsparql cheat sheet is at http://richard.cyganiak.de/blog/wp-content/uploads/2013/09/jena-sparql-cli-v1.pdf, that's where I got the --results xml param

VladimirAlexiev commented 8 years ago

Now rsparql obtains 1 result as expected:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
  <head>
    <variable name="s"/>
  </head>
  <results>
    <result>
      <binding name="s">
        <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>
      </binding>
    </result>
  </results>
</sparql>

The Availabiliy shows 100%, but the query reports are still failing. Should we close this?