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

    <title>Apache Jena - TDB Command-line Utilities</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-icons.css" rel="stylesheet" media="screen"><link rel="stylesheet" type="text/css" href="https://jena.apache.org/sass/jena.1b17c39a117e22b46db4c66f6395dc27c134a60377d87d2d5745b8600eb69722.css" integrity="sha256-GxfDmhF&#43;IrRttMZvY5XcJ8E0pgN32H0tV0W4YA62lyI=">
    <link rel="shortcut icon" href="/images/favicon.ico" />
    
</head>

<body>

<nav class="navbar navbar-expand-lg bg-body-tertiary" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></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" id="navbarNav">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                <li id="homepage" class="nav-item"><a class="nav-link" href="/index.html"><span class="bi-house"></span> Home</a></li>
                <li id="download" class="nav-item"><a class="nav-link" href="/download/index.cgi"><span class="bi-download"></span> Download</a></li>
                <li class="nav-item dropdown">
                    <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false"><span class="bi-journal"></span> Learn <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">Tutorials</li>
                        <li><a class="dropdown-item" href="/tutorials/index.html">Overview</a></li>
                        <li><a class="dropdown-item"  href="/documentation/fuseki2/index.html">Fuseki Triplestore</a></li>
                        <li><a class="dropdown-item"  href="/documentation/notes/index.html">How-To's</a></li>
                        <li><a class="dropdown-item"  href="/documentation/query/manipulating_sparql_using_arq.html">Manipulating SPARQL using ARQ</a></li>
                        <li><a class="dropdown-item"  href="/tutorials/rdf_api.html">RDF core API tutorial</a></li>
                        <li><a class="dropdown-item"  href="/tutorials/sparql.html">SPARQL tutorial</a></li>
                        <li><a class="dropdown-item"  href="/tutorials/using_jena_with_eclipse.html">Using Jena with Eclipse</a></li>
                        <li class="dropdown-divider"></li>
                        <li class="dropdown-header">References</li>
                        <li><a class="dropdown-item"  href="/documentation/index.html">Overview</a></li>
                        <li><a class="dropdown-item"  href="/documentation/query/index.html">ARQ (SPARQL)</a></li>
                        <li><a class="dropdown-item"  href="/documentation/io/">RDF I/O</a></li>
                        <li><a class="dropdown-item"  href="/documentation/assembler/index.html">Assembler</a></li>
                        <li><a class="dropdown-item"  href="/documentation/tools/index.html">Command-line tools</a></li>
                        <li><a class="dropdown-item"  href="/documentation/rdfs/">Data with RDFS Inferencing</a></li>
                        <li><a class="dropdown-item"  href="/documentation/geosparql/index.html">GeoSPARQL</a></li>
                        <li><a class="dropdown-item"  href="/documentation/inference/index.html">Inference API</a></li>
                        <li><a class="dropdown-item"  href="/documentation/ontology/">Ontology API</a></li>
                        <li><a class="dropdown-item"  href="/documentation/permissions/index.html">Permissions</a></li>
                        <li><a class="dropdown-item"  href="/documentation/extras/querybuilder/index.html">Query Builder</a></li>
                        <li><a class="dropdown-item"  href="/documentation/rdf/index.html">RDF API</a></li>
                        <li><a class="dropdown-item"  href="/documentation/rdfconnection/">RDF Connection - SPARQL API</a></li>
                        <li><a class="dropdown-item"  href="/documentation/rdfstar/index.html">RDF-star</a></li>
                        <li><a class="dropdown-item"  href="/documentation/shacl/index.html">SHACL</a></li>
                        <li><a class="dropdown-item"  href="/documentation/shex/index.html">ShEx</a></li>
                        <li><a class="dropdown-item"  href="/documentation/tdb/index.html">TDB</a></li>
                        <li><a class="dropdown-item"  href="/documentation/tdb2/index.html">TDB2</a></li>
                        <li><a class="dropdown-item"  href="/documentation/query/text-query.html">Text Search</a></li>
                    </ul>
                </li>

                <li class="nav-item dropdown">
                    <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false"><span class="bi-journal-code"></span> Javadoc <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a class="dropdown-item" href="/documentation/javadoc.html">All Javadoc</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/arq/">ARQ</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/fuseki2/">Fuseki</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/geosparql/">GeoSPARQL</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/jena/">Jena Core</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/permissions/">Permissions</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/extras/querybuilder/">Query Builder</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/shacl/">SHACL</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/tdb/">TDB</a></li>
                        <li><a class="dropdown-item" href="/documentation/javadoc/text/">Text Search</a></li>
                    </ul>
                </li>
            </ul>
            <form class="d-flex" role="search" action="/search" method="GET">
                <div class="input-group">
                    <input class="form-control border-end-0 border m-0" type="search" name="q" id="search-query" placeholder="Search...." aria-label="Search" style="width: 10rem;">
                    <button class="btn btn-outline-secondary border-start-0 border" type="submit">
                        <i class="bi-search"></i>
                    </button>
                </div>
            </form>
            <ul class="navbar-nav">
                <li id="ask" class="nav-item"><a class="nav-link" href="/help_and_support/index.html" title="Ask"><span class="bi-patch-question"></span><span class="text-body d-none d-xxl-inline"> Ask</span></a></li>

                <li class="nav-item dropdown">
                    <a href="#" title="Get involved" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false"><span class="bi-megaphone"></span><span class="text-body d-none d-xxl-inline"> Get involved </span><b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a class="dropdown-item" href="/getting_involved/index.html">Contribute</a></li>
                        <li><a class="dropdown-item" href="/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
                        <li class="dropdown-divider"></li>
                        <li class="dropdown-header">Project</li>
                        <li><a class="dropdown-item" href="/about_jena/about.html">About Jena</a></li>
                        <li><a class="dropdown-item" href="/about_jena/architecture.html">Architecture</a></li>
                        <li><a class="dropdown-item" href="/about_jena/citing.html">Citing</a></li>
                        <li><a class="dropdown-item" href="/about_jena/team.html">Project team</a></li>
                        <li><a class="dropdown-item" href="/about_jena/contributions.html">Related projects</a></li>
                        <li><a class="dropdown-item" href="/about_jena/roadmap.html">Roadmap</a></li>
                        <li><a class="dropdown-item" href="/about_jena/security-advisories.html">Security Advisories</a></li>
                        <li class="dropdown-divider"></li>
                        <li class="dropdown-header">ASF</li>
                        <li><a class="dropdown-item" href="https://www.apache.org/">Apache Software Foundation</a></li>
                        <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
                        <li><a class="dropdown-item" href="https://www.apache.org/licenses/LICENSE-2.0">License</a></li>
                        <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
                        <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                    </ul>
                </li>
                
                
                
                
                <li class="nav-item" id="edit"><a class="nav-link" href="https://github.com/apache/jena-site/edit/main/source/documentation/tdb/commands.md" title="Edit this page on GitHub"><span class="bi-pencil-square"></span><span class="text-body d-none d-xxl-inline"> Edit this page</span></a></li>
            </ul>
        </div>
    </div>
