#88 v7.10.3209: Response with Content-type text/plain actually formatted as Turtle

v6.1.3
open
nobody
None
5
2014-08-23
2014-06-24
Dale Visser
No

Steps to reproduce using curl, querying DBPedia SPARQL endpoint, which is running Virtuoso v7.10.3209:

$ curl -i -H 'Accept: text/plain;q=0.7' -H 'Accept: text/turtle' --data 'query=CONSTRUCT+{+?s+a+?concept+}+WHERE+{+?s+a+?concept+}+LIMIT+5' 'http://dbpedia.org/sparql'
HTTP/1.1 200 OK
Date: Tue, 24 Jun 2014 18:22:39 GMT
Content-Type: text/plain
Content-Length: 395
Connection: keep-alive
Server: Virtuoso/07.10.3209 (Linux) i686-generic-linux-glibc212-64  VDB
Accept-Ranges: bytes

@prefix rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
rdf:type    rdf:type    rdf:Property .
@prefix rdfdf:    <http://www.openlinksw.com/virtrdf-data-formats#> .
@prefix virtrdf:  <http://www.openlinksw.com/schemas/virtrdf#> .
rdfdf:default-iid rdf:type    virtrdf:QuadMapFormat .
rdfdf:default-iid-nullable    rdf:type    virtrdf:QuadMapFormat .
rdfdf:default-iid-nonblank    rdf:type    virtrdf:QuadMapFormat .

Discussion

  • Tim Haynes
    Tim Haynes
    2014-06-25

    Hi,
    Thanks for reporting this.
    I'm reliably informed there's a fix in the latest develop/7.x branch. You can expect this to make its way public soon, when we next push to Github and/or make a release.
    Regards,
    ~Tim

     
  • Jeen Broekstra
    Jeen Broekstra
    2014-06-25

    In summary: the problem is that the response mediatype is text/plain for turtle documents, which is incorrect: text/plain is reserved for N-Triples, for turtle it should be text/turtle or application/x-turtle. The result is that such documents can not be properly processed by the client (because they expect a different format from what they actually get).

    A practical occurrence of this problem is in trying to do CONSTRUCT queries on DBPedia using Sesame: in processing the response, Sesame selects the N-Triples parser, and then aborts with a parse error.

    See related report in Sesame issue tracker: https://openrdf.atlassian.net/browse/SES-2085 .