- From: Olivier Rossel <olivier.rossel@gmail.com>
- Date: Wed, 11 Jul 2018 14:46:44 +0200
- To: Thomas Francart <thomas.francart@sparna.fr>
- Cc: Gregory Williams <greg@evilfunhouse.com>, Martynas Jusevičius <martynas@atomgraph.com>, public-sparql-dev@w3.org
- Message-ID: <CAM0wMfRDYmBZvzek-SK04+Zjb3GXxwp4T8yG8fN5kD4si7ewoQ@mail.gmail.com>
Did you check which code in Jena triggers the schema validation? I don't
see this as a so strong requirement.
Le mer. 11 juil. 2018 à 14:37, Thomas Francart <thomas.francart@sparna.fr>
a écrit :
> Hello
>
> Trying to parse the following extended SPARQL result XML works in RDF4J
> but fails in Jena.
> Conclusion : SPARQL XML result format is not extensible from the standard
> point of view, neither from a practical point of view if one of the major
> RDF library fails in dealing with this (with reason, since the standard
> does not allow it). Using other namespaces does not help. I will consider
> using a "Link" header in the HTTP response, as suggested.
>
> Best Regards
> Thomas
>
> XML :
>
> <?xml version="1.0"?>
> <sparql xmlns="http://www.w3.org/2005/sparql-results#">
> <meta xmlns="http://sparna.fr/sparql-results-extension#">
> <timeMillis xmlns="http://sparna.fr/sparql-results-extension#
> ">123456</timeMillis>
> </meta>
> <head>
> <variable name="concept"/>
> <variable name="prefLabel"/>
> </head>
> <results>
> <result>
> <binding name="concept">
> <uri>http://vocabularies.unesco.org/thesaurus/concept9331</uri>
> </binding>
> <binding name="prefLabel">
> <literal xml:lang="en">Teacher education</literal>
> </binding>
> </result>
> </results>
> </sparql>
>
> Code with RDF4J :
>
> TupleQueryResultParserRegistry.getInstance().get(TupleQueryResultFormat.SPARQL).get().getParser().parseQueryResult(new
> FileInputStream("/path/to/sparql-result-extended.xml"));
>
> Code with Jena :
>
> ResultSetMgr.read(new
> FileInputStream("/path/to/sparql-result-extended.xml"),
> ResultSetLang.SPARQLResultSetXML);
>
> Exception :
>
> Caused by: org.apache.jena.sparql.resultset.ResultSetException:
> skipToHead: Unexpected tag: {
> http://sparna.fr/sparql-results-extension#}meta
> at
> org.apache.jena.riot.resultset.rw.ResultsStAX.staxError(ResultsStAX.java:466)
> at
> org.apache.jena.riot.resultset.rw.ResultsStAX.skipTo(ResultsStAX.java:282)
>
>
>
>
>
> 2018-07-09 19:36 GMT+02:00 Gregory Williams <greg@evilfunhouse.com>:
>
>> FWIW, the hacky but standards compliant way I’ve dealt with this in the
>> past is by using the link element with a data: URI.
>>
>> .greg
>>
>> On Jul 9, 2018, at 10:10 AM, Thomas Francart <thomas.francart@sparna.fr>
>> wrote:
>>
>> Hello
>>
>> Thanks for your answers, here is slightly more extended description of
>> the use-case : I am preparing a "SPARQL query mediator", that is a
>> SPARQL-compatible service that will send the same query to multiple sources
>> and aggregate the results into a single resultset. It can also articulate
>> part of the query with other datasources (like if the SERVICE keyword was
>> used). This involves preprocessings on the query, and post-processing on
>> the result sets.
>>
>> - I would like the SPARQL client to know if one of the source has
>> reached a LIMIT number of results (I plan to limit the number of results to
>> X for each source)
>> - I was also thinking about proving the "explain" of the query
>> processing if the SPARQL client asked for it (which sources were queried,
>> how the query got transformed, etc;)
>>
>> So the information could be pretty structured and does not seem to fit
>> well in HTTP headers.
>>
>> Thanks for your ideas. I might try parsing with additionnal XML elements
>> and let you know.
>>
>> Best Regards
>> Thomas
>>
>>
>> 2018-07-09 13:56 GMT+02:00 Olivier Rossel <olivier.rossel@gmail.com>:
>>
>>> Can't the HTTP headers contain such informations, instead of the XML
>>> resultSet ?
>>>
>>> Le lun. 9 juil. 2018 à 13:38, Martynas Jusevičius <
>>> martynas@atomgraph.com> a écrit :
>>>
>>>> Have you tried parsing?
>>>>
>>>> I think if you used XML elements in your own namespace, it should not
>>>> be a problem.
>>>>
>>>> But probably better to start by explaining what your use case is,
>>>> rather than the solution you think you need.
>>>>
>>>> On Mon, Jul 9, 2018 at 1:31 PM, Thomas Francart
>>>> <thomas.francart@sparna.fr> wrote:
>>>> > Hello
>>>> >
>>>> > I would like to extend a SPARQL XML result format with custom header
>>>> > information; such as query execution time, warning if a search limit
>>>> was
>>>> > reached during query execution, or other king of meta-information
>>>> about the
>>>> > resultset.
>>>> >
>>>> > From the definition of the SPARQL XML result format at
>>>> > https://www.w3.org/TR/rdf-sparql-XMLres/#schemas, I don't see the
>>>> XML schema
>>>> > allows this; there is no extension point. Could someone confirm ?
>>>> >
>>>> > In practice, would it be possible to have something like :
>>>> >
>>>> > <?xml version="1.0"?>
>>>> > <sparql xmlns="http://www.w3.org/2005/sparql-results#">
>>>> >
>>>> > <meta>
>>>> >
>>>> > <!-- here put some meta information -->
>>>> >
>>>> > </meta>
>>>> >
>>>> >
>>>> > <head>
>>>> >
>>>> > ...
>>>> >
>>>> > </head>
>>>> >
>>>> > <results>
>>>> > ...
>>>> > </results>
>>>> >
>>>> > </sparql>
>>>> >
>>>> >
>>>> >
>>>> > Would SPARQL result parsers choke on this ? RDF4J ? Jena ?
>>>> > Is anyone already using this technique ?
>>>> >
>>>> > Thanks
>>>> > Thomas
>>>> >
>>>> > --
>>>> >
>>>> > Thomas Francart - SPARNA
>>>> > Web de données | Architecture de l'information | Accès aux
>>>> connaissances
>>>> > blog : blog.sparna.fr, site : sparna.fr, linkedin :
>>>> > fr.linkedin.com/in/thomasfrancart
>>>> > tel : +33 (0)6.71.11.25.97, skype : francartthomas
>>>>
>>>>
>>
>>
>> --
>>
>> *Thomas Francart* -* SPARNA*
>> Web de *données* | Architecture de l'*information* | Accès aux
>> *connaissances*
>> blog : blog.sparna.fr, site : sparna.fr, linkedin :
>> fr.linkedin.com/in/thomasfrancart
>> tel : +33 (0)6.71.11.25.97, skype : francartthomas
>>
>>
>
>
> --
>
> *Thomas Francart* -* SPARNA*
> Web de *données* | Architecture de l'*information* | Accès aux
> *connaissances*
> blog : blog.sparna.fr, site : sparna.fr, linkedin :
> fr.linkedin.com/in/thomasfrancart
> tel : +33 (0)6.71.11.25.97, skype : francartthomas
>
Received on Wednesday, 11 July 2018 12:47:22 UTC