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

    <title>Apache Jena - Jena-related projects and tools</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/about_jena/contributions.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='/about_jena'>ABOUT JENA</a></li>
            
            
        
    
        
        
            
                <li class="breadcrumb-item active">CONTRIBUTIONS.HTML</li>
            
            
        
    
</ol>




            </div>
            <h1 class="title">Jena-related projects and tools</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="#related-projects">Related projects</a></li>
  </ul>
</nav>
  </aside>
  <article class="flex-column me-lg-4">
    <p>This page lists various projects and tools related to Jena - classes, packages,
libraries, applications, or ontologies that enhance Jena or are
built on top of it. These projects are not part of the Jena project itself, but
may be useful to Jena users.</p>
<p>This list is provided for information purposes only, and is not meant as an
endorsement of the mentioned projects by the Jena team.</p>
<p>If you wish your contribution to appear on this page, please raise a
GitHub issue with the details to be published.</p>
<h2 id="related-projects">Related projects</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>License</th>
<th>Creator</th>
<th>URL</th>
</tr>
</thead>
<tbody>
<tr>
<td>GeoSPARQL Jena</td>
<td>Implementation of GeoSPARQL 1.0 standard using Apache Jena for SPARQL query or API.</td>
<td>Apache 2.0</td>
<td>Greg Albiston and Haozhe Chen</td>
<td><a href="https://github.com/galbiston/geosparql-jena">geosparql-jena at GitHub</a></td>
</tr>
<tr>
<td>GeoSPARQL Fuseki</td>
<td>HTTP server application compliant with the GeoSPARQL standard using GeoSPARQL Jena library and Apache Jena Fuseki server</td>
<td>Apache 2.0</td>
<td>Greg Albiston</td>
<td><a href="https://github.com/galbiston/geosparql-fuseki">geosparql-fuseki at GitHub</a></td>
</tr>
<tr>
<td>Jastor</td>
<td>Code generator that emits Java Beans from OWL Web Ontologies</td>
<td>Common Public License</td>
<td>Ben Szekely and Joe Betz</td>
<td><a href="https://jastor.sourceforge.net">Jastor website</a></td>
</tr>
<tr>
<td>NG4J</td>
<td>Named Graphs API for Jena</td>
<td>BSD license</td>
<td>Chris Bizer</td>
<td><a href="http://wifo5-03.informatik.uni-mannheim.de/bizer/ng4j/">NG4J website</a></td>
</tr>
<tr>
<td>Micro Jena (uJena)</td>
<td>Reduced version of Jena for mobile devices</td>
<td>as per Jena</td>
<td>Fulvio Crivellaro and Gabriele Genovese and Giorgio Orsi</td>
<td><a href="http://poseidon.elet.polimi.it/ca/?page_id=59">Micro Jena</a></td>
</tr>
<tr>
<td>Gloze</td>
<td>XML to RDF, RDF to XML, XSD to OWL mapping tool</td>
<td>as per Jena</td>
<td>Steve Battle</td>
<td><a href="https://sourceforge.net/project/showfiles.php?group_id=40417">jena files page</a></td>
</tr>
<tr>
<td>WYMIWYG KnoBot</td>
<td>A fully Jena based semantic CMS. Implements URIQA. File-based persistence.</td>
<td>Apache</td>
<td>Reto Bachmann-Gmuer / wymiwyg.org</td>
<td><a href="https://sourceforge.net/project/showfiles.php?group_id=83223">Download KnoBot</a></td>
</tr>
<tr>
<td>Infinite Graph</td>
<td>An infinite graph implementation for RDF graphs</td>
<td>BSD</td>
<td>UTD</td>
<td><a href="http://ig.semanticsupport.org/">Infinite Graph for Jena</a></td>
</tr>
<tr>
<td>Twinkle</td>
<td>A GUI interface for working with SPARQL queries</td>
<td>Public Domain</td>
<td>Leigh Dodds</td>
<td><a href="http://www.ldodds.com/projects/twinkle">Twinkle project homepage</a></td>
</tr>
<tr>
<td>GLEEN</td>
<td>A path expression (a.k.a. &ldquo;regular paths&rdquo;) property function library for ARQ SparQL</td>
<td>Apache 2.0</td>
<td>Todd Detwiler - University of Washington Structural Informatics Group</td>
<td><a href="http://sig.biostr.washington.edu/projects/ontviews/gleen/index.html">GLEEN home</a></td>
</tr>
<tr>
<td>Jena Sesame Model</td>
<td>Jena Sesame Model - Sesame triple store for Jena models</td>
<td>GNU</td>
<td>Weijian Fang</td>
<td><a href="https://sourceforge.net/projects/jenasesamemodel/">Jena Sesame Model</a></td>
</tr>
<tr>
<td>D2RQ</td>
<td>Treats non-RDF databases as virtual Jena RDF graphs</td>
<td>GNU GPL License</td>
<td>Chris Bizer</td>
<td><a href="http://d2rq.org/">D2RQ website</a></td>
</tr>
<tr>
<td>GeoSpatialWeb</td>
<td>This projects adds geo-spatial predicates and reasoning features to Jena property functions.</td>
<td>GNU GPL License</td>
<td>Marco Neumann and Taylor Cowan</td>
<td><a href="https://code.google.com/p/geospatialweb/">GeoSpatialWeb</a></td>
</tr>
<tr>
<td>Jenabean</td>
<td>Jenabean uses Jena&rsquo;s flexible RDF/OWL API to persist Java beans.</td>
<td>Apache 2.0</td>
<td>Taylor Cowan and David Donohue</td>
<td><a href="https://code.google.com/p/jenabean/">Jenabean project page</a></td>
</tr>
<tr>
<td>Persistence Annotations 4 RDF</td>
<td>Persistence Annotation for RDF (PAR) is a set of annotations and an entity manager that provides JPA like functionality on top of an RDF store while accounting for and exploiting the fundamental differences between graph storage and relational storage. PAR introduces three (3) annotations that map a RDF triple (subject, predicate, object) to a Plain Old Java Object (POJO) using Java&rsquo;s dynamic proxy capabilities.</td>
<td>Apache 2.0</td>
<td>Claude Warren</td>
<td><a href="https://sourceforge.net/projects/pa4rdf/">PA4RDF at Sourceforge</a></td>
</tr>
<tr>
<td>Semantic_Forms</td>
<td>Swiss army knife for data management and social networking.</td>
<td>open source</td>
<td>Jean-Marc Vanel</td>
<td><a href="https://github.com/jmvanel/semantic_forms">Semantic_Forms</a></td>
</tr>
<tr>
<td>JDBC 4 SPARQL</td>
<td>JDBC 4 SPARQL is a type 4 JDBC Driver that uses a SPARQL endpoint (or Jena Model) as the data store.  Presents graph data as relational data to tools that understand SQL and utilize JDBC</td>
<td>Apache 2.0 (Some components GNU LGPL V3.0)</td>
<td>Claude Warren</td>
<td><a href="https://github.com/Claudenw/jdbc4sparql">jdbc4sparql at GitHub</a></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="#related-projects">Related projects</a></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>
