<!DOCTYPE html>
<html lang="en">
<head>
    

    <title>Apache Jena - ARQ - Command Line Applications</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="/css/bootstrap-extension.css" rel="stylesheet" type="text/css">
    <link href="/css/jena.css" rel="stylesheet" type="text/css">
    <link rel="shortcut icon" href="/images/favicon.ico" />

    <script src="https://code.jquery.com/jquery-2.2.4.min.js"
            integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
            crossorigin="anonymous"></script>
    <script src="/js/jena-navigation.js" type="text/javascript"></script>
    <script src="/js/bootstrap.min.js" type="text/javascript"></script>

    <script src="/js/improve.js" type="text/javascript"></script>

    
</head>

<body>

<nav class="navbar navbar-default" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/index.html">
                <img class="logo-menu" src="/images/jena-logo/jena-logo-notext-small.png" alt="jena logo">Apache Jena</a>
        </div>

        <div class="collapse navbar-collapse navbar-ex1-collapse">
            <ul class="nav navbar-nav">
                <li id="homepage"><a href="/index.html"><span class="glyphicon glyphicon-home"></span> Home</a></li>
                <li id="download"><a href="/download/index.cgi"><span class="glyphicon glyphicon-download-alt"></span> Download</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-book"></span> Learn <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">Tutorials</li>
                        <li><a href="/tutorials/index.html">Overview</a></li>
                        <li><a href="/documentation/fuseki2/index.html">Fuseki Triplestore</a></li>
                        <li><a href="/documentation/notes/index.html">How-To's</a></li>
                        <li><a href="/documentation/query/manipulating_sparql_using_arq.html">Manipulating SPARQL using ARQ</a></li>
                        <li><a href="/tutorials/rdf_api.html">RDF core API tutorial</a></li>
                        <li><a href="/tutorials/sparql.html">SPARQL tutorial</a></li>
                        <li><a href="/tutorials/using_jena_with_eclipse.html">Using Jena with Eclipse</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">References</li>
                        <li><a href="/documentation/index.html">Overview</a></li>
                        <li><a href="/documentation/query/index.html">ARQ (SPARQL)</a></li>
                        <li><a href="/documentation/assembler/index.html">Assembler</a></li>
                        <li><a href="/documentation/tools/index.html">Command-line tools</a></li>
                        <li><a href="/documentation/rdfs/">Data with RDFS Inferencing</a></li>
                        <li><a href="/documentation/geosparql/index.html">GeoSPARQL</a></li>
                        <li><a href="/documentation/inference/index.html">Inference API</a></li>
                        <li><a href="/documentation/javadoc.html">Javadoc</a></li>
                        <li><a href="/documentation/ontology/">Ontology API</a></li>
                        <li><a href="/documentation/permissions/index.html">Permissions</a></li>
                        <li><a href="/documentation/extras/querybuilder/index.html">Query Builder</a></li>
                        <li><a href="/documentation/rdf/index.html">RDF API</a></li>
                        <li><a href="/documentation/rdfconnection/">RDF Connection - SPARQL API</a></li>
                        <li><a href="/documentation/io/">RDF I/O</a></li>
                        <li><a href="/documentation/rdfstar/index.html">RDF-star</a></li>
                        <li><a href="/documentation/shacl/index.html">SHACL</a></li>
                        <li><a href="/documentation/shex/index.html">ShEx</a></li>
                        <li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
                        <li><a href="/documentation/tdb/index.html">TDB</a></li>
                        <li><a href="/documentation/tdb2/index.html">TDB2</a></li>
                        <li><a href="/documentation/query/text-query.html">Text Search</a></li>
                    </ul>
                </li>

                <li class="drop down">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-book"></span> Javadoc <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/documentation/javadoc.html">All Javadoc</a></li>
                        <li><a href="/documentation/javadoc/arq/">ARQ</a></li>
                        <li><a href="/documentation/javadoc_elephas.html">Elephas</a></li>
                        <li><a href="/documentation/javadoc/fuseki2/">Fuseki</a></li>
                        <li><a href="/documentation/javadoc/geosparql/">GeoSPARQL</a></li>
                        <li><a href="/documentation/javadoc/jdbc/">JDBC</a></li>
                        <li><a href="/documentation/javadoc/jena/">Jena Core</a></li>
                        <li><a href="/documentation/javadoc/permissions/">Permissions</a></li>
                        <li><a href="/documentation/javadoc/extras/querybuilder/">Query Builder</a></li>
                        <li><a href="/documentation/javadoc/shacl/">SHACL</a></li>
                        <li><a href="/documentation/javadoc/tdb/">TDB</a></li>
                        <li><a href="/documentation/javadoc/text/">Text Search</a></li>
                    </ul>
                </li>

                <li id="ask"><a href="/help_and_support/index.html"><span class="glyphicon glyphicon-question-sign"></span> Ask</a></li>

                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-bullhorn"></span> Get involved <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/getting_involved/index.html">Contribute</a></li>
                        <li><a href="/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">Project</li>
                        <li><a href="/about_jena/about.html">About Jena</a></li>
                        <li><a href="/about_jena/architecture.html">Architecture</a></li>
                        <li><a href="/about_jena/citing.html">Citing</a></li>
                        <li><a href="/about_jena/team.html">Project team</a></li>
                        <li><a href="/about_jena/contributions.html">Related projects</a></li>
                        <li><a href="/about_jena/roadmap.html">Roadmap</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">ASF</li>
                        <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
                        <li><a href="http://www.apache.org/security/">Security</a></li>
                        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                    </ul>
                </li>


    

                <li id="edit"><a href="https://github.com/apache/jena-site/edit/main/source/documentation/query/cmds.md" title="Edit this page on GitHub"><span class="glyphicon glyphicon-pencil"></span> Edit this page</a></li>
            </ul>
        </div>
    </div>
