On 23 August 2014 19:24, Reto Gmür <[email protected]> wrote:

> Hi Danny
>
> Could you tell more about what error you get when you run the query against
> http://localhost:8080/sparql. What does the log say?
>

Taking the query :

SELECT * WHERE {?s ?p ?o}

converted to URL becomes :

http://localhost:8080/sparql?query=SELECT+*+WHERE+{%3Fs+%3Fp+%3Fo}

with a GET gives the error :

25.08.2014 08:39:16.792 *WARN* [qtp22576245-34]
org.eclipse.jetty.servlet.ServletHandler /sparql
java.lang.IllegalArgumentException: Illegal character "%" at position 22 is
not allowed as a start of a name in a path template
"query=SELECT+*+WHERE+{%3Fs+%3Fp+%3Fo}&output=text&stylesheet=".
    at
org.glassfish.jersey.uri.internal.UriTemplateParser.parseName(UriTemplateParser.java:305)
    at
org.glassfish.jersey.uri.internal.UriTemplateParser.parse(UriTemplateParser.java:235)
    at
org.glassfish.jersey.uri.internal.UriTemplateParser.<init>(UriTemplateParser.java:107)
    at
org.glassfish.jersey.uri.UriTemplate.createURIComponent(UriTemplate.java:891)
    at
org.glassfish.jersey.uri.UriTemplate.createURIWithStringValues(UriTemplate.java:858)
    at
org.glassfish.jersey.uri.UriTemplate.createURIWithStringValues(UriTemplate.java:797)
    at org.glassfish.jersey.uri.UriTemplate.createURI(UriTemplate.java:762)
    at
org.glassfish.jersey.uri.internal.JerseyUriBuilder._build(JerseyUriBuilder.java:893)
...

looks like it's not decoding the query in GETs per
http://www.w3.org/TR/sparql11-protocol/#query-via-get

>
> Also, the sparql HTTP endpoint is so that external can query the data. You
> write that you're integrating it into OSGi, so why should you by acessing
> the HTTP endpoint?
>

So it's possible to flip to using an external store by just changing the 2
SPARQL URLs, i.e. more loosely coupled. The messages being passed around
are relatively small so shouldn't be a major hit on performance, though I
guess accessing the store more directly would be an idea if this becomes an
issue for later UI elements.

Having said that, because I need to get this thing integrated asap, if
there's a quick way of modifying code to do the comms through OSGi I'd love
to hear it :)

Cheers,
Danny.


> Cheers,
> Reto
>
>
> On Sat, Aug 23, 2014 at 6:31 PM, Danny Ayers <[email protected]>
> wrote:
>
> > Hi Hasan, everyone,
> >
> > I'm working on a module [1] intended to plug in to the Fusepool extension
> > of Stanbol. It's a feed reader back by an RDF store, the store being
> > addressed entirely through SPARQL (over HTTP).
> >
> > I developed the app outside of OSGi and am now in the process of
> > integrating. I have been using a Fuseki store/endpoint but need to move
> > this over to using Stanbol/Clerezza's SPARQL facilities.
> >
> > So what I'd like to know is how to set up SPARQL endpoints. The config
> I've
> > got for Fuseki is below, essentially I need a dataset in a TDB-like store
> > that supports named graphs, accessed via SPARQL query (GET) & update
> > (POST).
> > There's an example of the kind of update I'm doing at [2] - it's
> actually a
> > freemarker template with simple placeholder substitution, but the SPARQL
> is
> > pretty clear.
> >
> > Right now with a running Fusepool/Stanbol, pointing a browser at
> > http://localhost:8080/query?sparql=
> > gives the kind of SPARQL parsing error you'd expect, but giving it a
> > genuine query leads to a HTTP 500.
> >
> > Any help greatly appreciated.
> >
> > Cheers,
> > Danny.
> >
> > ## ---------------------------------------------------------------  ##
> > Updatable in-memory dataset.
> >  <#feedreader> rdf:type fuseki:Service ;  # URI of the dataset --
> > http://host:port/feedreader  fuseki:name "feedreader" ;
> >   # SPARQL query services e.g.
> > http://host:port/feedreader/sparql?query=...  fuseki:serviceQuery
> > "sparql" ;  fuseki:serviceQuery "query" ;  # SPARQL Update service --
> > http://host:port/feedreader/update?request=...  fuseki:serviceUpdate
> > "update" ; # SPARQL query service -- /feedreader/update
> >   # Upload service -- http://host:port/feedreader/upload?graph=default
> or
> > ?graph=URI or ?default  # followed by a multipart body, each part being
> RDF
> > syntax.  # Syntax determined by the file name extension.
> > fuseki:serviceUpload
> > "upload" ; # Non-SPARQL upload service
> >   # SPARQL Graph store protocol (read and write)  # GET, PUT, POST DELETE
> > to http://host:port/feedreader/data?graph= or ?default=
> > fuseki:serviceReadWriteGraphStore
> > "data" ;
> >   # A separate read-only graph store endpoint:
> > fuseki:serviceReadGraphStore
> > "get" ; # Graph store protocol (read only) -- /feedreader/get
> >   fuseki:dataset <#emptyDataset> ;  .
> >  ## In-memory, initially empty.  <#emptyDataset> rdf:type ja:RDFDataset .
> > ##
> > ------------------------------------------------------------------
> > [1] https://github.com/danja/NewsMonitor
> >
> > [2]
> >
> >
> https://github.com/danja/NewsMonitor/blob/master/src/main/resources/templates/html/it/danja/newsmonitor/resource/update-links.ftl
> >
>



-- 
http://dannyayers.com

http://webbeep.it  - text to tones and back again

Reply via email to