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