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 .
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
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 .