</nav>

<div class="container">
    <div class="row">
        <div class="col-md-12">
            
            <div id="breadcrumbs">
                





<ol class="breadcrumb mt-4 p-2 bg-body-tertiary">
    
    
        
        
    
        
        
            
                <li class="breadcrumb-item"><a href='/documentation'>DOCUMENTATION</a></li>
            
            
        
    
        
        
            
                <li class="breadcrumb-item"><a href='/documentation/tdb'>TDB</a></li>
            
            
        
    
        
        
            
                <li class="breadcrumb-item active">COMMANDS.HTML</li>
            
            
        
    
</ol>




            </div>
            <h1 class="title">TDB Command-line Utilities</h1>
            
            
<main class="d-flex flex-xl-row flex-column">
  
  <aside class="text-muted align-self-start mb-3 p-0 d-xl-none d-block">
    <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
    <nav id="TableOfContents">
  <ul>
    <li><a href="#installation">Installation</a></li>
    <li><a href="#scripts">Scripts</a>
      <ul>
        <li><a href="#script-set-up">Script set up</a></li>
      </ul>
    </li>
    <li><a href="#command-line-script-arguments">Command line script arguments</a>
      <ul>
        <li><a href="#setting-options-from-the-command-line">Setting options from the command line</a></li>
      </ul>
    </li>
    <li><a href="#tdb-commands">TDB Commands</a>
      <ul>
        <li><a href="#store-description">Store description</a></li>
        <li><a href="#tdbloader"><code>tdbloader</code></a></li>
        <li><a href="#tdb-xloader">tdb.xloader</a></li>
        <li><a href="#tdbquery"><code>tdbquery</code></a></li>
        <li><a href="#tdbdump"><code>tdbdump</code></a></li>
        <li><a href="#tdbstats"><code>tdbstats</code></a></li>
        <li><a href="#tdbloader2"><code>tdbloader2</code></a>
          <ul>
            <li><a href="#advanced-tdbloader2-usage">Advanced <code>tdbloader2</code> Usage</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</nav>
  </aside>
  <article class="flex-column me-lg-4">
    <h2 id="installation">Installation</h2>
