Class DatabaseOptions

java.lang.Object
com.complexible.stardog.db.DatabaseOptions
All Implemented Interfaces:
MetaPropertyProvider

public final class DatabaseOptions extends 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
Author:
Michael Grove, Evren Sirin, Edgar Rodriguez-Diaz, Fernando Hernandez
  • Field Details

    • OPTION_QUERY_LOG_ENABLED

      public static final String OPTION_QUERY_LOG_ENABLED
      See Also:
    • 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
    • CATALOG_SCHEMA_EXPORT

      public static final ConfigProperty<Boolean> CATALOG_SCHEMA_EXPORT
    • AUTO_SCHEMA_REASONING

      public static final ConfigProperty<Boolean> AUTO_SCHEMA_REASONING
    • STRICT_PARSING

      public static final ConfigProperty<Boolean> STRICT_PARSING
      Controls whether Stardog parses RDF strictly (true, the default) or loosely (false)
    • EXTENDED_COMPARISON

      public static final ConfigProperty<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 to false. 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<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<String> NAME
      Name of the database.
    • CREATOR

      public static final InfoProperty<String> CREATOR
      Creator of the database.
    • TYPE

      public static final ConfigProperty<String> TYPE
      Type of the database.
    • IGNORE_BULK_LOAD_FILE_ERRORS

      public static final ConfigProperty<Boolean> IGNORE_BULK_LOAD_FILE_ERRORS
      Ignore file errors while doing a bulk load
    • BULK_LOAD_STREAM_FACTORY

      public static final ConfigProperty<String> BULK_LOAD_STREAM_FACTORY
    • BULK_LOAD_STREAM_ARGS

      public static final ConfigProperty<String> BULK_LOAD_STREAM_ARGS
    • CREATION_TX

      public static final InfoProperty<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<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<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<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<Collection<String>> LOCAL_IRI_TEMPLATE_INCLUDES
    • LOCAL_IRI_TEMPLATE_EXCLUDES

      public static final ConfigProperty<Collection<String>> LOCAL_IRI_TEMPLATE_EXCLUDES
    • EDGE_PROPERTIES

      public static final ConfigProperty<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<String> TRANSACTION_LOGGING_ROTATION_SIZE
      Option for the max size for logged transactions on disk. It has no effect without TRANSACTION_LOGGING. When TRANSACTION_LOGGING_USE_ROTATED is enabled, total disk usage can be up to twice this value since both the active log and the rotated log are capped at this limit.
      See Also:
    • TRANSACTION_LOGGING_ROTATION_REMOVE

      public static final ConfigProperty<Boolean> TRANSACTION_LOGGING_ROTATION_REMOVE
      When TRANSACTION_LOGGING is true, this option is for whether the rotated log will be kept or removed.
      See Also:
    • TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES

      public static final ConfigProperty<Boolean> TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES
      When TRANSACTION_LOGGING is true and TRANSACTION_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.
      See Also:
    • TRANSACTION_LOGGING_CHUNK_SIZE

      public static final ConfigProperty<Integer> TRANSACTION_LOGGING_CHUNK_SIZE
      Number of statements per chunk when writing to the transaction log. Chunking allows small transactions to interleave with large ones.
      See Also:
    • ONLINE

      public static final ConfigProperty<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<Boolean> FAILED_INITIALIZE
      Internal signaling property, if the database failed to initialize.
    • QUERY_ALL_GRAPHS

      public static final ConfigProperty<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<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<Collection<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<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<String> QUERY_DESCRIBE_STRATEGY
      Option to set the default DESCRIBE query strategy for the database. Built-in strategies include "default", "cbd" and "bidirectional.
    • QUERY_EQUALITY_IDENTITY

      public static final ConfigProperty<Boolean> QUERY_EQUALITY_IDENTITY
    • TRANSACTION_ISOLATION

      public static final ConfigProperty<DatabaseOptions.TransactionIsolation> TRANSACTION_ISOLATION
      Configuration option for setting the isolation level for transactions.
      See Also:
    • 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<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<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<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<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<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<Boolean> GRAPH_ALIASES
    • SPARQL_SERVICE_RESULT_LIMIT

      public static final ConfigProperty<Long> SPARQL_SERVICE_RESULT_LIMIT
    • SERVICE_PREFETCH_THRESHOLD

      public static final ConfigProperty<Integer> SERVICE_PREFETCH_THRESHOLD
    • SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX

      public static final ConfigProperty<String> SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX
    • TX_COMMIT_2P

      public static final ConfigProperty<Boolean> TX_COMMIT_2P
    • INLINE_STORED_QUERY

      public static final ConfigProperty<DatabaseOptions.InlineStoredQuery> INLINE_STORED_QUERY
    • LABEL_PROPERTIES

      public static final ConfigProperty<List<IRI>> LABEL_PROPERTIES
    • MEDIA_ENABLED

      public static final ConfigProperty<Boolean> MEDIA_ENABLED
    • VOICEBOX_ENABLED

      public static final ConfigProperty<Boolean> VOICEBOX_ENABLED
      Config option to enable or disable the Voicebox AI features on a per database level.
    • VOICEBOX_OPTIMIZE

      public static final ConfigProperty<Boolean> VOICEBOX_OPTIMIZE
    • VOICEBOX_PREPROCESORS

      public static final ConfigProperty<Collection<String>> VOICEBOX_PREPROCESORS
    • VOICEBOX_EXAMPLE_QUESTIONS

      public static final ConfigProperty<Collection<String>> VOICEBOX_EXAMPLE_QUESTIONS
    • VOICEBOX_MAX_SCHEMA_SIZE

      public static final ConfigProperty<Integer> VOICEBOX_MAX_SCHEMA_SIZE
    • 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<Collection<String>> SYSTEM_GRAPHS
    • DEFAULT_OFFLINE_TIMEOUT

      public static final long DEFAULT_OFFLINE_TIMEOUT
      Default offline timeout (in ms)
    • PARSER_OPTION_PREFIX

      public static final String PARSER_OPTION_PREFIX
      Any metadata property whose name starts with this prefix will be propagated to the parser.
      See Also:
    • PARSER_OPTIONS

      public static final Map<MetaProperty<?>,Option<?>> PARSER_OPTIONS
      Mapping of database options to corresponding parser options.
  • Method Details

    • defaults

      public static Metadata defaults(String theName)
    • getParserOptions

      public static Options getParserOptions(Metadata theMetadata)
      Extracts the parser 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 those explicitly enumerated as well as those whose name starts with PARSER_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 a parser config with the given options.