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

    <title>Apache Jena - Apache Jena Fuseki</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/fuseki2/__index.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 active">FUSEKI2</li>
            
            
        
    
</ol>




            </div>
            <h1 class="title">Apache Jena Fuseki</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="#contents">Contents</a></li>
    <li><a href="#download-fuseki-with-ui">Download Fuseki with UI</a>
      <ul>
        <li><a href="#previous-releases">Previous releases</a></li>
        <li><a href="#development-builds">Development Builds</a></li>
      </ul>
    </li>
    <li><a href="#getting-started-with-fuseki">Getting Started With Fuseki</a></li>
    <li><a href="#how-to-contribute">How to Contribute</a>
      <ul>
        <li><a href="#source-code">Source code</a></li>
      </ul>
    </li>
  </ul>
</nav>
  </aside>
  <article class="flex-column me-lg-4">
    <p>Apache Jena Fuseki is a SPARQL server.  It can run as an operating system
service, as a Java web application (WAR file), and as a standalone server.</p>
<p>Fuseki comes in two forms, a single system &ldquo;webapp&rdquo;, combined with a UI
for admin and query, and as &ldquo;main&rdquo;, a server suitable to run as part of a larger
deployment, including <a href="fuseki-main.html#docker">with Docker</a> or running embedded.
Both forms use the same core protocol engine and <a href="fuseki-configuration.html">same configuration file
format</a>.</p>
<p>Fuseki provides the
SPARQL 1.1 <a href="http://www.w3.org/TR/sparql11-protocol/">protocols for query and update</a>
as well as the
<a href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph Store protocol</a>.</p>
<p>Fuseki is tightly integrated with <a href="../tdb/index.html">TDB</a> to provide a robust,
transactional persistent storage layer, and incorporates
<a href="../query/text-query.html">Jena text query</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#download-fuseki-with-ui">Download with UI</a></li>
<li><a href="#getting-started-with-fuseki">Getting Started</a></li>
<li><a href="fuseki-webapp.html">Running Fuseki with UI</a>
<ul>
<li><a href="fuseki-webapp.html#fuseki-standalone-server">As a standalone server with UI</a></li>
<li><a href="fuseki-webapp.html#fuseki-service">As a service</a></li>
<li><a href="fuseki-webapp.html#fuseki-web-application">As a web application</a></li>
<li><a href="fuseki-security.html">Security</a> with <a href="https://shiro.apache.org/">Apache Shiro</a></li>
</ul>
</li>
<li><a href="fuseki-main.html">Running Fuseki Server</a>
<ul>
<li><a href="fuseki-main.html#setup">Setup</a></li>
<li><a href="fuseki-main#fuseki-docker">As a Docker container</a></li>
<li><a href="fuseki-embedded.html">As an embedded SPARQL server</a></li>
<li><a href="fuseki-data-access-control.html">Security and data access control</a></li>
<li><a href="fuseki-logging.html">Logging</a></li>
</ul>
</li>
<li><a href="fuseki-configuration.html">Fuseki Configuration</a></li>
<li><a href="fuseki-server-info.html">Server Statistics and Metrics</a></li>
<li><a href="#how-to-contribute">How to Contribute</a></li>
<li>Client access
<ul>
<li><a href="../rdfconnection">Use from Java</a></li>
<li><a href="soh.html">SPARQL Over HTTP</a> - scripts to help with data management.</li>
</ul>
</li>
<li>Extending Fuseki with <a href="fuseki-modules.html">Fuseki Modules</a></li>
<li><a href="rdf-sparql-standards.html">Links to Standards</a></li>
</ul>
<p>The Jena users mailing is the place to get help with Fuseki.</p>
<p><a href="/help_and_support/#email-support-lists">Email support lists</a></p>
<h2 id="download-fuseki-with-ui">Download Fuseki with UI</h2>
<p>Releases of Apache Jena Fuseki can be downloaded from one of the mirror sites:</p>
<p><a href="/download">Jena Downloads</a></p>
<p>and previous releases are available from <a href="https://archive.apache.org/dist/jena/">the archive</a>.
We strongly recommend that users use the latest official Apache releases of Jena Fuseki in
preference to any older versions.</p>
<p><strong>Fuseki download files</strong></p>
<table>
<thead>
<tr>
<th>Filename</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>apache-jena-fuseki-*VER*.zip</code></td>
<td>Fuseki with UI download</td>
</tr>
<tr>
<td><a href="https://repo1.maven.org/maven2/org/apache/jena/jena-fuseki-server"><code>jena-fuseki-server</code></a></td>
<td>The Fuseki Main packaging</td>
</tr>
</tbody>
</table>
<p><code>apache-jena-fuseki-*VER*.zip</code> contains both a war file and an executable jar.</p>
<p>Fuskei Main is also available as a Maven artifact:</p>
<pre><code>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.jena&lt;/groupId&gt;
   &lt;artifactId&gt;jena-fuseki-main&lt;/artifactId&gt;
   &lt;version&gt;X.Y.Z&lt;/version&gt;
