Dear all,

I'm using the Virtuoso Jena Provider with Virtuoso 06.00.3123 but I'm
getting an exception when serialising the Jena Model (Jena 2.5.7) I
get from a describe SPARQL query.

The source code is:

ByteArrayOutputStream out = new ByteArrayOutputStream();
VirtuosoQueryExecution qexec =
VirtuosoQueryExecutionFactory.create(queryString, graph);
Model results = qexec.execDescribe();
results.write(out, "RDF/XML-ABBREV");

An the query:

DESCRIBE ?r
FROM <http://rhizomik.net>
WHERE { ?r  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://purl.org/rss/1.0/item> .}

The exception is:

com.hp.hpl.jena.shared.BadURIException: Only well-formed absolute
URIrefs can be included in RDF/XML output: <The first version of
Rhizomer, version 0.1, is announced at the EKAW'08 conference.> Code:
58/REQUIRED_COMPONENT_MISSING in SCHEME: A component that is required
by the scheme is missing.

However, if I perform the same query through the Virtuoso SPARQL
endpoint I get the following triples:

<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://purl.org/dc/elements/1.1/date>  "2008-10-03"
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>       
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/2002/12/cal/icaltzd#dtend>   "2008-10-03"
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://purl.org/rss/1.0/description>   "The
first version of Rhizomer, version 0.1, is announced at the EKAW'08
conference." .
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://purl.org/rss/1.0/title> "Rhizomer
0.1 is announced at EKAW'08" .
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/2003/01/geo/wgs84_pos#lat>   "37.563855"
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/2003/01/geo/wgs84_pos#long>  "15.161365"
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/2002/12/cal/icaltzd#dtstart> "2008-10-03"
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://purl.org/rss/1.0/link>  
"http://localhost:8080/rhizomer/html/blog/2008/10/03/announced-rhizomer-0.1/";
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://purl.org/dc/elements/1.1/creator>       
<http://purl.org/dc/elements/1.1/creator>
.
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/2000/01/rdf-schema#label>    "Announced
Rhizomer 0.1" .

It seems that the query result is not correctly serialised into the
Jena Model and a literal is modelled using a resource Jena object. Is
this a bug or am I doing something wrong?

In fact, there is strange triple in the NTriples serialisation:
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>       
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
.

that is not present in N3/Turtle one:
@prefix ns1:    <http://purl.org/rss/1.0/> .
<http://localhost:8080/rhizomer/blog/2008/10/03/announced-rhizomer-0.1/>        
rdf:type        ns1:item
.


Best,

Roberto García
http://rhizomik.net/~roberto/

Reply via email to