7. Managing RDFox Servers¶
As explained in Section 4, each running RDFox instance contains a server object, which acts as a top-level container for all information stored in the instance. A server supports operations such as creating and deleting data stores, creating and deleting roles, and granting permissions to roles.
7.1. The Server Directory¶
Each instance of the RDFox server has its own server directory where it
persists roles and data stores (depending on configuration), and which is
used as the default location for other files read or written by RDFox. The
server directory path is set when the RDFox server instance is started (see the
server-directory
parameter below) and cannot be changed thereafter.
Depending on configuration, the server directory is used in the following situations:
for persisting access control settings (see
persist-roles
server parameter below)for persisting data stores (see
persist-ds
server parameter below)as the default location for API logs to be written to (see
api-log
and related settings below)as the default location for the RDFox license key (with file name
RDFox.lic
)
To protect the integrity of the server directory, RDFox attempts to acquire an exclusive lock over the directory at startup if role persistence is enabled and holds the lock for the duration of the server’s lifetime. This prevents multiple running servers from using the same server directory concurrently. In addition, RDFox prohibits the use of data store persistence in the absence of role persistence. This ensures that data cannot be stored without matching access control policies.
7.2. Server Parameters¶
When a server is instantiated, it can be given a number of parameters that
govern various aspects of the server’s operation. All parameters are specified
as key-value pairs. If an RDFox instance is started from the command line, the
server parameters are passed as arguments to the RDFox
(on Linux and macOS)
or RDFox.exe
(on Windows) executable as described in
Section 16.1. If an RDFox instance is started from Java, the server
parameters can be specified as arguments to the
tech.oxfordsemantic.jrdfox.client.ConnectionFactory.startLocalServer()
method; please refer to the Javadoc for more information. The following
table describes all available server parameters.
Option |
Value |
Description |
---|---|---|
|
a string containing a space-separated list of URI schemes |
Specifies a space-separated list of
schemes that are allowed to be used
in the SPARQL 1.1 |
|
|
If the value is |
|
a string |
Specifies the directory into which
API logs will be written. Default is
directory |
|
|
Limits the amount of each input that
is recorded during import
operations as a part of an API log
to the specified number of bytes.
The value |
|
a string |
Specifies the license content verbatim. This parameter is not set by default. See Section 2.4.3 for the precedence of license-related options. |
|
a string |
Specifies the path to
the license file to
use. The default value
is |
|
an integer |
Specifies the maximum of memory (in MB) that the RDFox instance is allowed to use. The default is 0.9 times the installed memory. |
|
an integer |
Specifies the number of threads that the system will use for tasks such as reasoning and importation. The default is the number of logical processors available on the machine. |
|
|
If the value is
|
|
|
If the value is
|
|
a string |
Specifies the directory to which all file accesses of RDFox are sandboxed — that is, RDFox will be unable to access any file outside this directory. The default value is the working directory of the RDFox executable. Sandboxing of file access can be turned off by setting this option to the empty string. |
|
a string |
Specifies the server directory. A
directory may only be used
by one RDFox server at a time.
The default value is
|