&lt;/dependency&gt;
</code></pre>
<h3 id="previous-releases">Previous releases</h3>
<p>While previous releases are available, we strongly recommend that wherever
possible users use the latest official Apache releases of Jena in
preference to using any older versions of Jena.</p>
<p>Previous Apache Jena releases can be found in the Apache archive area
at <a href="http://archive.apache.org/dist/jena/">https://archive.apache.org/dist/jena</a></p>
<h3 id="development-builds">Development Builds</h3>
<p>Regular development builds of all of Jena are available (these are not
formal releases) from the
<a href="https://repository.apache.org/snapshots/org/apache/jena">Apache snapshots maven repository</a>.
This includes packaged builds of Fuseki.</p>
<h2 id="getting-started-with-fuseki">Getting Started With Fuseki</h2>
<p>The <a href="fuseki-quick-start.html">quick start</a> section serves as a basic
guide to getting a Fuseki server running on your local machine.</p>
<p>See <a href="fuseki-webapp.html">all the ways to run Fuseki</a> for complete coverage of all the
deployment methods for Fuseki.</p>
<h2 id="how-to-contribute">How to Contribute</h2>
<p>We welcome contributions towards making Jena a better platform for semantic
web and linked data applications.  We appreciate feature suggestions, bug
reports and patches for code or documentation.</p>
<p>See &ldquo;<a href="/getting_involved/index.html">Getting Involved</a>&rdquo; for ways to
contribute to Jena and Fuseki, including patches and making github
pull-requests.</p>
<h3 id="source-code">Source code</h3>
<p>The development codebase is available from git.</p>
<p>Development builds (not a formal release):
<a href="https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-fuseki/">SNAPSHOT</a></p>
<p>Source code:
<a href="https://github.com/apache/jena/tree/main/jena-fuseki2">https://github.com/apache/jena/tree/main/jena-fuseki2</a></p>
<p>The Fuseki code is under &ldquo;jena-fuseki2/&rdquo;:</p>
<table>
<thead>
<tr>
<th>Code</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td>jena-fuseki-core</td>
<td>The Fuseki engine. All SPARQL operations.</td>
</tr>
<tr>
<td><b>Fuseki/Main</b></td>
<td></td>
</tr>
<tr>
<td>jena-fuseki-main</td>
<td>Embedded server and command line</td>
</tr>
<tr>
<td>jena-fuseki-server</td>
<td>Build the combined jar for Fusek/main server</td>
</tr>
<tr>
<td>jena-fuseki-docker</td>
<td>Build a docker conntained based on Fusek/main</td>
</tr>
<tr>
<td><b>Webapp </b></td>
<td></td>
</tr>
<tr>
<td>jena-fuseki-webapp</td>
<td>Web application and command line startup</td>
</tr>
<tr>
<td>jena-fuseki-fulljar</td>
<td>Build the combined jar for Fuseki/UI server</td>
</tr>
<tr>
<td>jena-fuseki-war</td>
<td>Build the war file for  Fusek/UI server</td>
</tr>
<tr>
<td>apache-jena-fuseki</td>
<td>The download for Fuskei</td>
</tr>
<tr>
<td><b>Other</b></td>
<td></td>
</tr>
<tr>
<td>jena-fuseki-access</td>
<td><a href="fuseki-data-access-control.html">Data access control</a></td>
</tr>
<tr>
<td>jena-fuseki-geosparql</td>
<td>Integration for GeoSPARQL</td>
</tr>
</tbody>
</table>

  </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="#contents">Contents</a></li>
    <li><a href="#download-fuseki-with-ui">Download Fuseki with UI</a>
      <ul>
        <li><a href="#previous-releases">Previous releases</a></li>
        <li><a href="#development-builds">Development Builds</a></li>
      </ul>
    </li>
    <li><a href="#getting-started-with-fuseki">Getting Started With Fuseki</a></li>
    <li><a href="#how-to-contribute">How to Contribute</a>
      <ul>
        <li><a href="#source-code">Source code</a></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>
