openapi: 3.0.1 info: title: Stardog HTTP Checkpoints Reasoning 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: Reasoning description: Operations for interacting with the inference engine paths: /{db}/reasoning/{txid}/explain: post: tags: - Reasoning summary: Explain inference in transaction description: Explain how the inference engine inferred a specific piece of data operationId: explainInferenceInTx parameters: - name: db $ref: '#/components/parameters/db' - name: txid $ref: '#/components/parameters/txid' requestBody: description: The axiom to explain content: text/turtle: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/trig: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/rdf+xml: schema: type: String examples: REASONING_AXIOM_RDFXML: description: REASONING_AXIOM_RDFXML value: null $ref: '#/components/examples/REASONING_AXIOM_RDFXML' application/n-triples: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/n-quads: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/ld+json: schema: $ref: '#/components/schemas/GENERIC_JSONLD' examples: REASONING_AXIOM_JSONLD: description: REASONING_AXIOM_JSONLD value: null $ref: '#/components/examples/REASONING_AXIOM_JSONLD' required: true responses: '200': $ref: '#/components/responses/REASONING_PROOF_LIST' '404': description: Database/Transaction does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 /{db}/reasoning/explain/inconsistency: get: tags: - Reasoning summary: Explain inconsistency description: Explain how, if at all, the data are inconsistent with respect to the ontology operationId: explainInconsistency parameters: - name: db $ref: '#/components/parameters/db' responses: '200': $ref: '#/components/responses/REASONING_PROOF_LIST' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 /{db}/query/reasoning: get: tags: - Reasoning summary: Perform SPARQL query with reasoning enabled operationId: queryGetWithReasoning parameters: - name: db $ref: '#/components/parameters/db' - $ref: '#/components/parameters/query' responses: '200': description: Query results content: application/sparql-results+xml: schema: type: String examples: SPARQL_RESULTS_XML: description: SPARQL_RESULTS_XML value: null $ref: '#/components/examples/SPARQL_RESULTS_XML' application/sparql-results+json: schema: $ref: '#/components/schemas/SPARQL_RESULTS_JSON' text/csv: schema: type: String examples: SPARQL_RESULTS_CSV: description: SPARQL_RESULTS_CSV value: null $ref: '#/components/examples/SPARQL_RESULTS_CSV' text/tsv: schema: type: String examples: SPARQL_RESULTS_TSV: description: SPARQL_RESULTS_TSV value: null $ref: '#/components/examples/SPARQL_RESULTS_TSV' text/turtle: schema: type: String examples: GENERIC_TURTLE: description: GENERIC_TURTLE value: null $ref: '#/components/examples/GENERIC_TURTLE' application/trig: schema: type: String examples: GENERIC_TRIG: description: GENERIC_TRIG value: null $ref: '#/components/examples/GENERIC_TRIG' application/rdf+xml: schema: type: String examples: GENERIC_RDFXML: description: GENERIC_RDFXML value: null $ref: '#/components/examples/GENERIC_RDFXML' application/n-triples: schema: type: String examples: GENERIC_NTRIPLES: description: GENERIC_NTRIPLES value: null $ref: '#/components/examples/GENERIC_NTRIPLES' application/n-quads: schema: type: String examples: GENERIC_NQUADS: description: GENERIC_NQUADS value: null $ref: '#/components/examples/GENERIC_NQUADS' application/ld+json: schema: $ref: '#/components/schemas/GENERIC_JSONLD' '400': $ref: '#/components/responses/INVALID_QUERY' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 '406': description: Accept header invalid for type of query sent post: tags: - Reasoning summary: Perform SPARQL query with reasoning enabled operationId: queryPostWithReasoning parameters: - name: db $ref: '#/components/parameters/db' - $ref: '#/components/parameters/QUERY_NOT_REQ' requestBody: content: application/sparql-query: schema: $ref: '#/components/schemas/SPARQL_QUERY' examples: SPARQL_QUERY: description: SPARQL_QUERY value: null $ref: '#/components/examples/SPARQL_QUERY' multipart/form-data: schema: $ref: '#/components/schemas/SPARQL_QUERY' responses: '200': description: Query results content: application/sparql-results+xml: schema: type: String examples: SPARQL_RESULTS_XML: description: SPARQL_RESULTS_XML value: null $ref: '#/components/examples/SPARQL_RESULTS_XML' application/sparql-results+json: schema: $ref: '#/components/schemas/SPARQL_RESULTS_JSON' text/csv: schema: type: String examples: SPARQL_RESULTS_CSV: description: SPARQL_RESULTS_CSV value: null $ref: '#/components/examples/SPARQL_RESULTS_CSV' text/tsv: schema: type: String examples: SPARQL_RESULTS_TSV: description: SPARQL_RESULTS_TSV value: null $ref: '#/components/examples/SPARQL_RESULTS_TSV' text/turtle: schema: type: String examples: GENERIC_TURTLE: description: GENERIC_TURTLE value: null $ref: '#/components/examples/GENERIC_TURTLE' application/trig: schema: type: String examples: GENERIC_TRIG: description: GENERIC_TRIG value: null $ref: '#/components/examples/GENERIC_TRIG' application/rdf+xml: schema: type: String examples: GENERIC_RDFXML: description: GENERIC_RDFXML value: null $ref: '#/components/examples/GENERIC_RDFXML' application/n-triples: schema: type: String examples: GENERIC_NTRIPLES: description: GENERIC_NTRIPLES value: null $ref: '#/components/examples/GENERIC_NTRIPLES' application/n-quads: schema: type: String examples: GENERIC_NQUADS: description: GENERIC_NQUADS value: null $ref: '#/components/examples/GENERIC_NQUADS' application/ld+json: schema: $ref: '#/components/schemas/GENERIC_JSONLD' '400': $ref: '#/components/responses/INVALID_QUERY' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 '406': description: Accept header invalid for type of query sent /{db}/reasoning/explain: post: tags: - Reasoning summary: Explain inference description: Explain how the inference engine inferred a specific piece of data operationId: explainInference parameters: - name: db $ref: '#/components/parameters/db' requestBody: description: The axiom to explain content: text/turtle: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/trig: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/rdf+xml: schema: type: String examples: REASONING_AXIOM_RDFXML: description: REASONING_AXIOM_RDFXML value: null $ref: '#/components/examples/REASONING_AXIOM_RDFXML' application/n-triples: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/n-quads: schema: type: String examples: REASONING_AXIOM_TTL: description: REASONING_AXIOM_TTL value: null $ref: '#/components/examples/REASONING_AXIOM_TTL' application/ld+json: schema: type: String examples: REASONING_AXIOM_JSONLD: description: REASONING_AXIOM_JSONLD value: null $ref: '#/components/examples/REASONING_AXIOM_JSONLD' required: true responses: '200': $ref: '#/components/responses/REASONING_PROOF_LIST' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 /{db}/reasoning/consistency: get: tags: - Reasoning summary: Check consistency description: Returns whether or not the data in the database are consistent with respect to the ontology operationId: isConsistent parameters: - name: db $ref: '#/components/parameters/db' responses: '200': description: Operation successful content: text/boolean: {} application/json: schema: $ref: '#/components/schemas/CONSISTENT' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 /{db}/reasoning/schema: get: tags: - Reasoning summary: Get reasoning schema description: Retrieve the reasoning schema in RDF of the given database operationId: getReasoningSchema parameters: - name: db $ref: '#/components/parameters/db' responses: '200': description: Reasoning schema in RDF content: text/turtle: schema: type: String examples: GENERIC_TURTLE: description: GENERIC_TURTLE value: null $ref: '#/components/examples/GENERIC_TURTLE' application/trig: schema: type: String examples: GENERIC_TRIG: description: GENERIC_TRIG value: null $ref: '#/components/examples/GENERIC_TRIG' application/rdf+xml: schema: type: String examples: GENERIC_RDFXML: description: GENERIC_RDFXML value: null $ref: '#/components/examples/GENERIC_RDFXML' application/n-triples: schema: type: String examples: GENERIC_NTRIPLES: description: GENERIC_NTRIPLES value: null $ref: '#/components/examples/GENERIC_NTRIPLES' application/n-quads: schema: type: String examples: GENERIC_NQUADS: description: GENERIC_NQUADS value: null $ref: '#/components/examples/GENERIC_NQUADS' application/ld+json: schema: $ref: '#/components/schemas/GENERIC_JSONLD' '404': description: Database does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 /{db}/reasoning/{txid}/explain/inconsistency: get: tags: - Reasoning summary: Explain inconsistency in transaction description: Explain how, if at all, the data are inconsistent with respect to the ontology operationId: explainInconsistencyInTx parameters: - name: db $ref: '#/components/parameters/db' - name: txid $ref: '#/components/parameters/txid' responses: '200': $ref: '#/components/responses/REASONING_PROOF_LIST' '404': description: Database/Transaction does not exist content: application/json: schema: required: - message - code properties: message: type: string example: Database does not exist code: type: string example: 0D0DU2 components: examples: REASONING_AXIOM_RDFXML: value: "\n\n \n \n \n" SPARQL_RESULTS_XML: value: "\n\n \n \n \n \n \n \n \n http://example.org/stardog#Example1\n \n \n 42\n \n \n \n \n http://example.org/stardog#Example2\n \n \n foo\n \n \n \n" SPARQL_RESULTS_TSV: value: "?s\t?label\n\t\"42\"\n\t\"foo\"" GENERIC_TRIG: value: "@prefix : .\n@prefix owl: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix stardog: .\n@prefix xsd: .\n\n{ \t a ;\n\t\t 42 .\n}" SPARQL_RESULTS_CSV: value: 's,label http://example.org/stardog#Example1,42 http://example.org/stardog#Example2,foo' GENERIC_NQUADS: value: ' a . 42 .' REASONING_AXIOM_JSONLD: value: "[\n {\n \"@id\": \"urn:Employee1\",\n \"@type\": [\n \"urn:Person\"\n ]\n }\n]" SPARQL_QUERY: value: "PREFIX rdfs: \nPREFIX : \n \nSELECT ?s ?label WHERE {\n ?s a :Example ;\n rdfs:label ?label\n}" GENERIC_RDFXML: value: "\n\n\n\n\t\n\t42\n\n\n" REASONING_AXIOM_TTL: value: . GENERIC_TURTLE: value: "@prefix : .\n@prefix owl: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix stardog: .\n@prefix xsd: .\n\n a ;\n\t 42 ." GENERIC_NTRIPLES: value: ' a . 42 .' parameters: db: name: db in: path description: Database name required: true schema: type: string example: myDb QUERY_NOT_REQ: name: query in: query description: Query to run schema: type: string query: name: query in: query description: Query to run required: true schema: type: string txid: name: txid in: path description: Transaction ID required: true schema: type: string format: uuid example: 4ea1ebac-48f0-459c-a9a7-6cad7189403d responses: INVALID_QUERY: description: Invalid query sent content: application/json: schema: $ref: '#/components/schemas/GENERIC_RESPONSE_ERROR_MESSAGE' REASONING_PROOF_LIST: description: List of reasoning proofs content: application/json: schema: $ref: '#/components/schemas/REASONING_PROOF_LIST' schemas: REASONING_PROOF_LIST: required: - proofs properties: proofs: type: array items: $ref: '#/components/schemas/REASONING_PROOF' SPARQL_RESULTS_JSON: required: - head - results properties: head: required: - vars properties: vars: type: array items: type: string results: required: - bindings properties: bindings: type: array items: additionalProperties: required: - type - value properties: type: type: string example: literal value: type: string example: '42' GENERIC_JSONLD: properties: '@id': type: string example: urn:example:Entity1 '@type': type: string example: urn:example:Entity urn:example:hasProp: required: - '@id' type: array items: required: - '@value' properties: '@type': type: string example: http://www.w3.org/2001/XMLSchema#integer '@value': type: string example: '42' GENERIC_RESPONSE_ERROR_MESSAGE: required: - message properties: message: type: string example: Unexpected end of file [L9] code: type: string example: QEIVR2 REASONING_PROOF: properties: status: type: string enum: - INFERRED - ASSERTED - VIOLATED expression: type: string children: type: array items: $ref: '#/components/schemas/REASONING_PROOF' namedGraphs: type: array items: type: string SPARQL_QUERY: required: - query properties: query: type: string example: "PREFIX rdfs: \nPREFIX : \n \nSELECT ?s ?label WHERE {\n ?s a :Example ;\n rdfs:label ?label\n}" update: type: string example: "PREFIX rdfs: \nPREFIX : \n \nSELECT ?s ?label WHERE {\n ?s a :Example ;\n rdfs:label ?label\n}" reasoning: type: boolean description: Enable Reasoning schema: type: string description: The name of the reasoning schema to use. Will automatically enable reasoning even without the 'reasoning' parameter txid: type: string format: uuid example: 4ea1ebac-48f0-459c-a9a7-6cad7189403d baseURI: type: string format: URI timeout: type: integer description: The number of ms after which the query should timeout format: int32 example: 42 limit: type: integer description: The maximum number of results to return format: int32 example: 42 offset: type: integer description: How far into the result set to offset format: int32 example: 42 useNamespaces: type: boolean description: Use namespace substitution and prefix lines default: false default-graph-uri: type: string description: URI(s) to be used as the default graph (equivalent to FROM) named-graph-uri: type: string description: URI(s) to be used as named graphs (equivalent to FROM NAMED) exclude-graph-uri: type: string description: URI(s) of graphs to exclude from the query dataset (from both default and named scopes) CONSISTENT: required: - consistent properties: consistent: type: boolean 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