Class DatabaseOptions
- java.lang.Object
-
- com.complexible.stardog.db.DatabaseOptions
-
- All Implemented Interfaces:
MetaPropertyProvider
public final class DatabaseOptions extends java.lang.Object implements MetaPropertyProvider
Non-structural database options. These options, unlike
IndexOptions
, are not relevant to reading or creating the database. This set of options is for controlling behavior of the database as it lives within a Stardog DBMS.- Since:
- 0.7
- Version:
- 6.0
- Author:
- Michael Grove, Evren Sirin, Edgar Rodriguez-Diaz, Fernando Hernandez
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DatabaseOptions.InlineStoredQuery
static class
DatabaseOptions.LanguageNormalization
Different types of datatype normalization algorithms supported by Stardog.static class
DatabaseOptions.TransactionIsolation
Different types of transaction isolation supported by Stardog.
-
Field Summary
Fields Modifier and Type Field Description static ConfigProperty<java.util.Collection<java.lang.String>>
ARCHETYPES
The name of one or more database archetypes, used to associate ontologies and constraints with new databases.static ConfigProperty<java.lang.Boolean>
AUTO_SCHEMA_REASONING
static ConfigProperty<java.lang.String>
BULK_LOAD_STREAM_ARGS
static ConfigProperty<java.lang.String>
BULK_LOAD_STREAM_FACTORY
static ConfigProperty<Duration>
CONNECTION_TIMEOUT
The amount of time a connection to the database can be open, but inactive, before being automatically closed to reclaim the resources.static InfoProperty<DateTime>
CREATION_TIME
Creation time of the database.static InfoProperty<java.lang.Long>
CREATION_TX
The transaction ID at which this DB was created.static InfoProperty<java.lang.String>
CREATOR
Creator of the database.static long
DEFAULT_OFFLINE_TIMEOUT
Default offline timeout (in ms)static ConfigProperty<java.lang.Boolean>
EDGE_PROPERTIES
Option for enabling edge properties that allows RDF statements to appear as subjects of RDF statements (aka RDF*).static ConfigProperty<com.complexible.stardog.index.EqualityReasoningLevel>
EQUALITY_REASONING
static ConfigProperty<java.lang.Boolean>
EXTENDED_COMPARISON
Controls whether query evaluation will use extended literal comparison (true
, the default).static ConfigProperty<java.lang.Boolean>
FAILED_INITIALIZE
Internal signaling property, if the database failed to initialize.static ConfigProperty<java.lang.Boolean>
GRAPH_ALIASES
static ConfigProperty<java.lang.Boolean>
IGNORE_BULK_LOAD_FILE_ERRORS
Ignore file errors while doing a bulk loadstatic ConfigProperty<DatabaseOptions.InlineStoredQuery>
INLINE_STORED_QUERY
static ConfigProperty<java.util.Collection<IRI>>
LABEL_PROPERTIES
static ConfigProperty<DatabaseOptions.LanguageNormalization>
LANGUAGE_NORMALIZATION
Configuration option for determining the normalization algorithm for the language tags of literals.static ConfigProperty<java.util.Collection<java.lang.String>>
LOCAL_IRI_TEMPLATE_EXCLUDES
static ConfigProperty<java.util.Collection<java.lang.String>>
LOCAL_IRI_TEMPLATE_INCLUDES
static ConfigProperty<java.lang.Boolean>
LUCENE_MMAP
Option to enable memory-mapping in lucene indices (e.g., search, spatial).static ConfigProperty<java.lang.Boolean>
MEDIA_ENABLED
static InfoProperty<DateTime>
MODIFICATION_TIME
Last modification time for the database.static ConfigProperty<java.lang.String>
NAME
Name of the database.static ConfigProperty<java.util.Collection<Namespace>>
NAMESPACES
The default namespaces for the database.static ConfigProperty<Duration>
NATIVE_METRICS_REPORTING_INTERVAL
static ConfigProperty<java.lang.Boolean>
ONLINE
Option for whether or not the database is online.static java.lang.String
OPTION_QUERY_LOG_ENABLED
static java.lang.String
PARSER_OPTION_PREFIX
Any metadata property whose name starts with this prefix will be propagated to the parser.static java.util.Map<MetaProperty<?>,Option<?>>
PARSER_OPTIONS
Mapping of database options to correspondingparser options
.static ConfigProperty<java.lang.Boolean>
PRESERVE_BNODE_IDS
This option controls if the parser should preserve bnode identifiers specified in the source.static ConfigProperty<java.lang.Boolean>
PROGRESS_MONITOR_ENABLED
When enabled, the progress of various tasks will be printed in the server log.static ConfigProperty<java.lang.Boolean>
QUERY_ALL_GRAPHS
This option controls the behavior for answering queries that don't specify a dataset (FROM or FROM NAMED) in the query.static ConfigProperty<java.lang.String>
QUERY_DESCRIBE_STRATEGY
Option to set the default DESCRIBE query strategy for the database.static ConfigProperty<java.lang.Long>
QUERY_DICTIONARY_SIZE_THRESHOLD
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).static ConfigProperty<java.lang.Boolean>
QUERY_LOG_ENABLED
Config option to enable or disable the query logging on a per database level.static ConfigProperty<java.lang.String>
QUERY_MEMORY_LIMIT
Configuration option for determining the memory limit used by query;static ConfigProperty<com.complexible.stardog.QueryMemoryExceedsStrategy>
QUERY_MM_EXCEEDS_STRATEGY
Configuration option for determining strategy for the query behaviour once memory limit @{#OPTION_QUERY_MM_MEMORY_LIMIT} reached;static ConfigProperty<QueryPlanReuse>
QUERY_PLAN_REUSE
This option determines how Stardog will reuse cached query plans.static ConfigProperty<Duration>
QUERY_TIMEOUT
Determines max execution time for read query evaluation.static ConfigProperty<java.lang.Boolean>
QUERY_UPDATE_GRAPH_DIFF
Configuration option for determining the update procedure that will be used for SPARQL update queries ADD, COPY and MOVE.static ConfigProperty<Duration>
QUERY_UPDATE_TIMEOUT
Determines max execution time for SPARQL update query evaluation.static ConfigProperty<java.lang.Integer>
SERVICE_PREFETCH_THRESHOLD
static ConfigProperty<java.lang.String>
SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX
static ConfigProperty<java.lang.Long>
SPARQL_SERVICE_RESULT_LIMIT
static ConfigProperty<IRI>
SQL_SCHEMA_GRAPH
Option for the named graph which stores BI/SQL schema mappingstatic ConfigProperty<java.lang.Boolean>
STRICT_PARSING
Controls whether Stardog parses RDF strictly (true, the default) or loosely (false)static ConfigProperty<java.util.Collection<java.lang.String>>
SYSTEM_GRAPHS
static ConfigProperty<DatabaseOptions.TransactionIsolation>
TRANSACTION_ISOLATION
Configuration option for setting the isolation level for transactions.static ConfigProperty<java.lang.Boolean>
TRANSACTION_LOGGING
Option for whether or not the database logs all transactions events to disk.static ConfigProperty<java.lang.Boolean>
TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES
WhenTRANSACTION_LOGGING
is true andTRANSACTION_LOGGING_ROTATION_REMOVE
is false, this option controls whether we keep backups of the rotated log file.static ConfigProperty<java.lang.Boolean>
TRANSACTION_LOGGING_ROTATION_REMOVE
WhenTRANSACTION_LOGGING
is true, this option is for whether the rotated log will be kept or removed.static ConfigProperty<java.lang.Long>
TRANSACTION_LOGGING_ROTATION_SIZE
Option for the max size for logged transactions on disk.static ConfigProperty<java.lang.Boolean>
TRANSACTION_LOGGING_USE_ROTATED
Option for whether or not the synchronization process should use rotated log during synchronization in Cluster mode.static ConfigProperty<java.lang.Boolean>
TX_COMMIT_2P
static ConfigProperty<java.lang.String>
TYPE
Type of the database.static ConfigProperty<java.lang.Boolean>
VIRTUAL_TRANSPARENCY
Option for whether to include virtual graphs for graph variable queries.static ConfigProperty<java.lang.Boolean>
VOICEBOX_ENABLED
Config option to enable or disable the Voicebox AI features on a per database level.static ConfigProperty<java.util.Collection<java.lang.String>>
VOICEBOX_EXAMPLE_QUESTIONS
static ConfigProperty<java.util.Collection<java.lang.String>>
VOICEBOX_PREPROCESORS
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> void
copyOption(Metadata theMetadata, MetaProperty<T> theProp, Options theOptions, Option<T> theOption)
Copies one option from the metadata to the options if it already does not exist in the options.static void
copyParserOptions(Metadata theMetadata, Options theOptions)
Copies parser properties from the metadata to the options.static Metadata
defaults(java.lang.String theName)
static Options
getParserConfig(Metadata theMetadata)
Creates aparser config
with the given options.static Options
getParserOptions(Metadata theMetadata)
Extracts theparser options
from the metadata.
-
-
-
Field Detail
-
OPTION_QUERY_LOG_ENABLED
public static final java.lang.String OPTION_QUERY_LOG_ENABLED
- See Also:
- Constant Field Values
-
NATIVE_METRICS_REPORTING_INTERVAL
public static final ConfigProperty<Duration> NATIVE_METRICS_REPORTING_INTERVAL
-
EQUALITY_REASONING
public static final ConfigProperty<com.complexible.stardog.index.EqualityReasoningLevel> EQUALITY_REASONING
-
AUTO_SCHEMA_REASONING
public static final ConfigProperty<java.lang.Boolean> AUTO_SCHEMA_REASONING
-
STRICT_PARSING
public static final ConfigProperty<java.lang.Boolean> STRICT_PARSING
Controls whether Stardog parses RDF strictly (true, the default) or loosely (false)
-
EXTENDED_COMPARISON
public static final ConfigProperty<java.lang.Boolean> EXTENDED_COMPARISON
Controls whether query evaluation will use extended literal comparison (
true
, the default). The SPARQL spec does not define an ordering relationship between literals of different types (Section 15.1 ORDER BY) and equality check between two literals will produce a type error if the literals are not same (Section 17.4.1.7 RDFterm-equal). This results in unintuitive results such as the expression"123"^^xsd:int != "ABC"
evaluating tofalse
. Stardog extends the'<'
operator (17.3.1 Operator Extensibility) such that literals of different datatypes are first compared based on their string values and then based on the string value of their datatypes. If this option is disabled literal comparison will be done as to produce type errors.
-
PRESERVE_BNODE_IDS
public static final ConfigProperty<java.lang.Boolean> PRESERVE_BNODE_IDS
This option controls if the parser should preserve bnode identifiers specified in the source. Preserving bnode identifiers help speed parsing and loading time but it also has an important side-effect that if two distinct files using the same bnode identifier are loaded to the same database, the bnode in different files will end up pointing to the same node in the database. If the input files do not use bnode identifiers (e.g. in Turtle syntax only [] are used for bnodes) then this configuration option has no effect since such bnodes are always assigned a unique identifier. But if input files use explicit bnode identifiers (e.g. _:bnode1 in Turtle syntax) and multiple files may use same bnode identifiers then this configuration option should be turned off.Default value: true
-
NAME
public static final ConfigProperty<java.lang.String> NAME
Name of the database.
-
CREATOR
public static final InfoProperty<java.lang.String> CREATOR
Creator of the database.
-
TYPE
public static final ConfigProperty<java.lang.String> TYPE
Type of the database.
-
IGNORE_BULK_LOAD_FILE_ERRORS
public static final ConfigProperty<java.lang.Boolean> IGNORE_BULK_LOAD_FILE_ERRORS
Ignore file errors while doing a bulk load
-
BULK_LOAD_STREAM_FACTORY
public static final ConfigProperty<java.lang.String> BULK_LOAD_STREAM_FACTORY
-
BULK_LOAD_STREAM_ARGS
public static final ConfigProperty<java.lang.String> BULK_LOAD_STREAM_ARGS
-
CREATION_TX
public static final InfoProperty<java.lang.Long> CREATION_TX
The transaction ID at which this DB was created. Default should be null.
-
CREATION_TIME
public static final InfoProperty<DateTime> CREATION_TIME
Creation time of the database.
-
MODIFICATION_TIME
public static final InfoProperty<DateTime> MODIFICATION_TIME
Last modification time for the database.
-
TRANSACTION_LOGGING
public static final ConfigProperty<java.lang.Boolean> TRANSACTION_LOGGING
Option for whether or not the database logs all transactions events to disk. When a database is created in Cluster mode, the default will be true.
-
TRANSACTION_LOGGING_USE_ROTATED
public static final ConfigProperty<java.lang.Boolean> TRANSACTION_LOGGING_USE_ROTATED
Option for whether or not the synchronization process should use rotated log during synchronization in Cluster mode.
-
VIRTUAL_TRANSPARENCY
public static final ConfigProperty<java.lang.Boolean> VIRTUAL_TRANSPARENCY
Option for whether to include virtual graphs for graph variable queries. The default is false.
-
LOCAL_IRI_TEMPLATE_INCLUDES
public static final ConfigProperty<java.util.Collection<java.lang.String>> LOCAL_IRI_TEMPLATE_INCLUDES
-
LOCAL_IRI_TEMPLATE_EXCLUDES
public static final ConfigProperty<java.util.Collection<java.lang.String>> LOCAL_IRI_TEMPLATE_EXCLUDES
-
EDGE_PROPERTIES
public static final ConfigProperty<java.lang.Boolean> EDGE_PROPERTIES
Option for enabling edge properties that allows RDF statements to appear as subjects of RDF statements (aka RDF*). The default is false.
-
TRANSACTION_LOGGING_ROTATION_SIZE
public static final ConfigProperty<java.lang.Long> TRANSACTION_LOGGING_ROTATION_SIZE
Option for the max size for logged transactions on disk. It has no effect withoutTRANSACTION_LOGGING
.- See Also:
TRANSACTION_LOGGING
-
TRANSACTION_LOGGING_ROTATION_REMOVE
public static final ConfigProperty<java.lang.Boolean> TRANSACTION_LOGGING_ROTATION_REMOVE
WhenTRANSACTION_LOGGING
is true, this option is for whether the rotated log will be kept or removed.
-
TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES
public static final ConfigProperty<java.lang.Boolean> TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES
WhenTRANSACTION_LOGGING
is true andTRANSACTION_LOGGING_ROTATION_REMOVE
is false, this option controls whether we keep backups of the rotated log file. By default, we do not maintain backups since we could fill up the disk with backup files.
-
ONLINE
public static final ConfigProperty<java.lang.Boolean> ONLINE
Option for whether or not the database is online. The value for this option at database creation time determines the initial state of the database. This option cannot be modified directly after the database has been created. The special admin functions should be used to change the value of this option.
-
FAILED_INITIALIZE
public static final ConfigProperty<java.lang.Boolean> FAILED_INITIALIZE
Internal signaling property, if the database failed to initialize.
-
QUERY_ALL_GRAPHS
public static final ConfigProperty<java.lang.Boolean> QUERY_ALL_GRAPHS
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. The queries that specify a dataset are not affected by this option.
-
QUERY_PLAN_REUSE
public static final ConfigProperty<QueryPlanReuse> QUERY_PLAN_REUSE
This option determines how Stardog will reuse cached query plans. See
QueryPlanReuse
for more details.
-
NAMESPACES
public static final ConfigProperty<java.util.Collection<Namespace>> NAMESPACES
The default namespaces for the database. Legal input is a comma-separated list of <prefix>=<namespace> values.
-
CONNECTION_TIMEOUT
public static final ConfigProperty<Duration> CONNECTION_TIMEOUT
The amount of time a connection to the database can be open, but inactive, before being automatically closed to reclaim the resources.
-
QUERY_TIMEOUT
public static final ConfigProperty<Duration> QUERY_TIMEOUT
Determines max execution time for read query evaluation.
-
QUERY_UPDATE_TIMEOUT
public static final ConfigProperty<Duration> QUERY_UPDATE_TIMEOUT
Determines max execution time for SPARQL update query evaluation.
-
ARCHETYPES
public static final ConfigProperty<java.util.Collection<java.lang.String>> ARCHETYPES
The name of one or more database archetypes, used to associate ontologies and constraints with new databases. Built-in archetypes are "PROV" and "SKOS", see the docs for instructions to create your own.
-
LUCENE_MMAP
public static final ConfigProperty<java.lang.Boolean> LUCENE_MMAP
Option to enable memory-mapping in lucene indices (e.g., search, spatial). Memory mapping is enabled by default.
-
QUERY_DESCRIBE_STRATEGY
public static final ConfigProperty<java.lang.String> QUERY_DESCRIBE_STRATEGY
Option to set the default DESCRIBE query strategy for the database. Built-in strategies include "default", "cbd" and "bidirectional.
-
TRANSACTION_ISOLATION
public static final ConfigProperty<DatabaseOptions.TransactionIsolation> TRANSACTION_ISOLATION
Configuration option for setting the isolation level for transactions.- See Also:
- Isolation
-
LANGUAGE_NORMALIZATION
public static final ConfigProperty<DatabaseOptions.LanguageNormalization> LANGUAGE_NORMALIZATION
Configuration option for determining the normalization algorithm for the language tags of literals.
-
PROGRESS_MONITOR_ENABLED
public static final ConfigProperty<java.lang.Boolean> PROGRESS_MONITOR_ENABLED
When enabled, the progress of various tasks will be printed in the server log.
-
QUERY_UPDATE_GRAPH_DIFF
public static final ConfigProperty<java.lang.Boolean> QUERY_UPDATE_GRAPH_DIFF
Configuration option for determining the update procedure that will be used for SPARQL update queries ADD, COPY and MOVE. By default, Stardog will compute the diff between the source and the destination graphs and only apply the diff to the destination graph.
-
QUERY_MEMORY_LIMIT
public static final ConfigProperty<java.lang.String> QUERY_MEMORY_LIMIT
Configuration option for determining the memory limit used by query;
-
QUERY_MM_EXCEEDS_STRATEGY
public static final ConfigProperty<com.complexible.stardog.QueryMemoryExceedsStrategy> QUERY_MM_EXCEEDS_STRATEGY
Configuration option for determining strategy for the query behaviour once memory limit @{#OPTION_QUERY_MM_MEMORY_LIMIT} reached;
-
QUERY_LOG_ENABLED
public static final ConfigProperty<java.lang.Boolean> QUERY_LOG_ENABLED
Config option to enable or disable the query logging on a per database level. Only relevant in conjunction with the query log module.
-
QUERY_DICTIONARY_SIZE_THRESHOLD
public static final ConfigProperty<java.lang.Long> QUERY_DICTIONARY_SIZE_THRESHOLD
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). The default value is 100K.
-
GRAPH_ALIASES
public static final ConfigProperty<java.lang.Boolean> GRAPH_ALIASES
-
SPARQL_SERVICE_RESULT_LIMIT
public static final ConfigProperty<java.lang.Long> SPARQL_SERVICE_RESULT_LIMIT
-
SERVICE_PREFETCH_THRESHOLD
public static final ConfigProperty<java.lang.Integer> SERVICE_PREFETCH_THRESHOLD
-
SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX
public static final ConfigProperty<java.lang.String> SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX
-
TX_COMMIT_2P
public static final ConfigProperty<java.lang.Boolean> TX_COMMIT_2P
-
INLINE_STORED_QUERY
public static final ConfigProperty<DatabaseOptions.InlineStoredQuery> INLINE_STORED_QUERY
-
LABEL_PROPERTIES
public static final ConfigProperty<java.util.Collection<IRI>> LABEL_PROPERTIES
-
MEDIA_ENABLED
public static final ConfigProperty<java.lang.Boolean> MEDIA_ENABLED
-
VOICEBOX_ENABLED
public static final ConfigProperty<java.lang.Boolean> VOICEBOX_ENABLED
Config option to enable or disable the Voicebox AI features on a per database level.
-
VOICEBOX_PREPROCESORS
public static final ConfigProperty<java.util.Collection<java.lang.String>> VOICEBOX_PREPROCESORS
-
VOICEBOX_EXAMPLE_QUESTIONS
public static final ConfigProperty<java.util.Collection<java.lang.String>> VOICEBOX_EXAMPLE_QUESTIONS
-
SQL_SCHEMA_GRAPH
public static final ConfigProperty<IRI> SQL_SCHEMA_GRAPH
Option for the named graph which stores BI/SQL schema mapping
-
SYSTEM_GRAPHS
public static final ConfigProperty<java.util.Collection<java.lang.String>> SYSTEM_GRAPHS
-
DEFAULT_OFFLINE_TIMEOUT
public static final long DEFAULT_OFFLINE_TIMEOUT
Default offline timeout (in ms)
-
PARSER_OPTION_PREFIX
public static final java.lang.String PARSER_OPTION_PREFIX
Any metadata property whose name starts with this prefix will be propagated to the parser.- See Also:
- Constant Field Values
-
PARSER_OPTIONS
public static final java.util.Map<MetaProperty<?>,Option<?>> PARSER_OPTIONS
Mapping of database options to correspondingparser options
.
-
-
Method Detail
-
defaults
public static Metadata defaults(java.lang.String theName)
-
getParserOptions
public static Options getParserOptions(Metadata theMetadata)
Extracts theparser options
from the metadata.
-
copyParserOptions
public static void copyParserOptions(Metadata theMetadata, Options theOptions)
Copies parser properties from the metadata to the options. Parser properties are thoseexplicitly enumerated
as well as those whose name starts withPARSER_OPTION_PREFIX
. Options that already exist will not be overwritten.
-
copyOption
public static <T> void copyOption(Metadata theMetadata, MetaProperty<T> theProp, Options theOptions, Option<T> theOption)
Copies one option from the metadata to the options if it already does not exist in the options.
-
getParserConfig
public static Options getParserConfig(Metadata theMetadata)
Creates aparser config
with the given options.
-
-