GraphDB Free 8.0
Table of contents
- General
- Quick start guide
- Installation
- Administration
- Usage
- References
- Release notes
- FAQ
- Support
Configuring GraphDB¶
GraphDB 7 relies on several key directories for configuration, logging and data.
What’s in this document?
Directories¶
GraphDB Home¶
The GraphDB home defines the root directory where GraphDB stores all of its data.
The home can be set through the system or config file property graphdb.home
.
The default value for the GraphDB home directory depends on how you run GraphDB:
- Running as a standalone server: the default is the same as the distribution directory.
- All other types of installations: OS-dependent directory.
- On Mac:
~/Library/Application Support/GraphDB
. - On Windows:
\Users\<username>\AppData\Roaming\GraphDB
. - On Linux and other Unixes:
~/.graphdb
.
- On Mac:
Note
In the unlikely case of running GraphDB on an ancient Windows XP the default
directory is \Documents and Settings\<username>\Application Data\GraphDB
.
GraphDB does not store any files directly in the home directory but uses the following subdirectories for data or configuration:
Data directory¶
The GraphDB data directory defines where GraphDB stores repository data.
The data directory can be set through the system or config property graphdb.home.data
.
The default value is the subdirectory data
relative to the GraphDB home directory.
Config directory¶
The GraphDB config directory defines where GraphDB to look for user-definable configuration.
The config directory can be set through the system property graphdb.home.conf
.
Note
It is not possible to set the config directory through a config property as the value is needed before the config properties are loaded.
The default value is the subdirectory conf
relative to the GraphDB home directory.
Work directory¶
The GraphDB work directory defines where GraphDB stores non-user-definable configuration.
The work directory can be set through the system or config property graphdb.home.work
.
The default value is the subdirectory work
relative to the GraphDB home directory.
Logs directory¶
The GraphDB logs directory defines where GraphDB stores log files.
The logs directory can be set through the system or config property graphdb.home.logs
.
The default value is the subdirectory logs
relative to the GraphDB home directory.
Note
When running GraphDB as deployed .war
files, the logs directory will be a subdirectory
graphdb
within the Tomcat’s logs directory.
Checking the configured directories¶
When GraphDB starts, it logs the actual value for each of the above directories, e.g.
GraphDB Home directory: /opt/test/graphdb-se-7.x.x
GraphDB Config directory: /opt/test/graphdb-se-7.x.x/conf
GraphDB Data directory: /opt/test/graphdb-se-7.x.x/data
GraphDB Work directory: /opt/test/graphdb-se-7.x.x/work
GraphDB Logs directory: /opt/test/graphdb-se-7.x.x/logs
Configuration¶
There is a single config file for GraphDB. GraphDB loads the config file graphdb.properties
from the GraphDB config directory.
A sample file is provided in the distribution under conf/graphdb.properties
.
Config properties¶
Config properties are defined in the config file is the following format:
``propertyName = propertyValue``
, i.e. using the standard Java properties file syntax.
Each config property can be overridden through a Java system property with the same name,
provided in the environment variable GDB_JAVA_OPTS
or on the command line.
Note
The legacy properties (e.g. owlim-license
) in the config file are ignored
but they work if specified as system properties.
List of configuration properties¶
General properties¶
The general properties define some basic configuration values that are shared with all GraphDB components and types of installation.
graphdb.home
- defines the GraphDB home directory.
graphdb.home.data
- defines the GraphDB data directory.
graphdb.home.conf
- (only as a system property) defines the GraphDB conf directory.
graphdb.home.work
- defines the GraphDB work directory.
graphdb.home.logs
- defines the GraphDB logs directory.
graphdb.license.file
- sets a custom path to the license file to use.
graphdb.jolokia.secret
- sets a custom Jolokia secret.
graphdb.page.cache.size
- the amount of memory to be taken by the page cache
Network properties¶
The network properties control how the standalone application listens on a network. These properties correspond to the attributes of the embedded Tomcat Connector. For more information, see the Tomcat’s documentation.
Each property is composed of the prefix graphdb.connector.
+ the relevant Tomcat Connector attribute.
The most important property is:
graphdb.connector.port
- defines the port to use. The default is 7200.
In addition, the sample config file provides an example for setting up SSL.
Note
The graphdb.connector.<xxx>
properties are only relevant when running GraphDB
as a standalone application.
Engine properties¶
The GraphDB Engine can be configured through a set of properties composed of the prefix
graphdb.engine.
+ the relevant engine property. These properties correspond to the properties
that can be set when creating a repository through the Workbench or through a .ttl
file.
Note
The properties defined in the config OVERRIDE the properties for each repository, regardless of whether you created the repository before or after you set the global value of an engine property. As such, the global overrides should be used only in specific cases while for normal everyday needs you should set the corresponding properties when you create a repository.
A well-established specific use-case is changing the Entity Pool implementation for the whole installation. The default value is “classic”. Other implementations are “transactional-simple” and “transactional”, which is the same as “transactional-simple” for this version of GraphDB.
graphdb.engine.entity-pool-implementation
- defines the Entity Pool implementation for the whole installation.
Configuring logging¶
GraphDB uses logback to configure logging. The default configuration is provided as logback.xml
in the GraphDB config directory.
Best practices¶
Even though GraphDB provides the means to specify separate custom directories for data, configuration and so on, it is recommended to specify the home directory only. This ensures that every piece of data, configuration or logging is within the specified location.
Step by step guide¶
- Choose a directory for GraphDB home, e.g.
/opt/graphdb-instance
. - Create the directory
/opt/graphdb-instance
. - (Optional) Copy the subdirectory
conf
from the distribution into/opt/graphdb-instance
. - Start GraphDB with
graphdb -Dgraphdb.home=/opt/graphdb-instance
or set the-D
option in Tomcat.
GraphDB creates the missing subdirectories data
, conf
(if you skipped that step), logs
and work
.