HomeGetting StartedInstallation & SetupDevelopment & IntegrationDeployment & OperationsData ManagementTechnical SupportPlatform Updates
DocsDevelopment & IntegrationDeveloping with Stardoghttp api reference

Stardog HTTP API Reference

Generated from the official OpenAPI specification (Stardog HTTP API v12.0.3). This is the full endpoint reference the agent answers from; the interactive spec lives at https://stardog-union.github.io/http-docs/.

/admin

GET /admin/alive

Server aliveness check

Determine whether the server is running

Responses:

  • 200: Server is running

POST /admin/cache

Create cache

Create a new cached dataset from a virtual graph

Request body: application/json

Responses:

  • 200: Operation successful

GET /admin/cache/graphs

Get cached graphs

Responses:

  • 200: Operation successful

POST /admin/cache/refresh/{name}

Refresh cache

Parameters:

  • name (path) (required): The name of the cache

Responses:

  • 200: Operation successful

POST /admin/cache/status

Get cache status

Retrieve the status of one or more cached graphs or queries

Request body: application/json

Responses:

  • 200: Operation successful

GET /admin/cache/target

List cache targets

Responses:

  • 200: List of cache targets

POST /admin/cache/target

Add cache target

Request body: application/json

Responses:

  • 201: Cache target added

DELETE /admin/cache/target/{name}

Remove cache target

Remove a cache target and destroy its contents

Parameters:

  • name (path) (required): The name of the target

Responses:

  • 200: Target removed

DELETE /admin/cache/target/{name}/orphan

Orphan cache target

Orphan a cache target but do not destroy the contents

Parameters:

  • name (path) (required): The name of the target

Responses:

  • 200: Target orphaned

DELETE /admin/cache/{name}

Drop cache

Parameters:

  • name (path) (required): The name of the cache

Responses:

  • 200: Cache dropped

GET /admin/catalog/credentials

Get credentials list

Returns a list of stored credentials

Responses:

  • 200: Operation successful

POST /admin/catalog/credentials

Stores username and password data

Stores username and password data and returns an associated access key

Request body: application/json

Responses:

  • 201: Access key

DELETE /admin/catalog/credentials/{key}

Remove credentials from catalog

Removes the credentials for the specified key

Parameters:

  • key (path) (required): The credential key

Responses:

  • 204: Credential successfully removed

POST /admin/catalog/jobs/cron/is_valid

Validates cron string

Checks if the string is a valid Quartz cron schedule. Returns true if valid and false if it is not valid.

Responses:

  • 200: Validation Result

POST /admin/catalog/jobs/cron/next_date

Returns the next scheduled date

Returns the next date the cron schedule would fire a job.

Responses:

  • 200: Next Date

POST /admin/catalog/jobs/cron/summary

Provides a cron summary

Returns a text explanation of the cron string.

Responses:

  • 200: Cron Summary

POST /admin/catalog/jobs/run

Runs the specified job

Triggers the scheduled job to run immediately

Request body: application/json

Responses:

  • 204: Job Submitted

POST /admin/catalog/reload

Reloads metadata from a provider

Drops and reloads the metadata for the specified provider

Request body: application/json

Responses:

  • 204: Virtual graph imported

POST /admin/catalog/reloadModel

Drops and reloads the built-in model for the catalog

Drops and reloads the built-in model for the catalog

Responses:

  • 200: Model reloaded

GET /admin/catalog/status

Knowledge Catalog status

Returns status information about the catalog, metadata providers and scheduled jobs

Responses:

  • 200: Knowledge Catalog status data

GET /admin/checkpoint/{db}

List checkpoints

Parameters:

  • db (None):

Responses:

  • 200:
  • 404: Database does not exist

POST /admin/checkpoint/{db}

Create checkpoint

Parameters:

  • db (None):

Responses:

  • 200:
  • 400:
  • 404: Database does not exist

PUT /admin/checkpoint/{db}/{checkpoint}

Restore checkpoints

Parameters:

  • db (None):
  • checkpoint (path) (required): the name of the checkpoint

Responses:

  • 200:
  • 400:
  • 404: Database does not exist

GET /admin/cluster

Get cluster info

Responses:

  • 200: Operation successful
  • 404: Not part of a cluster

GET /admin/cluster/coordinator

Coordinator check

Determine if a specific cluster node is the cluster coordinator

Responses:

  • 200: Node is coordinator
  • 503: Node is not coordinator

POST /admin/cluster/diagnostics

Get cluster diagnostics report

Responses:

  • 200: Cluster diagnostics report zip created

DELETE /admin/cluster/readonly

Stop read only mode

Responses:

  • 200: Read only mode stopped

PUT /admin/cluster/readonly

Start read only mode

Responses:

  • 200: Read only mode started

