HomeGetting StartedInstallation & SetupDevelopment & IntegrationDeployment & OperationsData ManagementTechnical SupportPlatform Updates
DocsDeployment & OperationsOperating Stardogdatabase configuration

Database Configuration

This page discusses configuring a Stardog database's options, otherwise known as a database's metadata.

<details open markdown="block"> <summary> Page Contents </summary> 1. TOC </details>

Overview

To administer a Stardog database, some configuration options must be set at creation time; others may be changed subsequently and some may never be changed. All config options have sensible defaults (except for the database name), so you don't have to twiddle any of the knobs till you really need to.

A database's configuring options are often referred to as its metadata. In fact, in Stardog's security model, the metadata resource type refers to this.

Getting and Setting Database Options

To configure an existing database via the CLI, you use the metadata-get and metadata-set commands.

Often times, a database must be set to offline status before most configuration parameters may be changed. These properties are known as being "mutable" as explained just below. Hence, the normal routine is to set the database offline, change the parameters, and then set the database online. All of these operations may be done programmatically from CLI tools, such that they can be scripted in advance to minimize downtime.

Below in the database options section, each option's definition has an attribute "mutability". The value set here describes a property's ability to change values. We use the following terms to describe an option's mutability.

<dl> <dt>Immutable</dt> <dd>Properties that are immutable can only be set at <i>database creation time</i>.</dd> <dt>Mutable</dt> <dd>Properties that are mutable can only be set while the database is <i>offline</i>. See the <code><a href="../../stardog-admin-cli-reference/db/db-offline">db offline</a></code> CLI command to offline a database.</dd> <dt>Freely Mutable</dt> <dd>Properties that are freely mutable can be set at any time. It does not matter if the database is online or offline.</dd> </dl>

You can get some information about a database by running the following command:

$ stardog-admin metadata get my_db_name

This will return all the metadata stored about the database, including the values of configuration options used for this database instance. If you want to get the value for a specific option then you can run the following command:

$ stardog-admin metadata get -o icv.enabled my_db_name

Similarly, to set a database configuration option we can use the metadata set CLI command:

$ stardog-admin metadata set -o icv.enabled=false -- my_db_name

Database Options

The following sections describe available configuration options in Stardog.

<!-- BEGIN_AUTO_GENERATED_DATABASE_OPTIONS -->

Database

Core database configuration options.

database.archetypes

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#ARCHETYPES">DatabaseOptions.ARCHETYPES</a></code></dd> <dt>Description</dt> <dd>The name of one or more database archetypes, used to associate ontologies and constraints with new databases. See the docs for instructions to create your own archetype.</dd> </dl>

database.connection.timeout

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10m</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#CONNECTION_TIMEOUT">DatabaseOptions.CONNECTION_TIMEOUT</a></code></dd> <dt>Description</dt> <dd>The amount of time a connection to the database can be open, but inactive, before being automatically closed to reclaim the resources. The following unit suffixes are available: &quot;ms&quot; for milliseconds, &quot;s&quot; for seconds, &quot;m&quot; for minutes, and &quot;h&quot; for hours.</dd> </dl>

database.name

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#NAME">DatabaseOptions.NAME</a></code></dd> <dt>Description</dt> <dd>A database name, the legal value of which is given by the regular expression [A-Za-z]{1}[A-Za-z0-9_-]</dd> </dl>

database.namespaces

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><a href="http://www.w3.org/2002/07/owl#">owl</a>, <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">rdf</a>, <a href="http://www.w3.org/2000/01/rdf-schema#">rdfs</a>, <a href="https://schema.org/">so</a>, <a href="tag:stardog:api:">stardog</a>, <a href="http://www.w3.org/2001/XMLSchema#">xsd</a></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#NAMESPACES">DatabaseOptions.NAMESPACES</a></code></dd> <dt>Description</dt> <dd>The default namespaces for the database. Legal input is a comma-separated list of &lt;prefix&gt;=&lt;namespace&gt; values.</dd> </dl>

database.online

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#ONLINE">DatabaseOptions.ONLINE</a></code></dd> <dt>Description</dt> <dd>Whether or not the database is online</dd> </dl>

database.type

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>user</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TYPE">DatabaseOptions.TYPE</a></code></dd> <dt>Description</dt> <dd>Specifies the database as either user or system.</dd> </dl>

edge.properties

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#EDGE_PROPERTIES">DatabaseOptions.EDGE_PROPERTIES</a></code></dd> <dt>Description</dt> <dd>Option for enabling edge properties that allows RDF statements to appear as subjects of RDF statements (aka RDF*). </dd> </dl>

graph.aliases

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#GRAPH_ALIASES">DatabaseOptions.GRAPH_ALIASES</a></code></dd> <dt>Description</dt> <dd>Configuration option to enable or disable support for named graph aliases</dd> </dl>

label.properties

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>rdfs:label</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#LABEL_PROPERTIES">DatabaseOptions.LABEL_PROPERTIES</a></code></dd> <dt>Description</dt> <dd>Comma-separated list of property IRIs which may be used by the platform to look up entity labels by entity IRIs. By default it's only rdfs:label but properties from SKOS or other schema can be added. The order of the properties in the list reflect their rank when labels from different properties are present for an entity IRI.</dd> </dl>

literal.comparison.extended

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#EXTENDED_COMPARISON">DatabaseOptions.EXTENDED_COMPARISON</a></code></dd> <dt>Description</dt> <dd>Controls whether query evaluation will use extended literal comparison. If enabled, literals of different datatypes are first compared based on their string values and then based on the string value of their datatypes.</dd> </dl>

literal.language.normalization

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>DEFAULT</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#LANGUAGE_NORMALIZATION">DatabaseOptions.LANGUAGE_NORMALIZATION</a></code></dd> <dt>Description</dt> <dd>Configuration option for determining the normalization algorithm for the langauge tags of literals.</dd> </dl>

media.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#MEDIA_ENABLED">DatabaseOptions.MEDIA_ENABLED</a></code></dd> <dt>Description</dt> <dd>Option for whether or not to render media, such as URL hyperlinks in Stardog Applications. By default, media will not be rendered. Use additional caution before enabling this property when using public or unknown data sources.</dd> </dl>

preserve.bnode.ids

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#PRESERVE_BNODE_IDS">DatabaseOptions.PRESERVE_BNODE_IDS</a></code></dd> <dt>Description</dt> <dd>Determines how the Stardog parser handles bnode (blank node) identifiers that may be present in RDF input. If this property is enabled, parsing and data loading performance are improved; but the other effect is that if distinct input files use (randomly or intentionally) the same bnode identifier, that bnode will point to one and the same node in the database. If you have input files that use explicit bnode identifiers, and more than one of those files may use the same bnode identifiers, and you don't want those bnodes to be smushed into a single node in the database, then this configuration option should be disabled. Note that, this option has no effect for input files using the JSON-LD syntax. JSON-LD API specification requires all bnode identifiers from the input document to be mapped to new identifiers so they cannot be preserved in the database.</dd> </dl>

progress.monitor.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#PROGRESS_MONITOR_ENABLED">DatabaseOptions.PROGRESS_MONITOR_ENABLED</a></code></dd> <dt>Description</dt> <dd>When enabled, the progress of various tasks will be printed in the server log.</dd> </dl>

