This is the Assembler quickstart page. For more detailed information, see the Assembler howto document.
An Assembler specification is an RDF description of how to
construct a model and its associated resources, such as reasoners,
prefix mappings, and initial content. The Assembler vocabulary is
given in the
Assembler schema,
and we'll use the prefix ja
for its identifiers.
An Assembler is an object that implements the Assembler
interface and can construct objects (typically models) from Assembler
specifications. The constant Assembler.general
is an
Assembler that knows how to construct the usual suspects.
Suppose the Model M
contains an Assembler
specification whose root
-- the Resource describing the whole Model to construct
is R
(so R.getModel() == M)
. Invoke:
Assembler.general.openModel(R)
The result is the desired Model. Further details about the
Assembler
interface, the special Assembler
general
, and the details of specific Assemblers,
are deferred to the Assembler howto.
In the remaining sections, the object we want to describe is
given the root resource my:root
, and our examples
are written in N3.
my:root a ja:MemoryModel.
my:root ja:reasoner [ja:reasonerURL theReasonerURL] ; ja:baseModel theBaseModelResource .theReasonerURL is one of the reasoner (factory) URLs given in the inference documentation and code; theBaseModelResource is another resource in the same document describing the base model.
my:root ja:connection aConnectionresource ; ja:modelName "myModelName" . aConnectionResource ja:dbURL theDatabaseURL ; ja:dbUser "the user name" ; ja:dbPassword "the user's password" ; ja:dbType "the database type, eg MySQL" ; ja:dbClass "some.jena.driver.class" .aConnectionResource describes the connection to the desired database. If a particular Java driver class has to be loaded, it is specified by the
dbClass
property value. See the
Assembler howto for ways in which
sensitive details such as passwords can be left out of the description.
my:root ja:content [ja:externalContent <someContentURL>] ... rest of model specification ... .The model will be preloaded with the contents of someContentURL.
my:root ja:ontModelSpec ja:OntModelSpecName ; ja:baseModel somebaseModel .The OntModelSpecName can be any of the predefined Jena OntModelSpec names, eg
OWL_DL_MEM_RULE_INF
. The baseModel is another model
description - it can be left out,
in which case you get an empty memory model. See
Assembler howto for construction
of non-predefined OntModelSpecs.