openapi: 3.0.1 info: title: Stardog HTTP Checkpoints Data Sources API description: "# Overview\nStardog supports the standard SPARQL Protocol HTTP bindings, as well as additional functionality via HTTP.\nStardog also supports SPARQL 1.1’s Service Description format. See the [spec](https://www.w3.org/TR/sparql11-service-description/) if you want details.\n### Generating URLs\nIf you are running the HTTP server at\n\n ```http://localhost:12345```\n\nTo form the URI of a particular Stardog Database, the Database Short Name is the first URL path segment appended to the deployment URI. For example, for the Database called `cytwombly`, deployed in the above example HTTP server, the Database Network Name might be\n\n```http://localhost:12345/cytwombly```\n\nAll the resources related to this database are identified by URL path segments relative to the Database Network Name; hence:\n\n```http://localhost:12345/cytwombly/size```\n# Error Codes\nHere are explanations of what the various error codes mean:\n\nError Code | Category | Meaning\n-----------|----------|---------\n000012 | GENERIC |UNKNOWN\n000IA2 | GENERIC |ILLEGAL_ARGUMENT\n000SD4 | GENERIC |SHUTTING_DOWN\n00PCE2 | GENERIC |PROCESS_CANCELLED\n00PE2 | GENERIC |PROCESS_EXISTS\n00PNE2 | GENERIC |PROCESS_NOT_FOUND\n00UOE2 | GENERIC |UNSUPPORTED_OPERATION\n0D0012 | DATABASE |UNKNOWN_DATABASE_EXCEPTION\n0D0CE3 | DATABASE |DATABASE_CONSISTENCY_EXCEPTION\n0D0DC2 | DATABASE |DATABASE_CONFLICT\n0D0DE2 | DATABASE |DATABASE_EXISTS\n0D0DU2 | DATABASE |DATABASE_UNKNOWN\n0D0TU2 | DATABASE |TRANSACTION_UNKNOWN\n0DICC2 | DATABASE |INVALID_CONFIGURATION\n0DIDN2 | DATABASE |INVALID_DATABASE_NAME\n0DIDS2 | DATABASE |INVALID_DATABASE_STATE\nCLNIC3 | CLUSTER_ERROR |NOT_IN_CLUSTER\nCLOEF3 | CLUSTER_ERROR |EXPEL_FAILED\nHS0012 | HTTP |UNKNOWN_CONNECTION_EXCEPTION\nHSJSE2 | HTTP |JSON_SYNTAX_EXCEPTION\nHSJSO2 | HTTP |JSON_EXCEPTION\nHSSSL3 | HTTP |SSL_EXCEPTION\nQE0012 | QUERY_EXECUTION |UNKNOWN_QUERY_EXCEPTION\nQE0FE2 | QUERY_EXECUTION |FUNCTION_EXISTS\nQE0PE2 | QUERY_EXECUTION |PARSE_EXCEPTION\nQE0QE2 | QUERY_EXECUTION |QUERY_EXISTS\nQECTP2 | QUERY_EXECUTION |CANNOT_TRANSLATE_PLAN\nQEFNF2 | QUERY_EXECUTION |FUNCTION_NOT_FOUND\nQEIQT2 | QUERY_EXECUTION |INVALID_QUERY_TYPE\nQEIVR2 | QUERY_EXECUTION |INVALID_RDF\nQEMAQ2 | QUERY_EXECUTION |MALFORMED_QUERY\nQEONS2 | QUERY_EXECUTION |OPERATION_NOT_SUPPORTED\nQEQNF2 | QUERY_EXECUTION |QUERY_NOT_FOUND\nQEQOE2 | QUERY_EXECUTION |OPERATOR_EXCEPTION\nQEQPE2 | QUERY_EXECUTION |QUERY_PARSE_EXCEPTION\nQEWCE2 | QUERY_EXECUTION |WRITE_CONFLICT_EXCEPTION\nSE0012 | SECURITY |UNKNOWN_SECURITY_EXCEPTION\nSE0IP2 | SECURITY |ILLEGAL_PASSWORD\nSE0RE2 | SECURITY |SECURITY_RESOURCE_EXISTS\nSEAEE2 | SECURITY |AUTHENTICATION_EXCEPTION\nSEAOE2 | SECURITY |AUTHORIZATION_EXCEPTION\nSEIPT2 | SECURITY |INCORRECT_PRINCIPAL_TRANSACTION\nSERIU2 | SECURITY |SECURITY_RESOURCE_IN_USE\nSERNF2 | SECURITY |SECURITY_RESOURCE_NOT_FOUND\nSERNI2 | SECURITY |SECURITY_RESOURCE_NAME_INVALID\nSERTI2 | SECURITY |SECURITY_RESOURCE_TYPE_INVALID\nZK0013 | ZOOKEEPER_ERROR |ZOOKEEPER_UNKNOWN_EXCEPTION\nZK00U3 | ZOOKEEPER_ERROR |UNIMPLEMENTED\nZK0AE3 | ZOOKEEPER_ERROR |API_ERROR\nZK0AF3 | ZOOKEEPER_ERROR |AUTH_FAILED\nZK0BV3 | ZOOKEEPER_ERROR |BAD_VERSION\nZK0CE3 | ZOOKEEPER_ERROR |NO_CHILDREN_FOR_EPHEMERAL\nZK0CL3 | ZOOKEEPER_ERROR |CONNECTION_LOSS\nZK0CR3 | ZOOKEEPER_ERROR |ZOOKEEPER_CONNECTION_REFUSED\nZK0DI3 | ZOOKEEPER_ERROR |DATA_INCONSISTENCY\nZK0IA3 | ZOOKEEPER_ERROR |BAD_ARGUMENTS\nZK0ME3 | ZOOKEEPER_ERROR |MARSHALLING_ERROR\nZK0NA3 | ZOOKEEPER_ERROR |NO_AUTH\nZK0NE3 | ZOOKEEPER_ERROR |NODE_EXISTS\nZK0NN3 | ZOOKEEPER_ERROR |NO_NODE\nZK0OT3 | ZOOKEEPER_ERROR |OPERATION_TIMEOUT\nZK0RI3 | ZOOKEEPER_ERROR |RUNTIME_INCONSISTENCY\nZK0SE3 | ZOOKEEPER_ERROR |SYSTEM_ERROR\nZK0SM3 | ZOOKEEPER_ERROR |SESSION_MOVED\nZKEXS3 | ZOOKEEPER_ERROR |SESSION_EXPIRED\nZKIAL3 | ZOOKEEPER_ERROR |INVALIDACL\nZKICB3 | ZOOKEEPER_ERROR |INVALID_CALLBACK\nZKNEY3 | ZOOKEEPER_ERROR |NOT_EMPTY\nZKNRO3 | ZOOKEEPER_ERROR |NOT_READONLY\n" contact: url: https://stardog.com license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0 version: 12.0.3 x-logo: url: https://d33wubrfki0l68.cloudfront.net/66e9dcff51317cfc11b9f3d4ce2917a11ba81681/543c1/img/stardog-logo-optimized.svg servers: - url: http://localhost:5820 tags: - name: Data Sources description: Operations for managing data sources, which are used by virtual graphs paths: /admin/data_sources: get: tags: - Data Sources summary: List data sources operationId: listDataSources responses: '200': description: Operation successful content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_NAME_LIST' post: tags: - Data Sources summary: Add data source operationId: addDataSource requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_CREATE' responses: '201': description: Data source created /admin/data_sources/test_new_connection: post: tags: - Data Sources summary: Test the connection for a new data source operationId: testNewConnection requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_OPTIONS' responses: '204': description: Data source test successful '404': $ref: '#/components/responses/NAME_DS_404' '503': description: Data source test failed /admin/data_sources/{name}/options: get: tags: - Data Sources summary: Get data source options operationId: getDataSourceOptions parameters: - $ref: '#/components/parameters/name_ds' responses: '200': description: Operation successful content: '*/*': schema: $ref: '#/components/schemas/DATA_SOURCE_OPTIONS' '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/refresh_metadata: post: tags: - Data Sources summary: Refresh metadata operationId: refreshMetadata parameters: - $ref: '#/components/parameters/name_ds' requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_REFRESH_TABLE' responses: '204': description: Data source metadata refreshed '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}: put: tags: - Data Sources summary: Update data source operationId: updateDataSource parameters: - $ref: '#/components/parameters/name_ds' requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_UPDATE' responses: '201': description: Virtual graph updated delete: tags: - Data Sources summary: Delete data source operationId: deleteDataSource parameters: - $ref: '#/components/parameters/name_ds' responses: '204': description: Data source deleted '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/query: post: tags: - Data Sources summary: Query data source operationId: queryDataSource parameters: - $ref: '#/components/parameters/name_ds' requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_QUERY' responses: '200': description: Query executed /admin/data_sources/list: get: tags: - Data Sources summary: List data sources' info operationId: dataSourceInfos responses: '200': description: Operation successful content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_LIST' /admin/data_sources/{name}/info: get: tags: - Data Sources summary: Get data source info operationId: dataSourceInfo parameters: - $ref: '#/components/parameters/name_ds' responses: '200': description: Operation successful content: application/json: schema: $ref: '#/components/schemas/SINGLE_DATA_SOURCE_INFO' '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/online: post: tags: - Data Sources summary: Online data source operationId: onlineDataSource parameters: - $ref: '#/components/parameters/name_ds' responses: '204': description: Data source onlined '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/refresh_counts: post: tags: - Data Sources summary: Refresh table row-count estimates operationId: refreshCounts parameters: - $ref: '#/components/parameters/name_ds' requestBody: $ref: '#/components/requestBodies/DATA_SOURCE_REFRESH_TABLE' responses: '204': description: Data source counts refreshed '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/share: post: tags: - Data Sources summary: Share data source operationId: shareDataSource parameters: - $ref: '#/components/parameters/name_ds' responses: '204': description: Data source shared '404': $ref: '#/components/responses/NAME_DS_404' /admin/data_sources/{name}/test_data_source: post: tags: - Data Sources summary: Test an existing data source connection operationId: testDataSource parameters: - $ref: '#/components/parameters/name_ds' responses: '204': description: Data source test successful '404': $ref: '#/components/responses/NAME_DS_404' '503': description: Data source test failed /admin/data_sources/data_source_type_description: get: tags: - Data Sources summary: Describe the supported data source types and their options. operationId: getDbTypeOptionsDescription responses: '200': description: Operation successful content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_TYPE_DESCRIPTION' /admin/data_sources/{name}/available: get: tags: - Data Sources summary: Available description: Returns whether or not the data source is available operationId: availableDataSource parameters: - $ref: '#/components/parameters/name_ds' responses: '200': description: Operation successful content: text/plain: {} application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_AVAILABLE' '404': $ref: '#/components/responses/NAME_DS_404' components: requestBodies: DATA_SOURCE_QUERY: content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_QUERY' DATA_SOURCE_REFRESH_TABLE: content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_REFRESH_TABLE' DATA_SOURCE_UPDATE: content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_UPDATE' DATA_SOURCE_CREATE: content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_CREATE' DATA_SOURCE_OPTIONS: content: application/json: schema: $ref: '#/components/schemas/DATA_SOURCE_OPTIONS' schemas: DATA_SOURCE_TYPE_DESCRIPTION: required: - data_source_type_description properties: data_source_type_description: required: - DATA_SOURCE_OPTIONS - VIRTUAL_GRAPH_OPTIONS - DATA_SOURCE_FAMILIES - DATA_SOURCE_TYPES type: object properties: DATA_SOURCE_OPTIONS: type: object additionalProperties: $ref: '#/components/schemas/DATA_SOURCE_OPTION_DESCRIPTION' description: Map of data source option names to their descriptions VIRTUAL_GRAPH_OPTIONS: type: object additionalProperties: $ref: '#/components/schemas/DATA_SOURCE_OPTION_DESCRIPTION' description: Map of virtual graph option names to their descriptions DATA_SOURCE_FAMILIES: type: object properties: DATA_SOURCE_OPTIONS: type: object additionalProperties: $ref: '#/components/schemas/DATA_SOURCE_OPTION_DESCRIPTION' description: Additional descriptions of data source options that are supported by this family VIRTUAL_GRAPH_OPTIONS: type: object additionalProperties: $ref: '#/components/schemas/DATA_SOURCE_OPTION_DESCRIPTION' description: Additional descriptions of virtual graph options that are supported by this family description: Map of data source type families - JDBC, CASSANDRA, etc. DATA_SOURCE_TYPES: required: - label - dataSourceFamily type: object properties: label: type: string description: A display name for the data source type dataSourceFamily: type: string description: Which data source family this data source type belongs to enum: - CASSANDRA - ELASTICSEARCH - JDBC - MONGODB - SPARQL vendorClientDownloadUrl: type: string description: A link to where the client driver for the data source can be downloaded format: URI vendorClientDocumentationUrl: type: string description: A link to the vendor documentation for the client driver format: URI driverInstalled: type: boolean description: Whether the client driver for the data source was detected by Stardog DATA_SOURCE_OPTIONS: type: object properties: jdbc.url: type: object properties: examples: type: array description: Singleton list containing a template connection string items: type: string jdbc.driver: type: object properties: default: type: string description: Default value for the jdbc client driver class name description: Additional descriptions for data source options for this data source type description: Map of data source types and their descriptions - ATHENA, ORACLE, CASSANDRA, MONGODB, etc. DATA_SOURCE_QUERY: properties: query: type: string description: Data source native query string options: $ref: '#/components/schemas/VIRTUAL_GRAPH_OPTIONS' DATA_SOURCE_OPTIONS: properties: jdbc.url: type: string description: The URL of the JDBC connection jdbc.username: type: string description: The username used to make the JDBC connection jdbc.password: type: string description: The password used to make the JDBC connection jdbc.driver: type: string description: The driver class name used to make the JDBC connection. If omitted, driver will be taken from registered Service Providers. mongodb.uri: type: string description: The URI for a MongoDB connection elasticsearch.rest.urls: type: string description: Whitespace-delimited list of connection `scheme://host:port` values for Elasticsearch. Scheme defaults to `http`. example: https://server1:9200 http://server2:9200 server3:9200 elasticsearch.indexes: type: string description: Optional comma-delimited list of indexes to make visible to the data source. Defaults to all indexes. example: my_index1,other_index elasticsearch.username: type: string elasticsearch.password: type: string cassandra.contact.point: type: string description: The address of the Cassandra node(s) that the driver uses to discover the cluster topology cassandra.port: type: integer description: The port to use to connect to the Cassandra host. format: int32 example: 42 default: 9042 cassandra.keyspace: type: string description: The Cassandra keyspace to use for this session cassandra.username: type: string description: The username for the Cassandra cluster cassandra.password: type: string description: The password for the Cassandra cluster sparql.url: type: string description: SPARQL query endpoint/connection string with database specified format: URI example: http://myhost:26023/testdb/query sparql.username: type: string description: The username to access the SPARQL endpoint sparql.password: type: string description: The password to access the SPARQL endpoint sparql.graphname: type: string description: The graph name on the SPARQL endpoint to be mapped as virtual graph unique.key.sets: type: string description: 'For data sources that do not express unique constraints in their metadata, either because unique constraints are not supported or because the data source did not include some or all of the valid constraints for reasons such as performance concerns, this property is used to define additional constraints manually. The property value is a comma-separated list of keys that define unique rows in a table. Each key is itself a comma-separated list of schema-qualified columns, enclosed in parentheses. For example, if table `APP.CUSTOMERS` has an `ID` column that serves as a primary key and a pair of columns, `FNAME` and `LNAME`, that together are a unique key, the value to express that is: `(APP.CUSTOMERS.ID),(APP.CUSTOMERS.FNAME,APP.CUSTOMERS.LNAME)`' sql.dialect: type: string description: The format of the generated SQL, for use when using an unsupported JDBC driver example: MYSQL sql.schemas: type: string description: A comma-separated list of schemas to append to the schema search path sql.default.schema: type: string description: Override the default schema for the connected user additionalProperties: pattern: ext\..+ type: string description: Additional properties to pass directly to the JDBC driver externalDocs: url: https://docs.stardog.com/virtual-graphs/virtual-graph-configuration#virtual-graph-properties DATA_SOURCE_OPTION_DESCRIPTION: type: object properties: default: description: The default value for the option. type: type: string description: The data type of the option value description: type: string description: A description of the option examples: type: array description: List of all possible values, or a list with a single template or example value items: {} required: type: boolean description: Whether the option is required for the family of data source types that support the option default: false optionGroup: type: string description: The name of the group of options that an option belongs to, if any enum: - advanced options - connection pool options DATA_SOURCE_UPDATE: required: - options properties: options: $ref: '#/components/schemas/DATA_SOURCE_OPTIONS' force: type: boolean description: If true, data source will be updated even while in use default: false DATA_SOURCE_NAME_LIST: required: - data_sources properties: data_sources: type: array items: type: string example: data-source://myDS DATA_SOURCE_CREATE: required: - name - options properties: name: type: string options: $ref: '#/components/schemas/DATA_SOURCE_OPTIONS' DATA_SOURCE_LIST: required: - data_sources properties: data_sources: type: array items: $ref: '#/components/schemas/DATA_SOURCE' VIRTUAL_GRAPH_OPTIONS: properties: base: type: string description: Base IRI used to resolve relative IRIs from virtual graphs format: URI jdbc.url: type: string description: The URL of the JDBC connection jdbc.username: type: string description: The username used to make the JDBC connection jdbc.password: type: string description: The password used to make the JDBC connection jdbc.driver: type: string description: The driver class name used to make the JDBC connection. If omitted, driver will be taken from registered Service Providers. jdbc.statement.fetch.size: type: integer description: A hint as to the number of rows that should be fetched from the database at a time. Used to balance network traffic with memory use. format: int32 example: 42 mappings.syntax: type: string enum: - R2RML - SMS mappings.format: type: string description: For R2RML, the RDF format of the mappings mongodb.uri: type: string description: The URI for a MongoDB connection elasticsearch.rest.urls: type: string description: Whitespace-delimited list of connection `scheme://host:port` values for Elasticsearch. Scheme defaults to `http`. example: https://server1:9200 http://server2:9200 server3:9200 elasticsearch.indexes: type: string description: Optional comma-delimited list of indexes to make visible to the data source. Defaults to all indexes. example: my_index1,other_index elasticsearch.username: type: string elasticsearch.password: type: string cassandra.contact.point: type: string description: The address of the Cassandra node(s) that the driver uses to discover the cluster topology cassandra.port: type: integer description: The port to use to connect to the Cassandra host. format: int32 example: 42 default: 9042 cassandra.keyspace: type: string description: The Cassandra keyspace to use for this session cassandra.username: type: string description: The username for the Cassandra cluster cassandra.password: type: string description: The password for the Cassandra cluster cassandra.allow.filtering: type: boolean description: Whether to include the `ALLOW FILTERING` clause at the end of Cassandra CQL queries. Not recommended for production use. default: false sparql.url: type: string description: SPARQL query endpoint/connection string with database specified format: URI example: http://myhost:26023/testdb/query sparql.username: type: string description: The username to access the SPARQL endpoint sparql.password: type: string description: The password to access the SPARQL endpoint sparql.graphname: type: string description: The graph name on the SPARQL endpoint to be mapped as virtual graph sparql.statsbasedoptimization: type: boolean description: Whether to enable statistics-based optimization while accessing the SPARQL endpoint default: true parser.sql.quoting: type: string description: DB quoting convention used by the parser example: ANSI sql.functions: type: string description: A comma-separated list of SQL function names to register with the parser percent.encode: type: boolean description: Should IRI template strings be percent-encoded to be valid IRIs? default: true unique.key.sets: type: string description: 'For data sources that do not express unique constraints in their metadata, either because unique constraints are not supported or because the data source did not include some or all of the valid constraints for reasons such as performance concerns, this property is used to define additional constraints manually. The property value is a comma-separated list of keys that define unique rows in a table. Each key is itself a comma-separated list of schema-qualified columns, enclosed in parentheses. For example, if table `APP.CUSTOMERS` has an `ID` column that serves as a primary key and a pair of columns, `FNAME` and `LNAME`, that together are a unique key, the value to express that is: `(APP.CUSTOMERS.ID),(APP.CUSTOMERS.FNAME,APP.CUSTOMERS.LNAME)`' sql.dialect: type: string description: The format of the generated SQL, for use when using an unsupported JDBC driver example: MYSQL sql.schemas: type: string description: A comma-separated list of schemas to append to the schema search path sql.default.schema: type: string description: Override the default schema for the connected user default.mapping.include.tables: type: string description: A comma-separated list of tables to include when generating default mappings. Incompatible with `default.mapping.exclude.tables` default.mapping.exclude.tables: type: string description: A comma-separated list of tables to exclude when generating default mappings. Incompatible with `default.mapping.include.tables` schema.in.generated.mappings: type: boolean description: Whether to include the name of the schema (along with the table name) in the templates for IRIs when automatically generating mappings union.strategy: type: string description: Strategy for translating SPARQL UNION to SQL. For use when using an unsupported JDBC driver. enum: - COALESCED - EMBEDDED charset.handling: type: boolean description: Whether to prefix SQL NVARCHAR string literals with N. The default is dialect-dependent. For use when using an unsupported JDBC driver. additionalProperties: pattern: ext\..+ type: string description: Additional properties to pass directly to the JDBC driver externalDocs: url: https://docs.stardog.com/virtual-graphs/virtual-graph-configuration#virtual-graph-properties SINGLE_DATA_SOURCE_INFO: required: - info properties: info: $ref: '#/components/schemas/DATA_SOURCE' DATA_SOURCE_REFRESH_TABLE: properties: name: type: string description: 'Optional table to refresh. Example formats (case-sensitive): `catalog.schema.table`, `schema.table`, `table`' DATA_SOURCE_AVAILABLE: required: - available properties: available: type: boolean DATA_SOURCE: required: - name - sharable - available properties: entityName: type: string sharable: type: boolean available: type: boolean responses: NAME_DS_404: description: Data Source does not exist content: text/plain: example: Data Source does not exist parameters: name_ds: name: name in: path description: The name of the data source required: true schema: type: string externalDocs: url: https://docs.stardog.com x-tagGroups: - name: Data Unification tags: - Data Sources - Virtual Graphs - name: Virtual Graphs External Compute tags: - Virtual Graphs External Compute - name: Server tags: - Monitoring - Stored Functions - Server Status/Metrics - Server Admin - Queries - Cluster Admin - name: Database tags: - Checkpoints - DB Admin - Integrity Constraints / SHACL - Data Caching - Graph Store Protocol - Matcher, aligning schemas from various data sources - Reasoning - Transactions - GraphQL - SPARQL - EntityResolution - name: Security tags: - Roles - Permissions - Users - name: Knowledge Catalog tags: - Knowledge Catalog