</nav>


<div class="container">
    <div class="row">
        <div class="col-md-12">
            <div id="breadcrumbs">
                
                    





<ol class="breadcrumb">
    
    
        
        
    
        
        
            
                <li><a href='/documentation'>DOCUMENTATION</a></li>
            
            
        
    
        
        
            
                <li><a href='/documentation/query'>QUERY</a></li>
            
            
        
    
        
        
            
                <li class="active">CMDS</li>
            
            
        
    
</ol>




                
            </div>
            <h1 class="title">ARQ - Command Line Applications</h1>
            
	<p>The <code>arq</code> package contains some command line applications to run
queries, parse queries, process result sets and run test sets.</p>
<p>You will need to set the classpath, or use the helper scripts, to
run these applications from the command line. The helper scripts
are in <code>bin/</code> (Linux, Unix, Cygwin, OS/X) and <code>bat/</code> (Windows)
directories. There are ancillary scripts in the directories that
the main commands need - see <a href="../tools/index.html">the tools page</a>
for setup details.</p>
<p>The commands look for file <code>log4j2.properties</code> in the current directory, as well
as the usual log4j2 initialization with property <code>log4j.configurationFile</code> and
looking for classpath resource <code>log4j2.properties</code>; there is a default setup of
log4j2 built-in.</p>
<ul>
<li>
<p><a href="#arqquery"><code>arq.query</code></a> is the main query driver.</p>
</li>
<li>
<p><a href="#arqqparse"><code>arq.qparse</code></a> : parse and print a
SPARQL query.</p>
</li>
<li>
<p><a href="#arquparse"><code>arq.uparse</code></a> : parse and print a
SPARQL update.</p>
</li>
<li>
<p><a href="#arqupdate"><code>arq.update</code></a> : execute SPARQL/Update
requests.</p>
</li>
<li>
<p><a href="#arqremote"><code>arq.remote</code></a> : execute a query by
HTTP on a remote SPARQL endpoint.</p>
</li>
<li>
<p><a href="#arqrset"><code>arq.rset</code></a> : transform result sets.</p>
</li>
<li>
<p><a href="#arqqexpr"><code>arq.qexpr</code></a> : evaluate and print an
expression.</p>
</li>
</ul>
<p>All commands have a <code>--help</code> command for a summary of the
arguments.</p>
<p>When using a query in a file, if the query file ends .rq, it is
assumed to be a SPARQL query. If it ends .arq, it is assumed to be
an ARQ query (extensions to SPARQL). You can specify the syntax
explicitly.</p>
<h3 id="arqquery"><code>arq.query</code></h3>
<p>This is the main command for executing queries on data. The
wrappers just set the query language.</p>
<ul>
<li><code>arq.sparql</code> : wrapper for SPARQL queries</li>
<li><code>arq.arq</code> : wrapper for ARQ queries</li>
</ul>
<p>Running <code>arq.query --help</code>prints the usage message. The main
arguments are:</p>
<ul>
<li><code>--query FILE</code> : The file with the query to execute</li>
<li><code>--data FILE</code> : The data to query. It will be included in the
default graph.</li>
<li><code>--namedgraph FILE</code> : The data to query. It will be included as
a named graph.</li>
<li><code>--desc/--dataset</code>:
<a href="../assembler/">Jena Assembler description</a> of the
dataset to be queried, augmented with vocabulary for datasets, not
just graphs. See <code>etc/</code> for examples.</li>
</ul>
<p>The file extension is used to guess the file serialization format.
If a data file ends <code>.n3</code>, it is assumed to be N3; if it ends
<code>.ttl</code> is Turtle; if it is <code>.nt</code> is N-Triples; otherwise it is
assumed to be RDF/XML. The data serialization can be explicitly
specified on the command line.</p>
<h3 id="arqqparse"><code>arq.qparse</code></h3>
<p>Parse a query and print it out.</p>
<p><code>arq.qparse</code> will parse the query, print it out again (with line
numbers by default) and then parse the serialized query again. If
your query has a syntax error, a message is printed but no query is
printed. If a query is printed then you get a syntax error message,
then your query was syntactically correct but the ARQ serialization
is broken.  Please report this.</p>
<p>The command <code>arq.qparse --print=op --file &lt;i&gt;queryFile&lt;/i&gt;</code>will
print the SPARQL algebra for the query in
<a href="../notes/sse.html">SSE format</a>.</p>
<h3 id="arquparse"><code>arq.uparse</code></h3>
<p>Parse a SPARQL update print it out.</p>
<p><code>arq.uparse</code> will parse the update, print it out again (with line
numbers by default) and then parse the serialized update again. If
your update has a syntax error, a message is printed but no update is
printed. If a update is printed then you get a syntax error message,
then your query was syntactically correct but the ARQ serialization
is broken.  Please report this.</p>
<h3 id="arqupdate"><code>arq.update</code></h3>
<p>Execute <a href="http://www.w3.org/TR/sparql11-update/">SPARQL Update</a>
requests.</p>
<ul>
<li><code>--desc</code>:
<a href="../assembler/">Jena Assembler description</a> of the
dataset or graph store to be updated. See <code>etc/</code> for examples.</li>
</ul>
<h3 id="arqrset"><code>arq.rset</code></h3>
<p>Read and write result sets.</p>
<p>In particular,</p>
<pre><code>java -cp ... arq.rset --in xml --out text
</code></pre>
<p>will translate a SPARQL XML Result Set into a tabular text form.</p>
<h3 id="arqqexpr"><code>arq.qexpr</code></h3>
<p>Read and print an expression (something that can go in a <code>FILTER</code>
clause). Indicates whether an evaluation exception occurred.</p>
<p>The <code>-v</code> argument prints the parsed expression.</p>
<h3 id="arqremote"><code>arq.remote</code></h3>
<p>Execute a request on a remote SPARQL endpoint using HTTP.</p>
<ul>
<li><code>--service URL</code> : The endpoint.</li>
<li><code>--data FILE</code> : Dataset description (default graph) added to
the request.</li>
<li><code>--namedgraph FILE</code> : Dataset description (named graph) added
to the request.</li>
<li><code>--results FORMAT</code> : Write results in specified format. Does
not change the request to the server which is always for an XML
form.</li>
</ul>


        </div>
    </div>

</div>

<footer class="footer">
    <div class="container" style="font-size:80%" >
        <p>
            Copyright &copy; 2011&ndash;2022 The Apache Software Foundation, Licensed under the
            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
        </p>
        <p>
            Apache Jena, Jena, the Apache Jena project logo, Apache and the Apache feather logos are trademarks of
            The Apache Software Foundation.
            <br/>
          <a href="https://privacy.apache.org/policies/privacy-policy-public.html"
             >Apache Software Foundation Privacy Policy</a>.
        </p>
    </div>
</footer>


<script type="text/javascript">
    var link = $('a[href="' + this.location.pathname + '"]');
    if (link != undefined)
        link.parents('li,ul').addClass('active');
</script>

</body>
</html>
