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

    <title>Apache Jena - Creating Jena models</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/notes/model-factory.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/notes'>NOTES</a></li>
            
            
        
    
        
        
            
                <li class="active">MODEL FACTORY</li>
            
            
        
    
</ol>




                
            </div>
            <h1 class="title">Creating Jena models</h1>
            
	<h2 id="introduction">Introduction</h2>
<p>Jena is a moderately complicated system, with several
different kinds of <code>Model</code> and ways of constructing them. This note
describes the Jena <code>ModelFactory</code>, a one-stop shop for
creating Jena models. <code>ModelFactory</code> lives in Java package
<code>org.apache.jena.rdf.model</code>.</p>
<p>This note is an introduction, not an exhaustive description. As
usual consult the Javadoc for details of the methods and classes to
use.</p>
<h2 id="simple-model-creation">Simple model creation</h2>
<p>The simplest way to create a model (if not the shortest) is to call
<code>ModelFactory.createDefaultModel()</code>. This [by default] delivers a
plain RDF model, stored in-memory, that does no inference and has
no special ontology interface.</p>
<h2 id="database-model-creation">Database model creation</h2>
<p>For methods of creating models for <a href="/documentation/tdb/index.html">TDB</a>
please see the relevant reference sections.</p>
<h2 id="inference-model-creation">Inference model creation</h2>
<p>An important feature of Jena is support for different kinds of
inference over RDF-based models (used for RDFS and OWL).
Inference models are constructed by applying <em>reasoners</em> to
<em>base models</em> and optionally <em>schema</em>. The statements deduced by
the reasoner from the base model then appear in the inferred model
alongside the statements from the base model itself.
RDFS reasoning is directly available:</p>
<ul>
<li>
<p><code>createRDFSModel(Model base)</code> creates an inference model over the
base model using the built-in RDFS inference rules and any RDFS
statements in the base model.</p>
</li>
<li>
<p><code>createRDFSModel(Model schema, Model base)</code> creates an RDFS
inference model from the base model and the supplied schema model.
The advantage of supplying the schema separately is that the
reasoner may be able to compute useful information in advance on
the assumption that the schema won&rsquo;t change, or at least not change
as often as the base model.</p>
</li>
</ul>
<p>It&rsquo;s possible to use other reasoning systems than RDFS. For these a
Reasoner is required:</p>
<ul>
<li>
<p><code>createInfModel(Reasoner reasoner, Model base)</code> creates an
inference model using the rules of <code>reasoner</code> over the model
<code>base</code>.</p>
</li>
<li>
<p><code>createInfModel(Reasoner reasoner, Model schema, Model base)</code> Just
as for the RDFS case, the schema may be supplied separately to
allow the reasoner to digest them before working on the model.</p>
</li>
</ul>
<p>From where do you fetch your reasoners? From the
<em>reasoner registry</em>, the class
<a href="/documentation/javadoc/jena/org/apache/jena/reasoner/ReasonerRegistry.html">ReasonerRegistry</a>.
This allows reasoners to be looked up by name, but also provides
some predefined access methods for well-know reasoners:</p>
<ul>
<li>
<p><code>getOWLReasoner()</code>: the reasoner used for OWL inference</p>
</li>
<li>
<p><code>getRDFSReasoner()</code>: the reasoner used for RDFS inference</p>
</li>
<li>
<p><code>getTransitiveReasoner()</code>: a reasoner for doing subclass and
sub-property closure.</p>
</li>
</ul>
<h2 id="ontology-model-creation">Ontology model creation</h2>
<p>An <em>ontology model</em> is one that presents RDF as an ontology -
classes, individuals, different kinds of properties, and so forth.
Jena supports RDFS and OWL ontologies through <em>profiles</em>.
There is extensive documentation on
<a href="../ontology/index.html">Jena&rsquo;s ontology support</a>, so all we&rsquo;ll do
here is summarise the creation methods.</p>
<ul>
<li>
<p><code>createOntologyModel()</code> Creates an ontology model which is
in-memory and presents OWL ontologies.</p>
</li>
<li>
<p><code>createOntologyModel(OntModelSpec spec, Model base)</code> Creates an
ontology model according the
<a href="/documentation/javadoc/jena/org/apache/jena/ontology/OntModelSpec.html">OntModelSpec</a>
<code>spec</code> which presents the ontology of <code>base</code>.</p>
</li>
<li>
<p><code>createOntologyModel(OntModelSpec spec, ModelMaker maker, Model base)</code>
Creates an OWL ontology model according to the <code>spec</code> over the
<code>base</code> model. If the ontology model needs to construct additional
models (for OWL imports), use the <code>ModelMaker</code> to create them. [The
previous method will construct a <code>MemModelMaker</code> for this.]</p>
</li>
</ul>
<p>Where do <code>OntModelSpec</code>s come from? There&rsquo;s a cluster of
constants in the class which provide for common uses; to name but
three:</p>
<ul>
<li>
<p><code>OntModelSpec.OWL_MEM_RDFS_INF</code> OWL ontologies, model stored in
memory, using RDFS entailment only</p>
</li>
<li>
<p><code>OntModelSpec.RDFS_MEM</code> RDFS ontologies, in memory, but doing no
additional inferences</p>
</li>
<li>
<p><code>OntModelSpec.OWL_DL_MEM_RULE_INF</code> OWL ontologies, in memory, with
the full OWL Lite inference</p>
</li>
</ul>
<h2 id="creating-models-from-assembler-descriptions">Creating models from Assembler descriptions</h2>
<p>A model can be built from a description of the required model.
This is documented in the
<a href="../assembler/assembler-howto.html">assembler howto</a>.
Access to the
assembler system for model creation is provided by three
ModelFactory methods:</p>
<ul>
<li>
<p><code>assembleModelFrom( Model singleRoot )</code>: assemble a Model from the
single Model description in <code>singleRoot</code>. If there is no such
description, or more than one, an exception is thrown. If a
description has to be selected from more than one available
candidates, consider using the methods below.</p>
</li>
<li>
<p><code>findAssemblerRoots( Model m )</code>: answer a Set of all the Resources
in <code>m</code> which are of type <code>ja:Model</code>, ie descriptions of models to
assemble. (Note that this will include sub-descriptions of embedded
models if they are present.)</p>
</li>
<li>
<p><code>assembleModelFrom( Resource root )</code>: answer a Model assembled
according to the description hanging from <code>root</code>.
Assemblers can construct other things as well as models, and the
Assembler system is user-extensible: see the howto for details.</p>
</li>
</ul>
<h3 id="file-based-models">File-based models</h3>
<p>The method <code>ModelFactory.createFileModelMaker(String)</code> returns a
<code>ModelMaker</code> which attaches models to filing-system files. The
<code>String</code> argument is the <em>fileBase</em>. When a file-ModelMaker opens a
file, it reads it from a file in the directory named by the
fileBase; when the model is closed (and <em>only</em> then, in the current
implementation), the contents of the model are written back to the
file.</p>
<p>Because the names of models in a modelMaker can be arbitrary
character strings, in particular URIs, they are translated slightly
to avoid confusion with significant characters of common filing
systems. In the current implementation,</p>
<ul>
<li>colon : is converted to \_C</li>
<li>slash / is converted to \_S</li>
<li>underbar _ is converted to \_U</li>
</ul>
<h2 id="modelmakers">ModelMakers</h2>
<p>Plain models can be given names which allows them to be &ldquo;saved&rdquo; and
looked up by name later. This is handled by implementations of the
interface <code>ModelMaker</code>; each <code>ModelMaker</code> produces Models of the
same kind. The simplest kind of <code>ModelMaker</code> is a memory model
maker, which you get by calling
<code>ModelFactory.createMemModelMaker()</code>. The methods you&rsquo;d want to use
to start with on a ModelMaker are:</p>
<ul>
<li>
<p><code>createModel(String)</code>: create a model with the given name in the
ModelMaker. If a model with that name already exists, then that
model is used instead.</p>
</li>
<li>
<p><code>openModel(String)</code>: open an existing model with the given name. If
no such model exists, create a new empty one and give it that name.
[createModel(String) and openModel(String) behave in the same way,
but each has a two-argument form for which the behaviour is
different. Use whichever one best fits your intention.]</p>
</li>
<li>
<p><code>createModel()</code>: create a fresh anonymous model.</p>
</li>
<li>
<p><code>getModel()</code>: each <code>ModelMaker</code> has a <em>default model</em>; this method
returns that model.</p>
</li>
</ul>
<p>There are other methods, for removing models, additional control
over create <em>vs</em> open, closing the maker, and looking names up; for
those consult the
<a href="/documentation/javadoc/jena/org/apache/jena/rdf/model/ModelMaker.html">ModelMaker JavaDoc</a>.</p>
<h2 id="miscellany">Miscellany</h2>
<p>Finally, <code>ModelFactory</code> contains a collection of methods for some
special cases not conveniently dealt with elsewhere.</p>
<p><code>createModelForGraph(Graph g)</code> is used when an advanced user with
access to the Jena SPI has constructed or obtained a <code>Graph</code> and
wishes to present it as a model. This method wraps the graph up as
a plain model. Alterations to the graph are visible in the model,
and <em>vice versa</em>.</p>


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