Yes!  It conforms to SPARQL 1.1 Update, so it should work with any endpoint
that implements the spec.

-Steve


On Tuesday, November 27, 2012, Olivier Rossel wrote:

> Is it generic for any SPARQL endpoint (4store, fuseki, virtuoso, ...)?
>
> On Tue, Nov 27, 2012 at 11:42 PM, Stephen Allen 
> <[email protected]<javascript:;>>
> wrote:
> > Also, you can try the experimental "jena-client" project.  It is a
> > work-in-progress for interacting with SPARQL endpoints (both local and
> > remote).
> >
> > Instructions for building:
> >    svn co
> https://svn.apache.org/repos/asf/jena/Experimental/jena-client/
> > jena-client
> >    cd jena-client
> >    mvn clean install
> >
> > Then include "target/jena-client-0.0.8-SNAPSHOT.jar" in your project's
> > classpath.  Quick user guide:
> >
> >    Model m = ... // Your Model with the statements you want to add to
> > the remote store
> >    Repository repo =
> > RepositoryFactory.createRemote("http://localhost:3030/ds/query";,
> > "http://localhost:3030/ds/update";);
> >    Connection conn = repo.getConnection();
> >    try {
> >        Updater up = conn.createStreamingUpdater();
> >        try {
> >            // The first parameter is the named graph to insert the
> > Triples into, null == default graph
> >            up.insert(null, m.getGraph());
> >        }
> >        finally {
> >            up.close();
> >        }
> >    }
> >    finally {
> >        conn.close();
> >    }
> >
> >
> > Among the benefits of this:  1) it generates the SPARQL Update request
> > for you, and 2) it is fully streaming on the client side, so Model can
> > be large (streaming isn't supported on the server yet, see JENA-330).
> > 3) A single update request is transactional (a future goal would be
> > transactions across remote queries / requests)
> >
> > If you do use it, or even play around with it for a while, I would
> > love to get your feedback.
> >
> > -Stephen
> >
> > On Tue, Nov 27, 2012 at 6:16 AM, Andy Seaborne 
> > <[email protected]<javascript:;>>
> wrote:
> >> On 26/11/12 17:02, Olivier Rossel wrote:
> >>>
> >>> Hi folks!
> >>>
> >>> I have a Model full of triples, and I wish I could  "inject" these
> >>> data into a remote endpoint. is there a helper class to create a
> >>> SPARQL/Insert query from the content of the Model? Otherwise, what is
> >>> the best way to create such a query? (Iterating the triples, removing
> >>> the blank nodes, appending SPARQL statements to a StringBuffer. And
> >>> that's all?
> >>
> >>
> >> DatasetAccessor (which for silly histroical reasons is in Fuseki) may
> help.
> >> It is the GSP protocol for Jena.  You can POST a model.
> >>
> >> And also no need to mess with bNodes in a INSERT DATA operation.
> >>
> >>
> >>> More advanced question: is it possible to monitor the lifecycle of a
> >>> Model (add/remove), and create a SPARQL/Update that mimicks that
> >>> lifecycle (to be sent on a remote endpoint)? What is the best way to
> >>> do that with Jena? ModelChangedListener (and string appending)?
> >>
> >>
> >> Yes, probably.
> >>
> >> We have been discussing simplifying this to just have one "add" and one
> >> "remove" call.
> >>
> >>
> >>>
> >>> Your points of view are highly welcome.
> >>>
> >>
> >>         Andy
>

Reply via email to