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

    <title>Apache Jena - TDB Assembler</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/tdb/assembler.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/tdb'>TDB</a></li>
            
            
        
    
        
        
            
                <li class="active">ASSEMBLER</li>
            
            
        
    
</ol>




                
            </div>
            <h1 class="title">TDB Assembler</h1>
            
	<p><a href="/documentation/assembler/">Assemblers</a>
are a general mechanism in Jena to describe objects to be built,
often these objects are models and datasets. Assemblers are used
heavily in <a href="../fuseki2/">Fuseki</a> for
dataset and model descriptions, for example.</p>
<p>SPARQL queries operate over an
<a href="http://www.w3.org/TR/sparql11-query/#rdfDataset" title="http://www.w3.org/TR/rdf-sparql-query/#rdfDataset">RDF dataset</a>,
which is an unnamed, default graph and zero or more named graphs.</p>
<p>Having the description in a file means that the data that the
application is going to work on can be changed without changing the
program code.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#dataset">Dataset</a>
<ul>
<li><a href="#union-default-graph">Union Default Graph</a></li>
</ul>
</li>
<li><a href="#graph">Graph</a></li>
<li><a href="#mixed-datasets">Mixed Datasets</a></li>
<li><a href="#rdfs">RDFS</a></li>
</ul>
<h2 id="dataset">Dataset</h2>
<p>This is needed for use in <a href="../fuseki2/" title="Fuseki">Fuseki</a>.</p>
<p>A dataset can be constructed in an assembler file:</p>
<pre><code>PREFIX tdb:     &lt;http://jena.hpl.hp.com/2008/tdb#&gt;
PREFIX rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX ja:      &lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;

&lt;#dataset&gt; rdf:type         tdb:DatasetTDB ;
    tdb:location &quot;DB&quot; ;
    .
</code></pre>
<p>Only one dataset can be stored in a location (filing system
directory).</p>
<p>The first section declares the prefixes used later:</p>
<pre><code>PREFIX tdb:     &lt;http://jena.hpl.hp.com/2008/tdb#&gt;
PREFIX rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX ja:      &lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;
</code></pre>
<p>then there is the description of the TDB dataset itself:</p>
<pre><code>&lt;#dataset&gt; rdf:type tdb:DatasetTDB ;
    tdb:location &quot;DB&quot; ;
</code></pre>
<p>The property <code>tdb:location</code> gives the file name as a string. It is
relative to the applications current working directory, not where
the assembler file is read from.</p>
<p>The dataset description is usually found by looking for the one
subject with type <code>tdb:GraphDataset</code>. If more than one graph is
given in a single file, the application will have to specify which
description it wishes to use.</p>
<h3 id="union-default-graph">Union Default Graph</h3>
<p>An assembler can specify that the default graph for query is the
union of the named graphs. This is done by adding
<em>tdb:unionDefaultGraph</em>.</p>
<pre><code>&lt;#dataset&gt; rdf:type         tdb:DatasetTDB ;
    tdb:location &quot;DB&quot; ;
    tdb:unionDefaultGraph true ;
    .
</code></pre>
<h2 id="graph">Graph</h2>
<p>TDB always stores data in an RDF dataset.  It is possible to use
just one of the graphs from the dataset.  A common way of working
with one graph is to use the default graph of the dataset.</p>
<p>A single graph from a TDB dataset can be described by:</p>
<pre><code>PREFIX tdb:     &lt;http://jena.hpl.hp.com/2008/tdb#&gt;
PREFIX rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX ja:      &lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;

&lt;#dataset&gt; rdf:type tdb:DatasetTDB ;
    tdb:location &quot;DB&quot; ;

&lt;#graph&gt; rdf:type tdb:GraphTDB ;
    tdb:dataset &lt;#dataset&gt; .
</code></pre>
<p>A particular named graph in the dataset at a location can be
assembled with:</p>
<pre><code>&lt;#graphNamed&gt; rdf:type tdb:GraphTDB ;
    tdb:dataset &lt;#dataset&gt; ;
    tdb:graphName &lt;http://example/graph1&gt; ;
    .
</code></pre>
<h2 id="mixed-datasets">Mixed Datasets</h2>
<p>It is possible to create a dataset with graphs backed by different
storage subsystems, although query is not necessarily as
efficient.</p>
<p>To include as a named graph in a dataset use vocabulary as shown
below:</p>
<pre><code>PREFIX tdb:     &lt;http://jena.hpl.hp.com/2008/tdb#&gt;
PREFIX rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX ja:      &lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;

# A dataset of one TDB-backed graph as the default graph and 
# an in-memory graph as a named graph.
&lt;#dataset&gt; rdf:type      ja:RDFDataset ;
     ja:defaultGraph &lt;#graph&gt; ;
     ja:namedGraph
        [ ja:graphName      &lt;http://example.org/name1&gt; ;
          ja:graph          &lt;#graph2&gt; ] ;
     .

&lt;#graph&gt; rdf:type tdb:GraphTDB ;
    tdb:location &quot;DB&quot; ;
    .

&lt;#graph2&gt; rdf:type ja:MemoryModel ;
     ja:content [ja:externalContent &lt;file:Data/books.n3&gt; ] ;
     .
</code></pre>
<p>Note here we added:</p>
<pre><code>tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .
</code></pre>
<p>which provides for integration with complex model setups, such as
reasoners.</p>
<h2 id="rdfs">RDFS</h2>
<pre><code>PREFIX tdb:     &lt;http://jena.hpl.hp.com/2008/tdb#&gt;
PREFIX rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs:    &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX ja:      &lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;

tdb:Dataset a rdfs:Class .
tdb:GraphTDB a rdfs:Class .

tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .

tdb:location a rdf:Property ;
   # domain is tdb:Dataset or tdb:GraphTDB
   # The range is simple literal
   .

tdb:unionDefaultGraph a rdf:Property ;
   rdfs:domain tdb:Dataset ;
   # The range is xsd:boolean
   .

tdb:graphName a rdf:Property ;
   rdfs:domain tdb:GraphTDB ;
   # range is a URI
   .
</code></pre>


        </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>
