TDB Command-line Utilities



From Apache Jena version 2.7.x 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 downloads page for details on getting the latest Jena release.


From the location The directory bin/ 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 Cygwin and Mac/OS systems. The directory bat/ contains Windows batch files which provide the same functionality for Windows systems that are not using Cygwin.

Script set up - bash scripts

Set the environment variable JENAROOT to the root of the the Jena installation. E.g:

export JENAROOT=/home/somebody/dev/apache-jena


export JENAROOT=/usr/local/apache-jena

Then set the PATH to include the bin directory:


This can be done in .bashrc, or its equivalent on Mac OS/X, to ensure that the environment variables are always available.

Script set up - Windows batch files

Setting environment variables in Windows is slightly involved. You can set them each time you start a command prompt:

SET JENAROOT=\Users\somebody\dev\apache-jena

or you can follow this guide or one like it to set the environment variables so that they are available every time you launch the command prompt.

Command line script arguments

Each command then has command-specific arguments described below.

All commands support --help to give details of named and positional arguments.

There are two equivalent forms of named argument syntax:


--arg val

Setting options from the command line

TDB has a number of configuration options which can be set from the command line using:

 --set tdb:symbol=value

Using tdb: is really a short hand for the URI prefix so the full URI form is


TDB Commands

Store description

TDB commands use an assembler description for the persistent store


or a direct reference to the directory with the index and node files:


The assembler description follow the form for a dataset given in TDB assembler description page.

If neither assembler file nor location is given, --desc=tdb.ttl is assumed.


Bulk loader and index builder. Performans bulk load operations more efficiently than simply reading RDF into a TDB-back model.


Bulk loader and index builder. Faster than tdbloader but only works on Linux and Mac OS/X since it relies on some Unix system utilities.

This bulk loader can only be used to create a database. It may overwrite existing data. It only accepts the --loc argument and a list of files to load.


Invoke a SPARQL query on a store. Use --time for timing information. The store is attached on each run of this command so timing includes some overhead not present in a running system.

Details about query execution can be obtained -- see notes on the TDB Optimizer.


Dump the store in N-Quads format.


Produce a statistics for the dataset. See the TDB Optimizer description..