<p>From Apache Jena version <code>2.7.x</code> onwards, TDB is now installed as part of a single integrated Jena
package. There is no longer a need to install a separate TDB package to run the TDB command line
tools, or to use TDB in your Java programs. See the <a href="/download/index.cgi">downloads</a> page
for details on getting the latest Jena release.</p>
<h2 id="scripts">Scripts</h2>
<p>From the location The directory <code>bin/</code> contains shell scripts to run the commands
from the command line. The scripts are bash scripts which should work
on Linux systems, Windows systems using <a href="http://www.cygwin.com/">Cygwin</a> and
Mac/OS systems. The directory <code>bat/</code> contains Windows batch files which
provide the same functionality for Windows systems that are not using
Cygwin.</p>
<h3 id="script-set-up">Script set up</h3>
<p>The TDB tools are included in the jena toolset. See the
<a href="../tools/">command line tools page</a>.</p>
<h2 id="command-line-script-arguments">Command line script arguments</h2>
<p>Each command then has command-specific arguments described below.</p>
<p>All commands support <code>--help</code> to give details of named and
positional arguments.</p>
<p>There are two equivalent forms of named argument syntax:</p>
<pre><code>--arg=val

--arg val
</code></pre>
<h3 id="setting-options-from-the-command-line">Setting options from the command line</h3>
<p>TDB has a number of
<a href="configuration.html">configuration options</a>
which can be set from the command line using:</p>
<pre><code> --set tdb:symbol=value
</code></pre>
<p>Using tdb: is really a short hand for the URI prefix
<a href="http://jena.hpl.hp.com/TDB">http://jena.hpl.hp.com/TDB</a># so the full URI form is</p>
<pre><code> --set http://jena.hpl.hp.com/TDB#symbol=value
</code></pre>
<h2 id="tdb-commands">TDB Commands</h2>
<h3 id="store-description">Store description</h3>
<p>TDB commands use an assembler description for the persistent store</p>
<pre><code>--desc=assembler.ttl
--tdb=assembler.ttl
</code></pre>
<p>or a direct reference to the directory with the index and node
files:</p>
<pre><code>--loc=DIRECTORY
--location=DIRECTORY
</code></pre>
<p>The assembler description follow the form for a dataset given in
<a href="assembler.html" title="TDB/Assembler">TDB assembler description</a> page.</p>
<p>If neither assembler file nor location is given, <code>--desc=tdb.ttl</code>
is assumed.</p>
<h3 id="tdbloader"><code>tdbloader</code></h3>
<pre><code>tdbloader --loc /path/for/database ...input files ...
</code></pre>
<p>Input files can be any RDF syntax; triple formats (e.g. N-Triples, Turtle)
are loaded into the default graph, quad formats (e.g. N-Quads, TriG)
are loaded into the dataset according to the name or the default graph.</p>
<p>Bulk loader and index builder. Performs bulk load operations more
efficiently than simply reading RDF into a TDB-back model.</p>
<h3 id="tdb-xloader">tdb.xloader</h3>
<p><code>tdb1.xloader</code> and <code>tdb2.xloader</code> are bulk loaders for very large data for TDB1
and TDB2.</p>
<p>See <a href="./tdb-xloader.html">TDB xloader</a> for more information. These loaders only
work on Linux since it relies on some Unix system utilities.</p>
<h3 id="tdbquery"><code>tdbquery</code></h3>
<p>Invoke a SPARQL query on a store. Use <code>--time</code> for timing
information. The store is attached on each run of this command so
timing includes some overhead not present in a running system.</p>
<p>Details about query execution can be obtained &ndash; see notes on the
<a href="optimizer.html#investigating-what-is-going-on">TDB Optimizer</a>.</p>
<h3 id="tdbdump"><code>tdbdump</code></h3>
<p>Dump the store in
<a href="http://www.w3.org/TR/n-quads/">N-Quads</a>
format.</p>
<h3 id="tdbstats"><code>tdbstats</code></h3>
<p>Produce a statistics for the dataset. See the
<a href="optimizer.html#statistics-rule-file">TDB Optimizer description.</a>.</p>
<h3 id="tdbloader2"><code>tdbloader2</code></h3>
<p><em>This has been replace by  <a href="./tdb-xloader.html">TDB xloader</a>.</em></p>
<p>This bulk loader can only be used to create a database. It may
overwrite existing data. It requires accepts the <code>--loc</code> argument and a
list of files to load e.g.</p>
<pre><code>tdbloader2 --loc /path/for/database input1.ttl input2.ttl ...
</code></pre>
<h4 id="advanced-tdbloader2-usage">Advanced <code>tdbloader2</code> Usage</h4>
<p>There are various other advanced options available to customise the
behaviour of the bulk loader.  Run with <code>--help</code> to see the full usage
summary.</p>
<p>It is possible to do builds in phases by using the <code>tdbloader2data</code> and
<code>tdbloader2index</code> scripts separately though this should only be used
by advanced users.  You can also do this by passing the <code>--phase</code>
argument to the <code>tdbloader2</code> script and specifying <code>data</code> or <code>index</code> as
desired.</p>
<p>The indexing phase of the build uses the <code>sort</code> utility to prepare the raw
data for indexing, this can potentially require large amounts of disk space
and the scripts will automatically check and warn/abort if the disk space
looks to be/is insufficient.</p>
<p>If you are building a large dataset (i.e. gigabytes of input data) you may
wish to have the <a href="http://www.ivarch.com/programs/pv.shtml">PipeViewer</a>
tool installed on your system as this will provide extra progress information
during the indexing phase of the build.</p>

  </article>
  
  <aside class="text-muted align-self-start mb-3 mb-xl-5 p-0 d-none d-xl-flex flex-column sticky-top">
    <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
    <nav id="TableOfContents">
  <ul>
    <li><a href="#installation">Installation</a></li>
    <li><a href="#scripts">Scripts</a>
      <ul>
        <li><a href="#script-set-up">Script set up</a></li>
      </ul>
    </li>
    <li><a href="#command-line-script-arguments">Command line script arguments</a>
      <ul>
        <li><a href="#setting-options-from-the-command-line">Setting options from the command line</a></li>
      </ul>
    </li>
    <li><a href="#tdb-commands">TDB Commands</a>
      <ul>
        <li><a href="#store-description">Store description</a></li>
        <li><a href="#tdbloader"><code>tdbloader</code></a></li>
        <li><a href="#tdb-xloader">tdb.xloader</a></li>
        <li><a href="#tdbquery"><code>tdbquery</code></a></li>
        <li><a href="#tdbdump"><code>tdbdump</code></a></li>
        <li><a href="#tdbstats"><code>tdbstats</code></a></li>
        <li><a href="#tdbloader2"><code>tdbloader2</code></a>
          <ul>
            <li><a href="#advanced-tdbloader2-usage">Advanced <code>tdbloader2</code> Usage</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</nav>
  </aside>
</main>

        </div>
    </div>
</div>

<footer class="bd-footer py-4 py-md-5 mt-4 mt-lg-5 bg-body-tertiary">
    <div class="container" style="font-size:80%" >
        <p>
            Copyright &copy; 2011&ndash;2024 The Apache Software Foundation, Licensed under the
            <a href="https://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 src="/js/popper.min.js.js" type="text/javascript"></script>
<script src="/js/bootstrap.min.js" type="text/javascript"></script>
<script src="/js/improve.js" type="text/javascript"></script>

<script type="text/javascript">
(function() {
    'use strict'
    
    

    const links = document.querySelectorAll(`a[href="${window.location.pathname}"]`)
    if (links !== undefined && links !== null) {
        for (const link of links) {
            
            link.classList.add('active')
            let parentElement = link.parentElement
            let count = 0
            const levelsLimit = 4
            
            
            
            
            
            while (['UL', 'LI'].includes(parentElement.tagName) && count <= levelsLimit) {
                if (parentElement.tagName === 'LI') {
                    
                    
                    
                    parentElement.querySelector('a:first-child').classList.add('active')
                }
                parentElement = parentElement.parentElement
                count++
            }
        }
    }
})()
</script>

</body>
</html>
