Hi Lorena

JenaReaderRdfJson is for reading a JSON serialization of RDF.   The
serialization you are trying to read is the JSON serialization of SPARQL
Results which is completely different.

I notice you say that you use a CONSTRUCT query but the results you show
are the SPARQL Results JSON format which should only be used for
ASK/SELECT queries.  If Virtuoso is replying with that to your CONSTRUCT
query then they are behaving incorrectly and you should report a bug to
them.

If you genuinely expect SPARQL results instead then use
ResultSetFactory.fromJSON() which will give you a ResultSet object.

Rob


On 6/25/12 3:14 PM, "lorena" <[email protected]> wrote:

>Hi:
>
>I'm trying to process the results of performing a CONSTRUCT query on
>Virtuoso using apache-jena-2.7.0-incubating
>[1] shows the JSON String I would like to read (schemaStr).
>
>Here is an extract of my code:
>
>SysRIOT.wireIntoJena();
>Model modelSchema = ModelFactory.createDefaultModel();
>RDFReader schemaReader = new JenaReaderRdfJson() ;
>
>StringReader s = new StringReader(schemaStr);
>schemaReader.read(modelSchema, s, "");
>
>And I receive the following exception caused in the line that executes
>the read:
>
>com.hp.hpl.jena.shared.JenaException: org.openjena.riot.RiotException:
>[line: 2, col: 3 ] Relative IRI: head
>       at 
>org.openjena.riot.system.JenaReaderRIOT.readImpl(JenaReaderRIOT.java:150)
>       at org.openjena.riot.system.JenaReaderRIOT.read(JenaReaderRIOT.java:54)
>        ....................
>
>
>
>It seems to have trouble reading the "head" section.
>My questions:
>Is Virtuoso JSON output compatible with what JenaReaderRdfJson expects to
>read?
>Am I missing something else?
>I'm using the empty string ("") as base URI in the read method, but I
>don't understand what is the read method expecting in this field.
>
>Thanks in advance
>Lorena
>
>
>
>[1]
>{ "head": { "link": [], "vars": [ "s", "p", "o" ] },
>  "results": { "distinct": false, "ordered": true, "bindings": [
>    { "s": { "type" : "uri", "value" : "_:vb43419" }   , "p": { "type" :
>"uri", "value" : "http://purl.org/olap#hasAggregateFunction"; } , "o":
>{ "type" : "uri", "value" : "http://purl.org/olap#sum"; }},
>    { "s": { "type" : "uri", "value" : "_:vb43418" }   , "p": { "type" :
>"uri", "value" : "http://purl.org/olap#level"; }        , "o": { "type" :
>"uri", "value" : "http://example.org/householdCS#year"; }},
>    { "s": { "type" : "uri", "value" :
>"http://example.org/householdCS#household_withoutGeo"; }        , "p": {
>"type" : "uri", "value" : "http://purl.org/linked-data/cube#component";
>}      , "o": { "type" : "uri", "value" : "_:vb43418" }},
>    { "s": { "type" : "uri", "value" :
>"http://example.org/householdCS#household_withoutGeo"; }        , "p": {
>"type" : "uri", "value" : "http://purl.org/linked-data/cube#component";
>}      , "o": { "type" : "uri", "value" : "_:vb43419" }},
>    { "s": { "type" : "uri", "value" : "_:vb43419" }   , "p": { "type" :
>"uri", "value" : "http://purl.org/linked-data/cube#measure"; }  , "o": {
>"type" : "uri", "value" : "http://example.org/householdCS#household";
>}},
>    { "s": { "type" : "uri", "value" :
>"http://example.org/householdCS#householdCS"; } , "p": { "type" :
>"uri", "value" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; }   ,
>"o": { "type" : "uri", "value" :
>"http://purl.org/linked-data/cube#DataStructureDefinition"; }} ] } }

Reply via email to