GET /admin/cluster/readreplica

Read replica check

Determine if a specific standby node is read replica

Responses:

  • 200: Node is read replica
  • 400: Node is not a read replica

PUT /admin/cluster/repairZk

Repair ZK transaction IDs if they don't match all Stardog nodes. All Stardog nodes must agree.

Responses:

  • 200: ZooKeeper repaired

PUT /admin/cluster/standby/attemptSync

Attempt to sync a standby or read replica node with the cluster

Responses:

  • 200: A sync attempt for a standby or read replica node has been initiated

GET /admin/cluster/standby/pause

Get standby pause status

Get the pause status of a standby node

Responses:

  • 200: Operation successful
  • 400: Node is not a standby node

PUT /admin/cluster/standby/pause

Pause/Unpause standby node

Parameters:

  • pause (query) (required):

Responses:

  • 200: Pause/Unpause requested
  • 400: Node is not a standby node

GET /admin/cluster/standby/registry

List standby nodes

Responses:

  • 200: Operation successful

DELETE /admin/cluster/standby/registry/{standbyid}

Revoke standby access

Instruct a standby node to leave its cluster

Parameters:

  • standbyid (None):

Responses:

  • 200: Node has been instructed to leave
  • 400: Node is not a standby node

GET /admin/cluster/standby/status

Get standby node status

Responses:

  • 200: Operation successful

GET /admin/cluster/status

Get cluster status

Responses:

  • 200: Operation successful

GET /admin/config_properties

Get all metadata properties

Get information on all database metadata properties, including description and example values

Responses:

  • 200: JSON object detailing all metadata options

GET /admin/data_sources

List data sources

Responses:

  • 200: Operation successful

POST /admin/data_sources

Add data source

Request body:

Responses:

  • 201: Data source created

GET /admin/data_sources/data_source_type_description

Describe the supported data source types and their options.

Responses:

  • 200: Operation successful

GET /admin/data_sources/list

List data sources' info

Responses:

  • 200: Operation successful

POST /admin/data_sources/test_new_connection

Test the connection for a new data source

Request body:

Responses:

  • 204: Data source test successful
  • 404:
  • 503: Data source test failed

DELETE /admin/data_sources/{name}

Delete data source

Parameters:

  • None (None):

Responses:

  • 204: Data source deleted
  • 404:

PUT /admin/data_sources/{name}

Update data source

Parameters:

  • None (None):

Request body:

Responses:

  • 201: Virtual graph updated

GET /admin/data_sources/{name}/available

Available

Returns whether or not the data source is available

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

GET /admin/data_sources/{name}/info

Get data source info

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

POST /admin/data_sources/{name}/online

Online data source

Parameters:

  • None (None):

Responses:

  • 204: Data source onlined
  • 404:

GET /admin/data_sources/{name}/options

Get data source options

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

POST /admin/data_sources/{name}/query

Query data source

Parameters:

  • None (None):

Request body:

Responses:

  • 200: Query executed

POST /admin/data_sources/{name}/refresh_counts

Refresh table row-count estimates

Parameters:

  • None (None):

Request body:

Responses:

  • 204: Data source counts refreshed
  • 404:

POST /admin/data_sources/{name}/refresh_metadata

Refresh metadata

Parameters:

  • None (None):

Request body:

Responses:

  • 204: Data source metadata refreshed
  • 404:

POST /admin/data_sources/{name}/share

Share data source

Parameters:

  • None (None):

Responses:

  • 204: Data source shared
  • 404:

POST /admin/data_sources/{name}/test_data_source

Test an existing data source connection

Parameters:

  • None (None):

Responses:

  • 204: Data source test successful
  • 404:
  • 503: Data source test failed

GET /admin/databases

List databases

List all the databases in the server

Responses:

  • 200: Operation successful

POST /admin/databases

Create database

Add a new database to the server, optionally with RDF bulk-loaded

Request body: multipart/form-data

Responses:

  • 201: Database created
  • 400: Invalid or malformed request body

PUT /admin/databases/backup_all

Backup all databases

Create a backup of all databases on the server

Parameters:

  • to (query): File location on the server to which to save the backups (defaults to $STARDOG_HOME/.backup)

Responses:

  • 200:

GET /admin/databases/options

Return all databases along with their configuration options

List all the databases in the server including all database configuration options

Responses:

  • 200: Operation successful

DELETE /admin/databases/{db}

Drop database

Delete the database

Parameters:

  • db (None):

Responses:

  • 200:
  • 404: Database does not exist

PUT /admin/databases/{db}/backup

Backup a database

Create a backup of a database on the server

Parameters:

  • db (None):
  • to (query): File location on the server to which to save the backup (defaults to $STARDOG_HOME/.backup)

Responses:

  • 200:
  • 404: Database does not exist

PUT /admin/databases/{db}/offline

Offline database

Take a database offline

Parameters:

  • db (None):

Request body:

Responses:

  • 200:
  • 400:
  • 404: Database does not exist

PUT /admin/databases/{db}/online

Online database

Bring a database online

Parameters:

  • db (None):

Request body:

Responses:

  • 200:
  • 404: Database does not exist

PUT /admin/databases/{db}/optimize

Optimize database

Optimize a database

Parameters:

  • db (None):

Request body: application/json

Responses:

  • 200:
  • 400:
  • 404: Database does not exist

GET /admin/databases/{db}/options

Get all DB options

Get the value of every metadata option for a database

Parameters:

  • db (None):

Responses:

  • 200: JSON object detailing all database metadata
  • 404: Database does not exist

POST /admin/databases/{db}/options

Set DB options

Set the value of specific metadata options for a database

Parameters:

  • db (None):

Request body: application/json

Responses:

  • 200:
  • 404: Database does not exist

PUT /admin/databases/{db}/options

Get DB options

Get the value of specific metadata options for a database

Parameters:

  • db (None):

Request body: application/json

Responses:

  • 200: Operation successful
  • 404: Database does not exist

POST /admin/databases/{db}/rename

Rename database

Make existing database to be identified by a new name

Parameters:

  • db (None):

Request body: text/plain

Responses:

  • 200:
  • 404: Database does not exist

POST /admin/databases/{db}/repair

Repair database

Attempt to recover a corrupted database

Parameters:

  • db (None):

Responses:

  • 200:
  • 404: Database does not exist

GET /admin/databases/{db}/txlog

Return transaction Log

Return a chunk (or the entirety) of this database's transaction log for point in time recovers.

Parameters:

  • db (None):

Responses:

  • 200: Transaction Log
  • 404: Database does not exist

POST /admin/databases/{db}/txlog

Replay Transaction Log

Replay a transaction log onto an existing database. This operation applies the provided transaction log to the database, typically for point in time restore.

Parameters:

  • db (None):
  • validate (path) (required): Server should validate the transaction log before applying it. Checks if the last committed transaction is at the beginning of the Log. Default is true

Request body: application/octet-stream

Responses:

  • 200:
  • 404: Database does not exist

POST /admin/databases/{db}/verify

Verify database

Checks that the data in the database is not corrupted, for example, there're no inconsistencies across indexes

Parameters:

  • db (None):

Responses:

  • 200:
  • 404: Database does not exist

POST /admin/diagnostics

Get server diagnostics report

Responses:

  • 200: Server diagnostics report zip created

DELETE /admin/functions/stored

Delete Stored Functions

Delete all stored functions on the server, or optionally just the function specified in the query string parameter

Parameters:

  • name (query): Stored Function name

Responses:

  • 204: Function deleted
  • 400: Function does not exist
  • 404:

GET /admin/functions/stored

Get Stored Functions

Retrieve all stored functions on the server, or optionally just the function specified in the query string parameter

Parameters:

  • name (query): Stored Function name

Responses:

  • 200: Operation successful
  • 400: Function does not exist
  • 404:

POST /admin/functions/stored

Add Stored Function

Request body: text/plain

Responses:

  • 204: Function added
  • 422: Function with the given name exists

DELETE /admin/functions/stored/{name}

Delete Stored Function

Delete the stored function specified in the query string parameter

Parameters:

  • None (None):

Responses:

  • 204: Function deleted
  • 400: Function does not exist
  • 404:

GET /admin/functions/stored/{name}

Get Stored Function

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 400: Function does not exist
  • 404:

GET /admin/healthcheck

Server health check

Determine whether the server is running and able to accept traffic

Responses:

  • 200: Server is running and healthy
  • 503: Server is unavailable

GET /admin/logs

Get server logs

Retrieve server logs as a zip file. Supports filtering by log types, including rotated logs, and limiting the number of lines returned.

Request body: application/json

Responses:

  • 200: Server logs zip returned

GET /admin/permissions/check

Check User Permission

Check if the currently authenticated user has permission to perform an action on a resource, taking wildcards into account

Responses:

  • 200: Permission check result
  • 400:

GET /admin/permissions/effective/user/{user}

Get effective user permissions

Get all permissions assigned to a given user as well as those granted by assigned roles

Parameters:

  • user (None):

Responses:

  • 200:
  • 404: User does not exist

GET /admin/permissions/role/{role}

Get role permissions

Get all permissions attributed to a given role

Parameters:

  • role (None):

Responses:

  • 200:
  • 404: Role does not exist

PUT /admin/permissions/role/{role}

Add Role Permission

Add a permission to a specified role

Parameters:

  • role (None):

Request body:

Responses:

  • 201: Permission added
  • 400:
  • 404: Role does not exist

POST /admin/permissions/role/{role}/delete

Delete Role Permission

Remove a permission from a given role

Parameters:

  • role (None):

Request body:

Responses:

  • 201: Permission removed
  • 400:
  • 404: Role does not exist

GET /admin/permissions/user/{user}

Get user permissions

Get all permissions assigned to a given user

Parameters:

  • user (None):

Responses:

  • 200:
  • 404: User does not exist

PUT /admin/permissions/user/{user}

Add User Permission

Grant a permission directly to a specified user

Parameters:

  • user (None):

Request body:

Responses:

  • 201: Permission added
  • 400:
  • 404: User does not exist

POST /admin/permissions/user/{user}/delete

Delete User Permission

Revoke a permission from a given user

Parameters:

  • user (None):

Request body:

Responses:

  • 201: Permission removed
  • 400:
  • 404: User does not exist

GET /admin/processes

List processes

Get a list of all running processes

Parameters:

  • all (query): Whether to include all processes in cloud

Responses:

  • 200:

DELETE /admin/processes/{name}

Kill process

Parameters:

  • None (None):

Responses:

  • 204: Process killed
  • 404:

GET /admin/processes/{name}

Get process

Get details of a specific process

Parameters:

  • None (None):

Responses:

  • 200:
  • 404:

GET /admin/properties

Get server properties

Gets the property value for a server configuration option. This value will be the default for the option or the override in the properties file.

Parameters:

  • name (query): Specific names of server properties to retrieve (multiple params can be specified)

Responses:

  • 200: JSON object detailing all server properties

POST /admin/properties

Set server properties

Set the value of specific server properties

Request body: application/json

Responses:

  • 200:

GET /admin/queries

List queries

Get a list of all running queries

Responses:

  • 200:

DELETE /admin/queries/stored

Delete all stored queries

Responses:

  • 204: All stored queries deleted

GET /admin/queries/stored

List stored queries

Parameters:

  • None (None):

Responses:

  • 200:

POST /admin/queries/stored

Add stored query

Parameters:

  • None (None):

Request body:

Responses:

  • 204: Stored query added
  • 400:
  • 422: Stored query already exists

PUT /admin/queries/stored

Update stored query

Add stored query, overwriting if a query with that name already exists

Request body:

Responses:

  • 204: Stored query updated
  • 400:

DELETE /admin/queries/stored/{name}

Delete stored query

Parameters:

  • None (None):

Responses:

  • 204: Query deleted
  • 404:

GET /admin/queries/stored/{name}

Get stored query

Parameters:

  • None (None):

Responses:

  • 200:
  • 404:

POST /admin/queries/stored/{name}

Rename stored query

Parameters:

  • None (None):
  • move (query):

Request body: application/json

Responses:

  • 204: Query renamed
  • 404:

DELETE /admin/queries/{name}

Kill query

Parameters:

  • None (None):

Responses:

  • 204: Query killed
  • 404:

GET /admin/queries/{name}

Get query

Get details of a specific query

Parameters:

  • None (None):
  • plan (query):
  • verbose (query):

Responses:

  • 200:
  • 404:

PUT /admin/restore

Restore database

Restore a database from backup

Parameters:

  • from (query) (required): The location on the server of the backup
  • force (query): Whether or not to overwrite an existing database with this backup
  • name (query): The name of the restored database, if different

Responses:

  • 200:

GET /admin/roles

List Roles

Get the names of all roles in the system

Responses:

  • 200:

POST /admin/roles

Add role

Request body:

Responses:

  • 201: Role added
  • 400:

GET /admin/roles/list

List Roles with their permissions

Retrieve a detailed list of all roles, including their permissions

Responses:

  • 200:

DELETE /admin/roles/{role}

Delete role

Parameters:

  • role (None):
  • force (query): Whether to force delete if role is assigned to users

Responses:

  • 204: Role deleted
  • 404: Role does not exist

GET /admin/roles/{role}/users

Get users with role

Returns a list of all users that have a specific role

Parameters:

  • role (None):

Responses:

  • 200:
  • 404: Role does not exist

GET /admin/sdu-usage

Get SDU usage events (streaming)

Retrieve SDU (Stardog Data Unit) usage events from the sdu_usage.log file. Events are streamed to avoid memory issues under heavy load. Optionally filter by start and end timestamps in ISO-8601 format (e.g., 2023-12-18T12:00:00Z).

Responses:

  • 200: SDU usage events returned as streamed JSON array
  • 401: Not authorized to read logs

GET /admin/sdu-usage/summary

Get SDU usage summary statistics

Retrieve aggregated summary statistics for SDU (Stardog Data Unit) usage events. Returns total queries, total elapsed time, and breakdowns by user, database, and agent. Optionally filter by start and end timestamps in ISO-8601 format (e.g., 2023-12-18T12:00:00Z).

Responses:

  • 200: SDU usage summary returned as JSON object
  • 401: Not authorized to read logs

POST /admin/shutdown

Shutdown server

Responses:

  • 200: Shutdown request received
  • 405: Remote shutdowns not allowed

POST /admin/shutdownAll

Shutdown all nodes

Responses:

  • 200: Shutdown request received
  • 405: Remote shutdown not supported

GET /admin/status

Get Server/Database metrics

Return metric information from the registry in JSON format. If 'admin' is replaced in the path with a valid database name, metrics for just that database will be returned.

Responses:

  • 200: Server/Database metrics

GET /admin/status/prometheus

Get Prometheus metrics

Return metric information from the registry in Prometheus format

Parameters:

  • include (query): Regex used to match metric names to be included
  • exclude (query): Regex used to match metric names to be excluded, takes precedence over include

Responses:

  • 200: Prometheus metrics

GET /admin/status/prometheus/internal

Get Prometheus metrics (only accessible from a restricted cidr range)

Return metric information from the registry in Prometheus format

Parameters:

  • include (query): Regex used to match metric names to be included
  • exclude (query): Regex used to match metric names to be excluded, takes precedence over include

Responses:

  • 200: Prometheus metrics

GET /admin/users

List users

Responses:

  • 200:

POST /admin/users

Add user

Request body: application/json

Responses:

  • 201: User created
  • 400:

GET /admin/users/list

List users with attributes, roles and permissions

Retrieve a detailed list of all users, including their roles, permissions, and status

Responses:

  • 200:

DELETE /admin/users/{user}

Delete User

Parameters:

  • user (None):

Responses:

  • 204: User deleted
  • 404: User does not exist

GET /admin/users/{user}

Get User

Retrieve attributes, roles, and permissions of a User

Parameters:

  • user (None):

Responses:

  • 200: Operation successful
  • 404: User does not exist

GET /admin/users/{user}/auto_created

User auto-created

Return whether a user was auto-created as a result the OAuth jwt authentication process

Parameters:

  • user (None):

Responses:

  • 200: Operation successful
  • 404: User does not exist

GET /admin/users/{user}/enabled

User enabled

Return whether or not a user is enabled (active) in the system

Parameters:

  • user (None):

Responses:

  • 200: Operation successful
  • 404: User does not exist

PUT /admin/users/{user}/enabled

Enable/Disable User

Parameters:

  • user (None):

Request body: application/json

Responses:

  • 200: Flag set
  • 400:
  • 404: User does not exist

PUT /admin/users/{user}/pwd

Change user's password

Parameters:

  • user (None):

Request body: application/json

Responses:

  • 200: Password successfully changed
  • 400:
  • 404: User does not exist

GET /admin/users/{user}/roles

Get user's roles

Retrieve a list of all roles explicitly assigned to a user

Parameters:

  • user (None):

Responses:

  • 200:
  • 404: User does not exist

POST /admin/users/{user}/roles

Add role to user

Parameters:

  • user (None):

Request body:

Responses:

  • 204: Role successfully added
  • 400:
  • 404: User does not exist

PUT /admin/users/{user}/roles

Set user's roles

Overwrite the list of roles explicitly assigned to a user

Parameters:

  • user (None):

Request body: application/json

Responses:

  • 200: Roles successfully updated
  • 400:
  • 404: User does not exist

DELETE /admin/users/{user}/roles/{role}

Remove role from user

Parameters:

  • user (None):
  • role (None):

Responses:

  • 204: Role successfully removed
  • 404: User/Role does not exist

GET /admin/users/{user}/superuser

User is Superuser

Return whether or not a user is a Superuser

Parameters:

  • user (None):

Responses:

  • 200: Operation successful
  • 404: User does not exist

GET /admin/virtual_graphs

List virtual graphs

Responses:

  • 200: Operation successful

POST /admin/virtual_graphs

Add virtual graph

Request body:

Responses:

  • 201: Virtual graph created

POST /admin/virtual_graphs/import

Import file

Import a CSV or JSON file as a virtual graph into the knowledge graph

Request body: multipart/form-data

Responses:

  • 200: File imported successfully

POST /admin/virtual_graphs/import_db

Import virtual graph

Import (materialize) a virtual graph directly into the local knowledge graph

Request body: application/json

Responses:

  • 204: Virtual graph imported

GET /admin/virtual_graphs/list

List virtual graphs' info

Responses:

  • 200: Operation successful

DELETE /admin/virtual_graphs/{name}

Delete virtual graph

Parameters:

  • None (None):

Responses:

  • 204: Virtual graph deleted
  • 404:

PUT /admin/virtual_graphs/{name}

Update virtual graph

Parameters:

  • None (None):

Request body:

Responses:

  • 201: Virtual graph updated

GET /admin/virtual_graphs/{name}/available

Available

Returns whether or not the virtual graph is available

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

GET /admin/virtual_graphs/{name}/database

Get database

Get the database associated with a virtual graph

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

GET /admin/virtual_graphs/{name}/info

Get virtual graph info

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

GET /admin/virtual_graphs/{name}/mappingsString/{syntax}

Get mappings

Parameters:

  • None (None):
  • syntax (path) (required): The desired RDF syntax of the mappings (R2RML or SMS)

Responses:

  • 200: Virtual graph mappings as RDF
  • 404:

POST /admin/virtual_graphs/{name}/online

Online virtual graph

Parameters:

  • None (None):

Responses:

  • 204: Virtual graph onlined
  • 404:

GET /admin/virtual_graphs/{name}/options

Get virtual graph options

Parameters:

  • None (None):

Responses:

  • 200: Operation successful
  • 404:

POST /admin/virtual_graphs_compute/import

Import virtual graph

Import (materialize) a delimited file into the knowledge graph

Request body: application/json

Responses:

  • 204: File imported

POST /admin/virtual_graphs_compute/import_db

Import virtual graph

Import (materialize) a virtual graph directly into the local knowledge graph

Request body: application/json

Responses:

  • 204: Virtual graph imported

/matcher

POST /matcher/suggestions

Aligns the source and target data source schemas

Responses:

  • 200: aligned data source schemas

/{db}

DELETE /{db}

DELETE graph

Deletes the RDF graph content identified by either the request or encoded IRI

Parameters:

  • db (None):
  • graph (query): IRI of the named graph to delete
  • default (query): Include instead of 'graph' to operate on the default graph

Responses:

  • 200: Graph deleted
  • 404: Database does not exist

GET /{db}

GET graph

Retrieves an RDF payload that is a serialization of the named graph paired with the graph IRI in the database

Parameters:

  • db (None):
  • graph (query): IRI of the named graph to retrieve
  • default (query): Include instead of 'graph' to operate on the default graph

Responses:

  • 200:
  • 404: Database does not exist

POST /{db}

POST graph

Merges the enclosed RDF payload with the specified graph content

Parameters:

  • db (None):
  • graph (query): IRI of the target named graph
  • default (query): Include instead of 'graph' to operate on the default graph

Request body:

Responses:

  • 200: Graph merged
  • 404: Database does not exist

PUT /{db}

PUT graph

Stores the enclosed RDF payload as RDF graph content

Parameters:

  • db (None):
  • graph (query): IRI of the target named graph
  • default (query): Include instead of 'graph' to operate on the default graph
  • None (None):

Request body:

Responses:

  • 200: Graph overwritten
  • 201: Graph created
  • 404: Database does not exist

POST /{db}/entityresolution

Resolve entities

Parameters:

  • db (None):

Responses:

  • 200: Operation successful
  • 404: Database does not exist

POST /{db}/entityresolution/reasoning

Resolve entities with reasoning enabled

Parameters:

  • db (None):
  • None (None):
  • None (None):

Responses:

  • 200: Operation successful
  • 404: Database does not exist

GET /{db}/explain

Explain SPARQL query

Parameters:

  • db (None):
  • None (None):
  • None (None):

Responses:

  • 200: Query plan
  • 400:
  • 404: Database does not exist
  • 501:

POST /{db}/explain

Explain SPARQL query

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):

Request body: application/sparql-query, multipart/form-data

Responses:

  • 200: Query plan
  • 400:
  • 404: Database does not exist
  • 501:

GET /{db}/export

Export database

Parameters:

  • db (None):
  • obf (query): Path to an obfuscation configuration file, or DEFAULT

Responses:

  • 200:
  • 404: Database does not exist

POST /{db}/export

Export database (obfuscated)

Parameters:

  • db (None):

Request body: text/turtle

Responses:

  • 200:
  • 404: Database does not exist

GET /{db}/graphql

Perform GraphQL query

Parameters:

  • db (None):
  • query (query) (required):

Responses:

  • 200:
  • 404: Database does not exist

POST /{db}/graphql

Perform GraphQL query

Parameters:

  • db (None):

Request body: application/json

Responses:

  • 200:
  • 404: Database does not exist

DELETE /{db}/graphql/schemas

Clear schemas

Parameters:

  • db (None):

Responses:

  • 204: Schemas cleared
  • 404: Database does not exist

GET /{db}/graphql/schemas

List schemas

Parameters:

  • db (None):

Responses:

  • 200: List of schemas
  • 404: Database does not exist

DELETE /{db}/graphql/schemas/{schema}

Remove schema

Parameters:

  • db (None):
  • schema (None):
  • None (None):

Responses:

  • 204: Schema removed
  • 404: Database/Schema does not exist

GET /{db}/graphql/schemas/{schema}

Get schema

Parameters:

  • db (None):
  • schema (None):
  • None (None):

Responses:

  • 200: Operation successful
  • 404: Database/Schema does not exist

POST /{db}/graphql/schemas/{schema}

Add schema

Parameters:

  • db (None):
  • schema (None):
  • None (None):

Request body:

Responses:

  • 201: Schema added
  • 404: Database/Schema does not exist

PUT /{db}/graphql/schemas/{schema}

Update schema

Parameters:

  • db (None):
  • schema (None):
  • None (None):

Request body:

Responses:

  • 200: Schema updated
  • 404: Database/Schema does not exist

GET /{db}/graphql/{schema}

Perform GraphQL query with schema

Parameters:

  • db (None):
  • schema (None):
  • query (query) (required):
  • None (None):

Responses:

  • 200:
  • 404: Database/Schema does not exist

POST /{db}/graphql/{schema}

Perform GraphQL query with schema

Parameters:

  • db (None):
  • schema (None):
  • None (None):

Request body: application/json

Responses:

  • 200:
  • 404: Database/Schema does not exist

GET /{db}/icv

List constraints

Parameters:

  • db (None):

Responses:

  • 200: Constraints in RDF format
  • 404: Database does not exist

POST /{db}/icv/report

SHACL validation report

Produces a SHACL validation report against the specified shape(s)

Parameters:

  • db (None):
  • shapes (query): SHACL shapes to validate
  • shacl.shape.graphs (query): SHACL shape graphs to validate
  • nodes (query): SHACL focus node(s) to validate
  • countLimit (query): Maximum number of violations to report
  • shacl.targetClass.simple (query):
  • shacl.violation.limit.shape (query): number of violation limits per SHACL shapes
  • None (None):
  • None (None):

Responses:

  • 200:
  • 404: Database does not exist

POST /{db}/icv/validate

Validate constraints

Determine whether or not the given constraints are valid

Parameters:

  • db (None):

Request body:

Responses:

  • 200:
  • 404: Database does not exist

POST /{db}/icv/{txid}/report

SHACL validation report in transaction

Produces a SHACL validation report against the specified shape(s)

Parameters:

  • db (None):
  • txid (None):
  • shapes (query): SHACL shapes to validate
  • shacl.shape.graphs (query): SHACL shape graphs to validate
  • nodes (query): SHACL focus node(s) to validate
  • countLimit (query): Maximum number of violations to report
  • shacl.targetClass.simple (query):
  • shacl.violation.limit.shape (query): number of violation limits per SHACL shapes

Responses:

  • 200:
  • 404: Database/Transaction does not exist

POST /{db}/icv/{txid}/validate

Validate constraints in transaction

Determine whether or not the given constraints are valid

Parameters:

  • db (None):
  • txid (None):

Request body:

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/model

Generate Model

Generate the reasoning model used by this database in various formats

Parameters:

  • db (None):
  • None (None):
  • output (query): Desired output format (text, owl, shacl, sql, graphql)

Responses:

  • 200:
  • 404: Database does not exist

GET /{db}/namespaces

Get namespaces

Retrieve the namespaces stored in the database

Parameters:

  • db (None):

Responses:

  • 200: A JSON object listing the prefixes and IRIs of the stored namespaces
  • 404: Database does not exist

POST /{db}/namespaces

Import namespaces

Add namespaces to the database via a block or blocks of RDF that declares them

Parameters:

  • db (None):

Request body:

Responses:

  • 200: A JSON object listing the prefixes and IRIs of the stored namespaces
  • 404: Database does not exist

GET /{db}/query

Perform SPARQL query

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):

Responses:

  • 200:
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

POST /{db}/query

Perform SPARQL query

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):

Request body: application/sparql-query, multipart/form-data

Responses:

  • 200:
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

GET /{db}/query/reasoning

Perform SPARQL query with reasoning enabled

Parameters:

  • db (None):
  • None (None):

Responses:

  • 200: Query results
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

POST /{db}/query/reasoning

Perform SPARQL query with reasoning enabled

Parameters:

  • db (None):
  • None (None):

Request body: application/sparql-query, multipart/form-data

Responses:

  • 200: Query results
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

GET /{db}/reasoning/consistency

Check consistency

Returns whether or not the data in the database are consistent with respect to the ontology

Parameters:

  • db (None):

Responses:

  • 200: Operation successful
  • 404: Database does not exist

POST /{db}/reasoning/explain

Explain inference

Explain how the inference engine inferred a specific piece of data

Parameters:

  • db (None):

Request body: text/turtle, application/trig, application/rdf+xml, application/n-triples, application/n-quads, application/ld+json

Responses:

  • 200:
  • 404: Database does not exist

GET /{db}/reasoning/explain/inconsistency

Explain inconsistency

Explain how, if at all, the data are inconsistent with respect to the ontology

Parameters:

  • db (None):

Responses:

  • 200:
  • 404: Database does not exist

GET /{db}/reasoning/schema

Get reasoning schema

Retrieve the reasoning schema in RDF of the given database

Parameters:

  • db (None):

Responses:

  • 200: Reasoning schema in RDF
  • 404: Database does not exist

POST /{db}/reasoning/{txid}/explain

Explain inference in transaction

Explain how the inference engine inferred a specific piece of data

Parameters:

  • db (None):
  • txid (None):

Request body: text/turtle, application/trig, application/rdf+xml, application/n-triples, application/n-quads, application/ld+json

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/reasoning/{txid}/explain/inconsistency

Explain inconsistency in transaction

Explain how, if at all, the data are inconsistent with respect to the ontology

Parameters:

  • db (None):
  • txid (None):

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/size

Get DB Size

Retrieve the size of the db. Size is approximate unless the exact parameter is set to true

Parameters:

  • db (None):
  • exact (query): Whether to request that the database size be exact instead of approximate

Responses:

  • 200: The size (in triples) of the database
  • 404: Database does not exist

GET /{db}/transaction

List all open transactions on a database

Parameters:

  • db (None):

Responses:

  • 200: Operation successful
  • 404: Database does not exist

POST /{db}/transaction/begin

Begin a transaction

Parameters:

  • db (None):

Responses:

  • 200: Operation successful
  • 404: Database does not exist

POST /{db}/transaction/begin/{txid}

Begin a transaction with specified txid

Parameters:

  • db (None):
  • txid (None):

Responses:

  • 200: Transaction begun
  • 404: Database/Transaction does not exist

POST /{db}/transaction/commit/{txid}

Commit a transaction

Parameters:

  • db (None):
  • txid (None):

Responses:

  • 200: Commit successful
  • 404: Database/Transaction does not exist

POST /{db}/transaction/rollback/{txid}

Rollback a transaction

Parameters:

  • db (None):
  • txid (None):

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/update

Perform SPARQL Update query

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):

Responses:

  • 200: Update query succeeded
  • 400: Invalid query sent
  • 404: Database does not exist

POST /{db}/update

Perform SPARQL Update query

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):

Request body: application/sparql-update, application/x-www-form-urlencoded

Responses:

  • 200: Update query succeeded
  • 400: Invalid query sent
  • 404: Database does not exist

POST /{db}/{txid}/add

Add data within a transaction

Parameters:

  • db (None):
  • txid (None):
  • None (None):
  • None (None):

Request body: text/turtle, application/trig, application/rdf+xml, application/n-triples, application/n-quads, application/ld+json

Responses:

  • 200:
  • 404: Database/Transaction does not exist

POST /{db}/{txid}/clear

Clear database within a transaction

Parameters:

  • db (None):
  • txid (None):
  • None (None):

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/{txid}/explain

Explain SPARQL query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Responses:

  • 200: Query plan
  • 400:
  • 404: Database does not exist
  • 501:

POST /{db}/{txid}/explain

Explain SPARQL query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Request body: application/sparql-query, multipart/form-data

Responses:

  • 200: Query plan
  • 400:
  • 404: Database does not exist
  • 501:

GET /{db}/{txid}/query

Perform SPARQL query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Responses:

  • 200:
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

POST /{db}/{txid}/query

Perform SPARQL query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Request body: application/sparql-query, multipart/form-data

Responses:

  • 200:
  • 400:
  • 404: Database does not exist
  • 406: Accept header invalid for type of query sent

POST /{db}/{txid}/remove

Remove data within a transaction

Parameters:

  • db (None):
  • txid (None):
  • None (None):

Request body: text/turtle, application/trig, application/rdf+xml, application/n-triples, application/n-quads, application/ld+json

Responses:

  • 200:
  • 404: Database/Transaction does not exist

GET /{db}/{txid}/update

Perform SPARQL Update query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Responses:

  • 200: Update query succeeded
  • 400: Invalid query sent
  • 404: Database does not exist

POST /{db}/{txid}/update

Perform SPARQL Update query (within tx)

Parameters:

  • db (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (query): Transaction ID
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • None (None):
  • txid (path) (required): Transaction ID

Request body: application/sparql-update, application/x-www-form-urlencoded

Responses:

  • 200: Update query succeeded
  • 400: Invalid query sent
  • 404: Database does not exist