openapi: 3.0.1 info: title: Stardog HTTP Checkpoints Virtual Graphs External Compute 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: Virtual Graphs External Compute description: Operations for virtualizing structured data on external compute engines paths: /admin/virtual_graphs_compute/import: post: tags: - Virtual Graphs External Compute summary: Import virtual graph description: Import (materialize) a delimited file into the knowledge graph operationId: importFileExternal requestBody: content: application/json: schema: $ref: '#/components/schemas/VIRTUAL_GRAPH_IMPORT_FILE' required: true responses: '204': description: File imported /admin/virtual_graphs_compute/import_db: post: tags: - Virtual Graphs External Compute summary: Import virtual graph description: Import (materialize) a virtual graph directly into the local knowledge graph operationId: importDbExternal requestBody: content: application/json: schema: $ref: '#/components/schemas/VIRTUAL_GRAPH_IMPORT' required: true responses: '204': description: Virtual graph imported components: schemas: IMPORT_FILE_OPTIONS: properties: csv.separator: type: string description: For CSV import, a single-character separator default: ',' csv.quote: type: string description: For CSV import, a single character used to encapsulate values containing special characters default: '"' csv.header: type: boolean description: For CSV import, should the import process read the header row? default: true csv.skip.empty: type: boolean description: For CSV import, should empty values be skipped? default: true csv.class: type: string description: For CSV import, which class should imported rows be members of? csv.hash.function: type: string description: 'For CSV import, which hash function should be used when the # notation is used?' default: SHA1 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)`' externalDocs: url: https://docs.stardog.com/virtual-graphs/virtual-graph-configuration#virtual-graph-properties VIRTUAL_GRAPH_IMPORT_FILE: required: - database - mappings - options - input_file_type - input_file properties: database: type: string description: The database into which to import the file mappings: type: string options: $ref: '#/components/schemas/IMPORT_FILE_OPTIONS' named_graph: type: string format: URI input_file_type: type: string enum: - JSON - DELIMITED input_file: type: string 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 VIRTUAL_GRAPH_IMPORT: required: - db - mappings - named_graph - remove_all - options properties: db: type: string description: The database into which to import the graph mappings: type: string data_source: type: string named_graph: type: string remove_all: type: boolean description: Should the target named graph be cleared before importing? options: $ref: '#/components/schemas/VIRTUAL_GRAPH_OPTIONS' 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