strict.parsing

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#STRICT_PARSING">DatabaseOptions.STRICT_PARSING</a></code></dd> <dt>Description</dt> <dd>Controls whether Stardog parses RDF strictly (true, the default) or loosely (false). Setting this to &quot;false&quot; will allow, for example, integer literals with leading zeros.</dd> </dl>

system.graphs

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>default</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#SYSTEM_GRAPHS">DatabaseOptions.SYSTEM_GRAPHS</a></code></dd> <dt>Description</dt> <dd>Specifies the IRIs of named graphs which contain system data and could be hidden from user queries by excluding the &lt;tag:stardog:api:context:system&gt; alias. By default, the alias is expanded to three graphs: the stored query graph for Voicebox-enabled databases, the graph which stored alias definitions, and the BI/SQL table mapping graph.</dd> </dl>

Full-Text Search

Options for configuring full-text search indexing and querying. Read more about semantic search in Stardog.

search.default.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>-1</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_DEFAULT_LIMIT">SearchOptions.SEARCH_DEFAULT_LIMIT</a></code></dd> <dt>Description</dt> <dd>Specify the default limit on the number of results returned from a full-text search (-1 returns all results). This only limits the number of results returned from the Lucene full-text index, not from its containing query.</dd> </dl>

search.default.query.operator

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>OR</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_DEFAULT_QUERY_OPERATOR">SearchOptions.SEARCH_DEFAULT_QUERY_OPERATOR</a></code></dd> <dt>Description</dt> <dd>Specify the Lucene operator (AND/OR) to use when the search query has multiple keywords</dd> </dl>

search.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCHABLE">SearchOptions.SEARCHABLE</a></code></dd> <dt>Description</dt> <dd>Enables the full-text (unstructured) search index for the database; important for Text Search applications.</dd> </dl>

search.index.batch.size

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>1000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_INDEX_BATCH_SIZE">SearchOptions.SEARCH_INDEX_BATCH_SIZE</a></code></dd> <dt>Description</dt> <dd>Specifies the number of Lucene documents that are written to search index in one batch</dd> </dl>

search.index.compute.norm

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_COMPUTE_NORM">SearchOptions.INDEX_COMPUTE_NORM</a></code></dd> <dt>Description</dt> <dd>Option to specify that value lengths (norms) should be computed and indexed. This is required for document length to influence scoring rank.</dd> </dl>

search.index.contexts.excluded

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_CONTEXTS_EXCLUDED">SearchOptions.SEARCH_CONTEXTS_EXCLUDED</a></code></dd> <dt>Description</dt> <dd>Option to specify if the collection of contexts in named graphs is going to be leveraged as either excluded or included for literals to be indexed.</dd> </dl>

search.index.contexts.filter

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_CONTEXTS_FILTER">SearchOptions.SEARCH_CONTEXTS_FILTER</a></code></dd> <dt>Description</dt> <dd>Option to specify the collection of named graphs to be excluded or included for lexical search indexing. If search.index.contexts.excluded is set to true, the literals in the named graphs specified by this option will be excluded from the lexical search index. Otherwise only the literals from the specified named graphs will be indexed. This option has no effect if search.enabled is not enabled.</dd> </dl>

search.index.datatypes

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>xsd:string</code>, <code>rdf:langString</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_DATATYPES">SearchOptions.INDEX_DATATYPES</a></code></dd> <dt>Description</dt> <dd>Option to specify the datatypes for which to index literals in Lucene. Literals with other datatypes will not be accessible via full-text search.</dd> </dl>

search.index.properties.excluded

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_PROPERTIES_EXCLUDED">SearchOptions.INDEX_PROPERTIES_EXCLUDED</a></code></dd> <dt>Description</dt> <dd>Option to specify the excluded properties for literals not to be indexed in Lucene. Literals with these properties cannot be evaluated for indexing.</dd> </dl>

search.index.properties.included

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_PROPERTIES_INCLUDED">SearchOptions.INDEX_PROPERTIES_INCLUDED</a></code></dd> <dt>Description</dt> <dd>Option to specify the only properties for literals to be indexed in Lucene. Please note that if search.index.properties.excluded option is set, this option will have no effect.</dd> </dl>

search.index.stopwords

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_STOPWORDS">SearchOptions.INDEX_STOPWORDS</a></code></dd> <dt>Description</dt> <dd>Option to specify the list of the stopwords while indexing. The list of string is to be converted to a CharArraySet data structure of Lucene.</dd> </dl>

search.index.token.filters

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#INDEX_TOKEN_FILTERS">SearchOptions.INDEX_TOKEN_FILTERS</a></code></dd> <dt>Description</dt> <dd>A sequence of token filter classes. Classes must be implementations of org.apache.lucene.analysis.TokenFilter. Filters will be applied in the order listed. Class names must be qualified by package unless existing in the `org.apache.lucene.analysis` package. The `StopFilter`, if specified, will used the value of the `search.index.stopwords` property.</dd> </dl>

search.index.vacuum

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#USE_VACUUMING">SearchOptions.USE_VACUUMING</a></code></dd> <dt>Description</dt> <dd>This option controls how the full-text index is optimized as a part of database optimization. If set to true, Stardog will use the vacuuming technique to purge text literals which were previously been removed from the data also from the full-text index. The default value is false which means that the index will be rebuilt from scratch. This property is ignored in two cases: if search.optimize=true is explicitly supplied as an argument to 'db optimize' command, or if the index is in a dirty state i.e. it may lack some literals occurring in the data (this normally should not happen unless full-text index has not completed successfully).</dd> </dl>

search.index.wordbreak.chars

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#WORD_BREAK_CHARS">SearchOptions.WORD_BREAK_CHARS</a></code></dd> <dt>Description</dt> <dd>A set of characters which are used to break words. Whitespace is also included</dd> </dl>

search.label.relative.threshold

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>0.8</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#LABEL_RELATIVE_THRESHOLD">SearchOptions.LABEL_RELATIVE_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>Specify the relative threshold used for the Entity Label Service. The Entity Label Service uses full-text search to find the entities with a given label. This is the relative threshold value that will be used in these cases overriding the default relative threshold. See the description for the option search.relative.threshold for more details.</dd> </dl>

search.lexical.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_LEXICAL">SearchOptions.SEARCH_LEXICAL</a></code></dd> <dt>Description</dt> <dd>Enables lexical search (default implementation of full-text search).</dd> </dl>

search.page.size

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>100000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_PAGE_SIZE">SearchOptions.SEARCH_PAGE_SIZE</a></code></dd> <dt>Description</dt> <dd>Specify the page size used for iteration over results from the full-text index. A page is held in memory, so this count should NOT be large.</dd> </dl>

search.reindex.cache.size

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>16384</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#REINDEX_CACHE_SIZE">SearchOptions.REINDEX_CACHE_SIZE</a></code></dd> <dt>Description</dt> <dd>Option to specify the cache size of literals that is used for checking if a literal is indexed before.</dd> </dl>

