/* * (c) Copyright 2010 Epimorphics Ltd. * All rights reserved. * [See end of file] */ package arq.examples.update; import org.openjena.riot.RiotWriter ; import com.hp.hpl.jena.sparql.modify.request.Target ; import com.hp.hpl.jena.sparql.modify.request.UpdateCreate ; import com.hp.hpl.jena.sparql.modify.request.UpdateDrop ; import com.hp.hpl.jena.sparql.modify.request.UpdateLoad ; import com.hp.hpl.jena.sparql.sse.SSE ; import com.hp.hpl.jena.update.GraphStore ; import com.hp.hpl.jena.update.GraphStoreFactory ; import com.hp.hpl.jena.update.UpdateAction ; import com.hp.hpl.jena.update.UpdateFactory ; import com.hp.hpl.jena.update.UpdateRequest ; /** Build an update request up out of indvidiual Update objects, not by parsing. * This is quite low-level. * See UpdateExecuteOperations for ways to build the request up from strings. * These two approaches can be mixed. */ public class UpdateProgrammatic { public static void main(String []args) { GraphStore graphStore = GraphStoreFactory.create() ; UpdateRequest request = UpdateFactory.create() ; request.add(new UpdateDrop(Target.ALL)) ; request.add(new UpdateCreate("http://example/g2")) ; request.add(new UpdateLoad("file:etc/update-data.ttl", "http://example/g2")) ; UpdateAction.execute(request, graphStore) ; System.out.println("# Debug format"); SSE.write(graphStore) ; System.out.println(); System.out.println("# N-Quads: S P O G") ; RiotWriter.writeNQuads(System.out, graphStore) ; } } /* * (c) Copyright 2010 Epimorphics Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */