/* * (c) Copyright 2007, 2008, 2009 Hewlett-Packard Development Company, LP * All rights reserved. * [See end of file] */ package arq; import arq.cmd.CmdException ; import arq.cmdline.CmdARQ ; import arq.cmdline.ModDatasetGeneral ; import arq.cmdline.ModQueryIn ; import arq.cmdline.ModRemote ; import arq.cmdline.ModResultsOut ; import com.hp.hpl.jena.query.Query ; import com.hp.hpl.jena.query.QueryExecution ; import com.hp.hpl.jena.query.QueryExecutionFactory ; import com.hp.hpl.jena.sparql.engine.http.HttpQuery ; import com.hp.hpl.jena.sparql.engine.http.QueryExceptionHTTP ; import com.hp.hpl.jena.sparql.util.QueryExecUtils ; public class remote extends CmdARQ { protected ModQueryIn modQuery = new ModQueryIn() ; protected ModRemote modRemote = new ModRemote() ; protected ModDatasetGeneral modDesc = new ModDatasetGeneral() ; protected ModResultsOut modResults = new ModResultsOut() ; public static void main (String... argv) { new remote(argv).mainRun() ; } public remote(String[] argv) { super(argv) ; super.addModule(modRemote) ; super.addModule(modQuery) ; super.addModule(modDesc) ; super.addModule(modResults) ; } @Override protected void processModulesAndArgs() { super.processModulesAndArgs() ; if ( modRemote.getServiceURL() == null ) throw new CmdException("No SPARQL endpoint specificied") ; } @Override protected void exec() { Query query = modQuery.getQuery() ; try { String serviceURL = modRemote.getServiceURL() ; QueryExecution qe = QueryExecutionFactory.sparqlService(serviceURL, query, modDesc.getGraphURLs(), modDesc.getNamedGraphURLs()) ; if ( modRemote.usePost() ) HttpQuery.urlLimit = 0 ; QueryExecUtils.executeQuery(query, qe, modResults.getResultsFormat()) ; } catch (QueryExceptionHTTP ex) { throw new CmdException("HTTP Exeception", ex) ; } catch (Exception ex) { System.out.flush() ; ex.printStackTrace(System.err) ; } } @Override protected String getSummary() { return null ; } } /* * (c) Copyright 2007, 2008, 2009 Hewlett-Packard Development Company, LP * 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. */