search.reindex.tx

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_REINDEX_IN_TX">SearchOptions.SEARCH_REINDEX_IN_TX</a></code></dd> <dt>Description</dt> <dd>Whether literals added during a transaction are automatically indexed. If this flag is set to 'false', then full-text search queries will return incomplete results until the index is rebuilt.</dd> </dl>

search.relative.threshold

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>0.0</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#RELATIVE_THRESHOLD">SearchOptions.RELATIVE_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>Specify the default relative threshold for full-text search. The value should be a floating number between 0.0 and 1.0 to indicate all matching literals should be returned. A relative threshold of 0.0 means only the full-text matches with highest score will be returned. In general, if the top score for a query is {@code S} then only the matches with score higher than or equal to `S * relativeThreshold` will be returned. The relative threshold value can be overridden in the full-text search query with the `fts:relativeThreshold` parameter.</dd> </dl>

search.semantic.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_SEMANTIC">SearchOptions.SEARCH_SEMANTIC</a></code></dd> <dt>Description</dt> <dd>Enables semantic search.</dd> </dl>

search.semantic.index.contexts.filter

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_SEMANTIC_CONTEXTS_FILTER">SearchOptions.SEARCH_SEMANTIC_CONTEXTS_FILTER</a></code></dd> <dt>Description</dt> <dd>Option to specify the collection of named graphs to be excluded or included for semantic search indexing. If search.index.contexts.excluded is set to true, the literals in the named graphs specified by this option will be excluded from the semantic search index. Otherwise only the literals from the specified named graphs will be indexed. This option has no effect if semantic search is not enabled via the search.semantic.enabled option.</dd> </dl>

search.semantic.model

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#SEARCH_SEMANTIC_MODEL">SearchOptions.SEARCH_SEMANTIC_MODEL</a></code></dd> <dt>Description</dt> <dd>URL to a language model that will be used to generate embeddings vectors and store them in Lucene index. The default value is an empty string which means the default semantic model shipped with Stardog will be used.</dd> </dl>

search.wildcard.search.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/search/SearchOptions.html#LEADING_WILDCARD_SEARCH_ENABLED">SearchOptions.LEADING_WILDCARD_SEARCH_ENABLED</a></code></dd> <dt>Description</dt> <dd>Enable support to query the Lucene full-text search index with leading wildcards.</dd> </dl>

GraphQL

Options for the GraphQL query interface. Read more about Stardog's support for GraphQL.

graphql.auto.schema

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/graphql/GraphQLOptions.html#AUTO_SCHEMA">GraphQLOptions.AUTO_SCHEMA</a></code></dd> <dt>Description</dt> <dd>Enables automatic generation of the default GraphQL schema if one has not been created by the user.</dd> </dl>

graphql.auto.schema.source

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>owl</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/graphql/GraphQLOptions.html#AUTO_SCHEMA_SOURCE">GraphQLOptions.AUTO_SCHEMA_SOURCE</a></code></dd> <dt>Description</dt> <dd>Specifies the input source to use for generating the default GraphQL schema automatically.</dd> </dl>

graphql.data.graphs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>stardog:context:local</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/graphql/GraphQLOptions.html#DATA_GRAPHS">GraphQLOptions.DATA_GRAPHS</a></code></dd> <dt>Description</dt> <dd>Specifies which graphs will be queried by default via GraphQL queries. The default value (tag:stardog:api:context:local) is to query all local graphs (default or named). Use the special graph tag:stardog:api:context:all to query all local graphs plus the virtual graphs. Multiple graphs or graph aliases can be used as the option value.</dd> </dl>

graphql.default.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>-1</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/graphql/GraphQLOptions.html#DEFAULT_LIMIT">GraphQLOptions.DEFAULT_LIMIT</a></code></dd> <dt>Description</dt> <dd>The maximum number of top-level objects a GraphQL query can return. The argument &quot;first&quot; can be used within queries to limit results as well.</dd> </dl>

graphql.result.memory.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>100M</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/graphql/GraphQLOptions.html#RESULT_MEMORY_LIMIT">GraphQLOptions.RESULT_MEMORY_LIMIT</a></code></dd> <dt>Description</dt> <dd>The maximum number of heap memory a GraphQL result can use. GraphQL query results are created fully in memory before they are sent back to the client. This limit ensures query results will not use too much memory causing server to run out of memory. GraphQL queries are translated to SPARQL queries and the amount of memory the SPARQL query will use during execution is controlled by the query.memory.limit option.</dd> </dl>

Index

Options for configuring database indices.

index.bulk.load.sst.txlimit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>495000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#TX_BULK_LOAD_ADAPTIVE_THRESHOLD">IndexOptions.TX_BULK_LOAD_ADAPTIVE_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>Threshold estimated input size at which the bulk loading mechanism will be considered for transactional updates.</dd> </dl>

index.bulk.load.tx.threshold

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>4000000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#TX_BULK_LOAD_HARD_THRESHOLD">IndexOptions.TX_BULK_LOAD_HARD_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>Threshold of actual number of quads, where Stardog use bulk loading. Max effective value is 8388608.</dd> </dl>

index.differential.enable.limit

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>500000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#DIFF_INDEX_MIN_LIMIT">IndexOptions.DIFF_INDEX_MIN_LIMIT</a></code></dd> <dt>Description</dt> <dd>NOTE: Not used in Stardog v7+. The minimum number of statements in the Stardog database before differential indexes are used.</dd> </dl>

index.differential.merge.limit

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>20000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#DIFF_INDEX_MAX_LIMIT">IndexOptions.DIFF_INDEX_MAX_LIMIT</a></code></dd> <dt>Description</dt> <dd>NOTE: Not used in Stardog v7+. The size in number of RDF statements before the differential indexes are merged to the main indexes.</dd> </dl>

index.literals.canonical

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#CANONICAL_LITERALS">IndexOptions.CANONICAL_LITERALS</a></code></dd> <dt>Description</dt> <dd>Specify that non-string typed literals are canonicalized in the database. Improves query and loading performance, but does change literal values to a canonical form. For example, &quot;1&quot;^^xsd:byte is canonicalized to &quot;1&quot;^^xsd:integer. Set this option to false if you require literals to be exactly as specified, rather than canonicalized. The default value is 'true'. note that, this value can only be set at database creation time and cannot be changed at a future time.</dd> </dl>

index.lucene.mmap

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#LUCENE_MMAP">DatabaseOptions.LUCENE_MMAP</a></code></dd> <dt>Description</dt> <dd>Enables memory-mapping in lucene indices (e.g., search, spatial).</dd> </dl>

index.statistics.cache.capacity

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>1024</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#CARDINALITY_CACHE_CAPACITY">IndexOptions.CARDINALITY_CACHE_CAPACITY</a></code></dd> <dt>Description</dt> <dd>The max capacity for the query pattern cardinality cache that is shared across queries to the same database.</dd> </dl>

index.statistics.chains.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_CHAINS_ENABLED">IndexOptions.STATISTICS_CHAINS_ENABLED</a></code></dd> <dt>Description</dt> <dd>If true, Stardog will pre-compute the number of times frequent binary chains occur in the data and will use that information for query optimization.Could be disabled for very large or very complex datasets. Changes to this option will take effect the next time statistics is recomputed.</dd> </dl>

index.statistics.characteristic.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_CHARACTERISTIC_SETS_LIMIT">IndexOptions.STATISTICS_CHARACTERISTIC_SETS_LIMIT</a></code></dd> <dt>Description</dt> <dd>The max number of characteristic sets computed as a part of the statistical summary of the database. More diverse datasets may require a higher number for more accurate query planning. The downside is higher memory footprint and slower planning</dd> </dl>

index.statistics.enable_active_graph

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATS_ENABLE_ACTIVE_GRAPH">IndexOptions.STATS_ENABLE_ACTIVE_GRAPH</a></code></dd> <dt>Description</dt> <dd>If true, Stardog will adjust the cardinality estimation for a query with based on the size of the active graph. Could be disabled for databases with few large named graphs with non-overlapping data.</dd> </dl>

index.statistics.object_joins.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_OBJECT_JOIN_ENABLED">IndexOptions.STATISTICS_OBJECT_JOIN_ENABLED</a></code></dd> <dt>Description</dt> <dd>If true, Stardog will pre-compute the object join cardinalities for pairs of properties in the dataset. This information is used for query optimization.Could be disabled for very large or very complex datasets. Changes to this option will take effect the next time statistics is recomputed.</dd> </dl>

index.statistics.on_db_create

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>Sync</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_ON_DB_CREATION">IndexOptions.STATISTICS_ON_DB_CREATION</a></code></dd> <dt>Description</dt> <dd>Determines whether and how selectivity statistics is computed when a database is bulk loaded. By default it's computed synchronously.</dd> </dl>

index.statistics.predicate.threshold

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>0.001</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_RARE_PREDICATE">IndexOptions.STATISTICS_RARE_PREDICATE</a></code></dd> <dt>Description</dt> <dd>If a certain predicate occurs in less than this share of all triples in the data, Stardog will not maintain extended statistics for that predicate.</dd> </dl>

index.statistics.range.sample.size

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>100</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_RANGE_SAMPLE_SIZE">IndexOptions.STATISTICS_RANGE_SAMPLE_SIZE</a></code></dd> <dt>Description</dt> <dd>The number of elements from the range of a property that are examined to classify the property as an object or data property. Used for query optimization.</dd> </dl>

index.statistics.sketch.capacity

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>100000000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATISTICS_SKETCH_CAPACITY">IndexOptions.STATISTICS_SKETCH_CAPACITY</a></code></dd> <dt>Description</dt> <dd>The max number of objects that can be added to a sketch data structure before a new sketch is created</dd> </dl>

index.statistics.update.automatic

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#AUTO_STATS_UPDATE">IndexOptions.AUTO_STATS_UPDATE</a></code></dd> <dt>Description</dt> <dd>Determines whether statistics are maintained automatically. When set to &quot;true&quot;, Stardog will decide when to update statistics as the database is modified through additions and removals and update statistics as needed. If this option is set to &quot;false&quot;, Stardog will never update the statistics regardless of how much the database is updated.</dd> </dl>

index.statistics.update.blocking.ratio

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>0.0</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATS_UPDATE_BLOCKING_RATIO">IndexOptions.STATS_UPDATE_BLOCKING_RATIO</a></code></dd> <dt>Description</dt> <dd>Once the ratio of updated triples to database size goes over this limit statistics computation will be performed synchronously within the transaction instead of a background thread. Setting this option to a non-positive number (&lt;= 0) will disable blocking updates.</dd> </dl>

index.statistics.update.min.size

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATS_UPDATE_DB_MIN_SIZE">IndexOptions.STATS_UPDATE_DB_MIN_SIZE</a></code></dd> <dt>Description</dt> <dd>Minimum number of triples that should be in the database for statistics to be updated automatically</dd> </dl>

index.statistics.update.ratio

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>0.1</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#STATS_UPDATE_RATIO">IndexOptions.STATS_UPDATE_RATIO</a></code></dd> <dt>Description</dt> <dd>Ratio of updated triples to the number of triples in the database that triggers the automatic statistics computation in a background thread</dd> </dl>

index.writer.merge.limit

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>1000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#INDEX_WRITER_MERGE_LIMIT">IndexOptions.INDEX_WRITER_MERGE_LIMIT</a></code></dd> <dt>Description</dt> <dd>Maximum number of triples to keep in memory for merging interleaving additions and removals while querying uncommitted state</dd> </dl>

Integrity Constraint Violations (ICV)

Options for validating data against constraints. Read more about using ICV constraints in Stardog.

icv.active.graphs

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>stardog:context:local</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#ICV_ACTIVE_GRAPHS">ICVOptions.ICV_ACTIVE_GRAPHS</a></code></dd> <dt>Description</dt> <dd>Specifies which part of the database, in terms of named graphs, is checked with IC validation</dd> </dl>

icv.consistency.automatic

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#ICV_CONSISTENCY_AUTOMATIC">ICVOptions.ICV_CONSISTENCY_AUTOMATIC</a></code></dd> <dt>Description</dt> <dd>Enables automatic ICV consistency check as part of transactions. Ensures that both reasoning consistencies and constraint violations are checked during ICV &quot;Guard Mode&quot; validation (with each commit). This is only effective when &quot;icv.reasoning.enabled&quot; is set to true.</dd> </dl>

icv.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#ICV_ENABLED">ICVOptions.ICV_ENABLED</a></code></dd> <dt>Description</dt> <dd>Determines if all database mutations are subject to ICV. When enabled, each commit is inspected to ensure that the contents of the database are valid. Should a transaction attempt to commit invalid data, the commit will fail and the data will not be added/removed.</dd> </dl>

icv.explanation.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>1</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#ICV_EXPLANATION_LIMIT">ICVOptions.ICV_EXPLANATION_LIMIT</a></code></dd> <dt>Description</dt> <dd>The number of violations that will be computed and returned in the error message when guard mode is enabled. If the option is set to 0 no explanations will be computed and transaction failure will only indicate there was a violation without specifying which constraint failed.</dd> </dl>

icv.reasoning.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#ICV_REASONING_ENABLED">ICVOptions.ICV_REASONING_ENABLED</a></code></dd> <dt>Description</dt> <dd>Determines if reasoning is used during ICV.</dd> </dl>

shacl.shape.graphs

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>stardog:context:local</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#SHACL_SHAPE_GRAPHS">ICVOptions.SHACL_SHAPE_GRAPHS</a></code></dd> <dt>Description</dt> <dd>The set of named graphs from which to read the SHACL shapes for validation. Only the shapes that are defined within these names graphs will be validated. By default the shapes in all the local named graphs will be used.</dd> </dl>

shacl.targetClass.simple

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#SHACL_TARGET_CLASS">ICVOptions.SHACL_TARGET_CLASS</a></code></dd> <dt>Description</dt> <dd>If true, sh:targetClass will be evaluated based on rdf:type triples only, without following rdfs:subClassOf relations.</dd> </dl>

shacl.violation.limit.shape

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>-1</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/icv/ICVOptions.html#SHACL_VIOLATION_LIMIT_PER_SHAPE">ICVOptions.SHACL_VIOLATION_LIMIT_PER_SHAPE</a></code></dd> <dt>Description</dt> <dd>Limits the number of violation per shape. The default value is -1. This option is introduced for ease of readability of the report on the types of different violations.</dd> </dl>

Query

Options for configuring query execution behavior.

query.all.graphs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_ALL_GRAPHS">DatabaseOptions.QUERY_ALL_GRAPHS</a></code></dd> <dt>Description</dt> <dd>This option controls the behavior for answering queries that don't specify a dataset (FROM or FROM NAMED) in the query. In such cases, the SPARQL specification says that the query should be answered only using the information in default graph (no context). However, sometimes it is desirable to answer such queries using all the information in the database including the default graph and all named graphs. Setting this option to true changes the behavior of Stardog to do this. Queries that specify a dataset are not affected by this option.</dd> </dl>

query.describe.strategy

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>default</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_DESCRIBE_STRATEGY">DatabaseOptions.QUERY_DESCRIBE_STRATEGY</a></code></dd> <dt>Description</dt> <dd>The default DESCRIBE query strategy for the database. Built-in strategies include &quot;default&quot;, &quot;cbd&quot; and &quot;bidirectional&quot;. See the docs for instructions to create your own describe strategy.</dd> </dl>

query.dictionary.overflow.threshold

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>100000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_DICTIONARY_SIZE_THRESHOLD">DatabaseOptions.QUERY_DICTIONARY_SIZE_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>Configuration option for the max number of entries in the query-local dictionary before a persistent data structure is used (which can spill data to disk)</dd> </dl>

query.inline.sqs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>OPTIMIZER</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#INLINE_STORED_QUERY">DatabaseOptions.INLINE_STORED_QUERY</a></code></dd> <dt>Description</dt> <dd>Option to control how stored queries should be evaluated inside the Stored Query Service (SQS). If stored queries referenced in SQS are inlined into the parent query some additional optimizations might become possible especially for stored queries involving virtual graphs. But inlined stored queries inherit the dataset of the parent query and might return different results compared to being executed in isolation. Some queries, e.g. stored queries that use path queries or correlation, cannot be inlined at all. The setting `optimizer` allows the optimizer to perform inlining when it is safe and improves query performance. Using the option `always` could cause some SQS executions fail.</dd> </dl>

query.log.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_LOG_ENABLED">DatabaseOptions.QUERY_LOG_ENABLED</a></code></dd> <dt>Description</dt> <dd>If set to true, Stardog will log all queries executed against this database</dd> </dl>

query.memory.exceeds.strategy

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>SPILL_TO_DISK</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_MM_EXCEEDS_STRATEGY">DatabaseOptions.QUERY_MM_EXCEEDS_STRATEGY</a></code></dd> <dt>Description</dt> <dd>Configuration option for determining strategy for the query behaviour once memory limit reached</dd> </dl>

query.memory.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>9223372036854775807B</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_MEMORY_LIMIT">DatabaseOptions.QUERY_MEMORY_LIMIT</a></code></dd> <dt>Description</dt> <dd>Configuration option for determining the memory limit used by query</dd> </dl>

query.plan.reuse

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>ALWAYS</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_PLAN_REUSE">DatabaseOptions.QUERY_PLAN_REUSE</a></code></dd> <dt>Description</dt> <dd>The conditions under which a cached plan will be reused. &quot;ALWAYS&quot; and &quot;NEVER&quot; determine query plan reuse as you would expect. &quot;CARDINALITY&quot; instructs Stardog to reuse cached query plans for structurally equivalent queries if the cardinality estimations of scans are similar.</dd> </dl>

query.term.equality.identity

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_EQUALITY_IDENTITY">DatabaseOptions.QUERY_EQUALITY_IDENTITY</a></code></dd> <dt>Description</dt> <dd>If true, Stardog's query optimizer will interpret equality checks, like FILTER(?x = ?y), as if the variables range over IRIs or strings, i.e., each value can only be equal to itself. This is not true for certain numbers in SPARQL, for example, 1 is equal to 1.0. The default value is false, which is the spec-compliant behavior. Setting it to true can unlock additional optimizations for queries and rules with equality filters.</dd> </dl>

query.timeout

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>5m</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_TIMEOUT">DatabaseOptions.QUERY_TIMEOUT</a></code></dd> <dt>Description</dt> <dd>Determines max execution time for query evaluation. This can also be overridden in a query's parameters. The following unit suffixes are available: &quot;ms&quot; for milliseconds, &quot;s&quot; for seconds, &quot;m&quot; for minutes, and &quot;h&quot; for hours.</dd> </dl>

query.update.graph.diff

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_UPDATE_GRAPH_DIFF">DatabaseOptions.QUERY_UPDATE_GRAPH_DIFF</a></code></dd> <dt>Description</dt> <dd>Configuration option for determining the update procedure that will be used for SPARQL update queries ADD, COPY and MOVE</dd> </dl>

query.update.timeout

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10h</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#QUERY_UPDATE_TIMEOUT">DatabaseOptions.QUERY_UPDATE_TIMEOUT</a></code></dd> <dt>Description</dt> <dd>Determines max execution time for SPARQL update query evaluation. This can also be overridden in a query's parameters. The following unit suffixes are available: &quot;ms&quot; for milliseconds, &quot;s&quot; for seconds, &quot;m&quot; for minutes, and &quot;h&quot; for hours.</dd> </dl>

service.prefetch.threshold

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#SERVICE_PREFETCH_THRESHOLD">DatabaseOptions.SERVICE_PREFETCH_THRESHOLD</a></code></dd> <dt>Description</dt> <dd>The cardinality threshold for prefetching solutions from remote services. A negative value disables prefetching and with a value of Integer.MAX_VALUE (2147483647) prefetching is always enabled. If the estimated cardinality of a service is below the threshold, 10K solutions will be prefetched by default. The number of solutions to be prefetched can be customized with the `service.prefetch.limit` query hint. </dd> </dl>

service.sparql.credentials.passthrough.regex

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX">DatabaseOptions.SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX</a></code></dd> <dt>Description</dt> <dd>Specifies SPARQL endpoints for which SERVICE calls are allowed to pass through current credentials.</dd> </dl>

service.sparql.result.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#SPARQL_SERVICE_RESULT_LIMIT">DatabaseOptions.SPARQL_SERVICE_RESULT_LIMIT</a></code></dd> <dt>Description</dt> <dd>Limits the number of results generated by SERVICE calls to SPARQL endpoints. A negative value means no limit.</dd> </dl>

Reasoning

Options for configuring reasoning. Read more about reasoning in Stardog.

auto.schema.reasoning

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#AUTO_SCHEMA_REASONING">DatabaseOptions.AUTO_SCHEMA_REASONING</a></code></dd> <dt>Description</dt> <dd>Enables reasoning when automatically generating schemas from OWL. This setting will affect automatic schema generation for GraphQL (if graphql.auto.schema is enabled) and BI/SQL (if sql.schema.auto is enabled).</dd> </dl>

reasoning.approximate

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#APPROXIMATE">ReasoningOptions.APPROXIMATE</a></code></dd> <dt>Description</dt> <dd>Enables approximate reasoning. With this flag enabled Stardog will approximate an axiom that is outside the profile Stardog supports and normally ignored. For example, an equivalent class axiom might be split into two subclass axioms and only one subclass axiom is used.</dd> </dl>

reasoning.classify.eager

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#EAGER_CLASSIFY">ReasoningOptions.EAGER_CLASSIFY</a></code></dd> <dt>Description</dt> <dd>Perform schema classification eagerly when the schema is loaded. Classifying eagerly ensures subclass and equivalence queries between named classes can be answered with a simple lookup. However, if the schema is changing frequently then this option can be turned off so classification is performed only if necessary.</dd> </dl>

reasoning.consistency.automatic

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#CONSISTENCY_AUTOMATIC">ReasoningOptions.CONSISTENCY_AUTOMATIC</a></code></dd> <dt>Description</dt> <dd>Enables automatic consistency checking as part of every query performed with reasoning enabled. If the underlying database did not change since the last consistency check, the check will not be performed.</dd> </dl>

reasoning.domain.range.rule.optimization

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#DOMAIN_RANGE_OPTIMIZATION">ReasoningOptions.DOMAIN_RANGE_OPTIMIZATION</a></code></dd> <dt>Description</dt> <dd>Enables optimization to remove redundant type assertions from queries or rule bodies when types can be inferred from schema.org domainIncludes/rangeIncludes or rdfs:domain/rdfs:range declarations on properties. This can improve reasoning performance by reducing the number of triple patterns in a query or a rule body. WARNING: This option is not conformant with RDFS and OWL semantics because schema.org vocabulary has no semantic interpretation. Enabling this option may cause reasoning queries to return more results if the data does not satisfy the domain/range declarations. If the data conforms to the domain/range declarations then the query results will not change due to this optimization. To ensure this, domain optimization only applies when a property has exactly one domain, and range optimization only applies when a property has exactly one range. </dd> </dl>

reasoning.precompute.non_empty.predicates

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#PRECOMPUTE_NON_EMPTY_TERMS">ReasoningOptions.PRECOMPUTE_NON_EMPTY_TERMS</a></code></dd> <dt>Description</dt> <dd>If true, Stardog will pre-compute class and property names which have assertions in the data. That can speed-up reasoning but may slow things down when data changes often.</dd> </dl>

reasoning.punning.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#PUNNING_ENABLED">ReasoningOptions.PUNNING_ENABLED</a></code></dd> <dt>Description</dt> <dd>Enables punning; the ability for an IRI to represent both a class and an individual.</dd> </dl>

reasoning.rewrite.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#REWRITE_LIMIT">ReasoningOptions.REWRITE_LIMIT</a></code></dd> <dt>Description</dt> <dd>The maximum number of triple patterns that is allowed in a rewritten reasoning query. If the number of triple patterns in the rewritten query exceeds this limit the rewriting will be canceled and query execution will fail.</dd> </dl>

reasoning.rewriting

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>PER_SCOPE</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#REWRITING_STRATEGY">ReasoningOptions.REWRITING_STRATEGY</a></code></dd> <dt>Description</dt> <dd>Allows one to choose how query patterns are rewritten for reasoning: as a whole (per scope) or individually (per pattern).</dd> </dl>

reasoning.sameas

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>OFF</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#EQUALITY_REASONING">DatabaseOptions.EQUALITY_REASONING</a></code></dd> <dt>Description</dt> <dd>Option to enable owl:sameAs reasoning. When this option is set to &quot;ON&quot;, then the reflexive, symmetric, and transitive closure of owl:sameAs triples in the database are computed. When it is set to &quot;FULL&quot;, then owl:sameAs inferences are computed based on schema axioms, such as functional properties. See the docs for more information.</dd> </dl>

reasoning.schema.catalog.export.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#CATALOG_SCHEMA_EXPORT">DatabaseOptions.CATALOG_SCHEMA_EXPORT</a></code></dd> <dt>Description</dt> <dd>Specifies whether reasoning schemas of this database are copied to Data Catalog</dd> </dl>

reasoning.schema.graphs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>stardog:context:schema</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#SCHEMA_GRAPHS">ReasoningOptions.SCHEMA_GRAPHS</a></code></dd> <dt>Description</dt> <dd>Determines which, if any, named graph or graphs contains the schema (ontology, &quot;TBox&quot;) part of the data. The legal value is a comma-separated list of named graph identifiers. The default value is tag:stardog:api:context:schema.</dd> </dl>

reasoning.schema.timeout

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>1m</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#SCHEMA_REASONING_TIMEOUT">ReasoningOptions.SCHEMA_REASONING_TIMEOUT</a></code></dd> <dt>Description</dt> <dd>Timeout for schema reasoning. If schema reasoning cannot be completed in the specified time then only RDFS reasoning will be performed for the schema which might yield incomplete answers for the schema queries. The timeout values specified as test be a positive integer followed by either letter 'h' (for hours), letter 'm' (for minutes), letter 's' (for seconds), or letters 'ms' (for milliseconds). Examples: '1h' for 1 hour, '5m' for 5 minutes, '90s' for 90 seconds, '500ms' for 500 milliseconds.</dd> </dl>

reasoning.schema.versioning.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#ENABLE_SCHEMA_VERSIONING">ReasoningOptions.ENABLE_SCHEMA_VERSIONING</a></code></dd> <dt>Description</dt> <dd>Determines if the reasoner will track changes to triples in schema graphs. Enabling this option allows reasoner to invalidate its state only when one of the schema graphs is updated. If this option is not enabled the reasoner will invalidate its state whenever any named graph is updated which is wasteful because the exact same state will be recomputed. When this option is enabled schema graphs have to be regular named graph IRIs and wildcard graphs cannot be used as schema graphs.</dd> </dl>

reasoning.schemas

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#SCHEMAS">ReasoningOptions.SCHEMAS</a></code></dd> <dt>Description</dt> <dd>Option to specify the schemas and the named graphs that constitute each schema. The value is a comma-separated collection of schema=IRI pairs. There should be one pair for each named graph in a schema. The graphs for the default schema are set via the reasoning.schema.graphs option.</dd> </dl>

reasoning.schemas.memory.count

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>5</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#SCHEMAS_MEMORY_COUNT">ReasoningOptions.SCHEMAS_MEMORY_COUNT</a></code></dd> <dt>Description</dt> <dd>Option to specify the number of schemas to keep in memory. There can be more schemas defined in the database but only this many schemas will be kept in memory and other schemas will be pulled into memory as queries are getting answered. If this limit is too high, the amount of memory used for schemas will increase and might cause memory problems. If it is too low then answering reasoning queries might slow down.</dd> </dl>

reasoning.stride

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#STRIDE">ReasoningOptions.STRIDE</a></code></dd> <dt>Description</dt> <dd>If enabled, Stardog will use the new Stride reasoner based on Datalog. Some functionality could be unstable or missing.</dd> </dl>

reasoning.type

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>SL</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#REASONING_TYPE">ReasoningOptions.REASONING_TYPE</a></code></dd> <dt>Description</dt> <dd>Specifies the reasoning type associated with the database, most corresponding to the OWL Profiles of the same name. The following reasoning types are available: RDFS (OWL 2 axioms allowed in RDF Schema), QL (OWL 2 QL axioms), RL (OWL 2 RL axioms), EL (OWL 2 EL axioms), SL (a combination of RDFS, QL, RL and EL axioms + user-defined rules) and NONE (disables reasoning). Any axiom outside the selected type will be ignored by the reasoner. This option has no effect if reasoning.stride is enabled. Support for DL reasoning type has been removed in version 9.0 and cannot be used ianymore.</dd> </dl>

reasoning.virtual.graph.enabled

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/reasoning/ReasoningOptions.html#VIRTUAL_GRAPH">ReasoningOptions.VIRTUAL_GRAPH</a></code></dd> <dt>Description</dt> <dd>Flag to enable reasoning over virtual graphs and SERVICE clauses.</dd> </dl>

SQL

Options for the BI/SQL server interface. Read more about BI/SQL in Stardog.

sql.data.graphs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>stardog:context:all</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/serf/db/SerfOptions.html#DATA_GRAPHS">SerfOptions.DATA_GRAPHS</a></code></dd> <dt>Description</dt> <dd>Specifies which graphs will be queried by default via SQL queries. The default value (tag:stardog:api:context:all) is to query all local graphs (default or named) plus any virtual graphs that might be defined. Setting this option to another value will mean any other graph will be ignored by the SQL queries. Use the special graph tag:stardog:api:context:local to query all local graphs but exclude virtual graphs. Multiple graphs or graph aliases can be used as the option value.</dd> </dl>

sql.schema.auto

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/serf/db/SerfOptions.html#AUTO_SCHEMA">SerfOptions.AUTO_SCHEMA</a></code></dd> <dt>Description</dt> <dd>Enables automatic SQL schema generation when one does not exist in the database.</dd> </dl>

sql.schema.auto.source

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>owl</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/serf/db/SerfOptions.html#AUTO_SCHEMA_FORMAT">SerfOptions.AUTO_SCHEMA_FORMAT</a></code></dd> <dt>Description</dt> <dd>Specifies the input source to use for generating the SQL schema automatically when one does not exist in the database.</dd> </dl>

sql.schema.graph

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>stardog:sql:schema</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#SQL_SCHEMA_GRAPH">DatabaseOptions.SQL_SCHEMA_GRAPH</a></code></dd> <dt>Description</dt> <dd>Specifies which named graph in the database is used to read SQL schema mapping.</dd> </dl>

Security

Options for authentication and access control. Read more about security in Stardog.

security.masking.function

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>&quot;Insufficient privileges to view this value&quot;</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/security/SecurityOptions.html#MASKING_FUNCTION">SecurityOptions.MASKING_FUNCTION</a></code></dd> <dt>Description</dt> <dd>SPARQL function to mask values of sensitive properties. There should be just one variable in there which will be replaced by actual sensitive nodes at query runtime.</dd> </dl>

security.named.graphs

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/security/SecurityOptions.html#NAMED_GRAPH_SECURITY_ENABLED">SecurityOptions.NAMED_GRAPH_SECURITY_ENABLED</a></code></dd> <dt>Description</dt> <dd>If enabled, named graphs are an explicit resource type in Stardog&rsquo;s security model.</dd> </dl>

security.properties.sensitive

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/security/SecurityOptions.html#SENSITIVE_PROPERTIES">SecurityOptions.SENSITIVE_PROPERTIES</a></code></dd> <dt>Description</dt> <dd>Comma-separated set of property IRIs to which access is granted explicitly</dd> </dl>

security.properties.sensitive.groups

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/security/SecurityOptions.html#SENSITIVE_PROPERTY_GROUPS">SecurityOptions.SENSITIVE_PROPERTY_GROUPS</a></code></dd> <dt>Description</dt> <dd>Option to specify the sensitive property groups. The value is a collection of (group name, property IRI) pairs. A property that appears in at least one group is considered sensitive and requires explicit permission to be granted for read access. The property IRIs in the default group should be defined with the option security.properties.sensitive.</dd> </dl>

Spatial

Options for indexing and querying geospatial data. Read more about geospatial queries in Stardog.

spatial.distance.precision

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>8</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_DISTANCE_PRECISION">GeospatialOptions.SPATIAL_DISTANCE_PRECISION</a></code></dd> <dt>Description</dt> <dd>Specifies the precision used for the distance calculations. The value is the number of significant digits distances used to represent distances. Smaller numbers sacrifice precision for performance. The default is 8. A value of -1 can be provided to compute distances to the maximum precision.</dd> </dl>

spatial.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_ENABLED">GeospatialOptions.SPATIAL_ENABLED</a></code></dd> <dt>Description</dt> <dd>Enables the geospatial search index for the database.</dd> </dl>

spatial.error.percentage

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>0.025</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_ERROR_PCT">GeospatialOptions.SPATIAL_ERROR_PCT</a></code></dd> <dt>Description</dt> <dd>A measure of acceptable error of the shape as a fraction. The value roughly corresponds to the fraction of a shape&rsquo;s approximate radius. This setting does not affect points which are always indexed at the configured maximum precision as specified by spatial.precision but will affect other shapes. The default value is 0.025 (%2.5) and the valid values are between 0 and 0.5 (50%). Increasing this value will improve query performance as less levels are used but results will be less accurate.</dd> </dl>

spatial.features

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>UNKNOWN</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#FEATURES">GeospatialOptions.FEATURES</a></code></dd> <dt>Description</dt> <dd>Internally used by the system to keep track of what geospatial features are used in the data.</dd> </dl>

spatial.precision

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>11</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_PRECISION">GeospatialOptions.SPATIAL_PRECISION</a></code></dd> <dt>Description</dt> <dd>Specifies the precision used for the indexing of geospatial data. The smaller the value, the less precision, but the better the performance of geospatial queries. The default value is 11 which yields sub-meter precision; a value of 8 will give a precision +/- 50m.</dd> </dl>

spatial.remove.in.tx

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#REMOVE_IN_TX">GeospatialOptions.REMOVE_IN_TX</a></code></dd> <dt>Description</dt> <dd>If true, remove spatial features from the spatial index immediately within the transaction. Otherwise, spatial features are left in the index until a manual optimization command clear them. Setting this option to false improves update performances significantly but the results from the spatial index should be joined with the RDF index to exclude phantom spatial features from query results.</dd> </dl>

spatial.result.limit

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>10000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_RESULT_LIMIT">GeospatialOptions.SPATIAL_RESULT_LIMIT</a></code></dd> <dt>Description</dt> <dd>Specify the default limit on the number of results returned from a geospatial query (-1 returns all results). This only limits the number of results returned from the geospatial index, not from its containing query.</dd> </dl>

spatial.result.page_size

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>100000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#SPATIAL_RESULT_PAGE_SIZE">GeospatialOptions.SPATIAL_RESULT_PAGE_SIZE</a></code></dd> <dt>Description</dt> <dd>Specify the page size used for iteration over results from the spatial index. A page is held in memory, so this count should NOT be large.</dd> </dl>

spatial.use.jts

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/spatial/GeospatialOptions.html#USE_JTS">GeospatialOptions.USE_JTS</a></code></dd> <dt>Description</dt> <dd>Use JTS (Java Topology Suite) to support more complex spatial structures such as polygons.</dd> </dl>

Transaction

Options for configuring transaction behavior and logging.

transaction.commit.twophase

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TX_COMMIT_2P">DatabaseOptions.TX_COMMIT_2P</a></code></dd> <dt>Description</dt> <dd>Enables two phase commit protocol for the cluster (this option has no effect for the single node server). When this option is enabled all the nodes in the cluster will prepare the transaction in the first phase of the commit. This ensures all nodes complete time-consuming operations and only after that the second phase of the commit will start where the coordinator will send the commit command to the other nodes. Once a node completes the commit operation the effects of the transaction will be visible in query results. With this option enabled the period of time where nodes might return different results to queries will be minimized. This option is most useful for long transactions (e.g., transactions that take several minutes or more) where the commit time for each node might differ in a noticeable way without the additional commit phase. For short transactions, enabling this option will not provide visible benefits (especially if transactions complete under a second) and the overhead of the additional commit phase will result in increased transaction times.</dd> </dl>

transaction.isolation

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>SNAPSHOT</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_ISOLATION">DatabaseOptions.TRANSACTION_ISOLATION</a></code></dd> <dt>Description</dt> <dd>Configures isolation level for transactions</dd> </dl>

transaction.logging

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING">DatabaseOptions.TRANSACTION_LOGGING</a></code></dd> <dt>Description</dt> <dd>Option for whether or not the database logs all transactions events to disk. The default when not in Cluster mode is &quot;false&quot;, and when in Cluster mode the default is &quot;true&quot;.</dd> </dl>

transaction.logging.chunk.size

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>1024</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING_CHUNK_SIZE">DatabaseOptions.TRANSACTION_LOGGING_CHUNK_SIZE</a></code></dd> <dt>Description</dt> <dd>Number of statements per chunk when writing to the transaction log</dd> </dl>

transaction.logging.rotation.keep_backups

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES">DatabaseOptions.TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES</a></code></dd> <dt>Description</dt> <dd>Determines whether we keep backups of the rotated log file</dd> </dl>

transaction.logging.rotation.remove

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING_ROTATION_REMOVE">DatabaseOptions.TRANSACTION_LOGGING_ROTATION_REMOVE</a></code></dd> <dt>Description</dt> <dd>Determines whether the current log file will be rotated or removed (i.e., truncated)</dd> </dl>

transaction.logging.rotation.size

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>500M</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING_ROTATION_SIZE">DatabaseOptions.TRANSACTION_LOGGING_ROTATION_SIZE</a></code></dd> <dt>Description</dt> <dd>Determines the size at which the transaction log will be rotated. Accepts human-readable values (e.g., '500M', '1G') or byte values. When transaction.logging.use.rotated is enabled, total disk usage can be up to twice this value.</dd> </dl>

transaction.logging.use.rotated

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>true</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#TRANSACTION_LOGGING_USE_ROTATED">DatabaseOptions.TRANSACTION_LOGGING_USE_ROTATED</a></code></dd> <dt>Description</dt> <dd>Enables using rotated transaction log</dd> </dl>

transaction.write.conflict.strategy

<dl> <dt>Mutability</dt> <dd>Immutable</dd> <dt>Default</dt> <dd><code>LAST_COMMIT_WINS</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/index/IndexOptions.html#WRITE_CONFLICT_STRATEGY">IndexOptions.WRITE_CONFLICT_STRATEGY</a></code></dd> <dt>Description</dt> <dd>Which conflict resolution strategy to use for this database. Write conflicts occur when two transactions attempt to modify the same statement inthe database simultaneously.</dd> </dl>

Virtual Graphs

Options for querying external data sources as RDF. Read more about virtual graphs in Stardog.

local.iri.template.excludes

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#LOCAL_IRI_TEMPLATE_EXCLUDES">DatabaseOptions.LOCAL_IRI_TEMPLATE_EXCLUDES</a></code></dd> <dt>Description</dt> <dd>The set of IRI templates representing the form of IRIs which may NOT be present in the subject position of triples in the local database. Used when optimizing queries including both the local database and virtual graphs. IRI templates use the same placeholder syntax as mappings (eg, `{field}`) but the field names are ignored. Templates included here should be used to indicate which IRIs are guaranteed not to be present and should be updated when that changes.</dd> </dl>

local.iri.template.includes

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#LOCAL_IRI_TEMPLATE_INCLUDES">DatabaseOptions.LOCAL_IRI_TEMPLATE_INCLUDES</a></code></dd> <dt>Description</dt> <dd>The set of IRI templates representing the form of IRIs which may be present in the subject position of triples in the local database. Used when optimizing queries including both the local database and virtual graphs. IRI templates use the same placeholder syntax as mappings (eg, `{field}`) but the field names are ignored. Templates included here should be used to indicate which IRIs may be present and should be updated when that changes.</dd> </dl>

virtual.transparency

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#VIRTUAL_TRANSPARENCY">DatabaseOptions.VIRTUAL_TRANSPARENCY</a></code></dd> <dt>Description</dt> <dd>Determines the default dataset the database evaluates queries against; if true, the named graphs portion of the dataset will default to local named graphs and accessible virtual graphs; if false (the default), the named graphs portion of the dataset will be limited to local named graphs only.</dd> </dl>

Voicebox

Options for natural language query interface. Read more about Voicebox in Stardog.

voicebox.enabled

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>false</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#VOICEBOX_ENABLED">DatabaseOptions.VOICEBOX_ENABLED</a></code></dd> <dt>Description</dt> <dd>If set to true, Stardog enables the Voicebox LLM-based features for this database</dd> </dl>

voicebox.example.questions

<dl> <dt>Mutability</dt> <dd>Freely Mutable</dd> <dt>Default</dt> <dd><code></code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#VOICEBOX_EXAMPLE_QUESTIONS">DatabaseOptions.VOICEBOX_EXAMPLE_QUESTIONS</a></code></dd> <dt>Description</dt> <dd>List of example questions to showcase in the Voicebox UI for this database. These example questions may or may not correspond to a natural language question associated with a stored query. This option can be set without enabling Voicebox but in that case it will have no effect.</dd> </dl>

voicebox.preprocessors

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>default</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#VOICEBOX_PREPROCESORS">DatabaseOptions.VOICEBOX_PREPROCESORS</a></code></dd> <dt>Description</dt> <dd>List of preprocessors that will be applied to the stored queries to canonicalize the query serialization. Preprocessors transform queries into a form that is more suitable for Voicebox. Using the 'default' value enables the default list of preprocessors. The value 'noop' can be used to disable preprocessing.</dd> </dl>

voicebox.schema.size.limit

<dl> <dt>Mutability</dt> <dd>Mutable</dd> <dt>Default</dt> <dd><code>1000000</code></dd> <dt>Java API</dt> <dd><code><a href="../../javadoc/snarl/com/complexible/stardog/db/DatabaseOptions.html#VOICEBOX_MAX_SCHEMA_SIZE">DatabaseOptions.VOICEBOX_MAX_SCHEMA_SIZE</a></code></dd> <dt>Description</dt> <dd>The max size (in triples) of the schema size that allows Voicebox to be enabled on the database.Large schemas may require long vector indexing time and delay bringing the database online.This limit also applies to Voicebox example questions since their query strings are also vector indexed.</dd> </dl> <!-- END_AUTO_GENERATED_DATABASE_OPTIONS -->