Introduction

This document lists all HTTP services, along with some documentation. See REST/HTTP interface for further documentation.

URL Summary

Server based HTTP services

These services operate on the server itself. These include user and role management, general settings and starting sessions.

catalogs get
  /  [CATNAME] put delete
    / protocol get
    / repositories get
      /  [REPOSITORY] put delete
        / backup post
        / ensureNotLingering post
        / exists get
        / namespaces get delete
          /  [NS] post put delete
        / repl/controllingInstance put
          / createCluster put
          / growCluster put
          / priority post
          / quiesce put
          / remove put
          / settings get post
          / start put
          / status get
          / stop put
        / retain put
        / scripts get
          /  [PATH*] get put delete
        / session post
        / shutdown post
        / uuid get
        / warmstandby get put delete
          / jobnames get
          / registerJobname post
          / startServer post
          / switchRole post
          / unregisterJobname post
config/fti-stop-words get
configfile get
hostname get
initfile get put delete
jobs get delete
largeOperationWarning get put
logfile get
namespaces get
nd/computeSubtype get
processes get
  /  [NAME] get delete
    / telnet post
protocol get
queryPlanners get
reconfigure post
reopenLog post
repositories get
  /  [REPOSITORY] put delete
    / backup post
    / ensureNotLingering post
    / exists get
    / namespaces get delete
      /  [NS] post put delete
    / repl/controllingInstance put
      / createCluster put
      / growCluster put
      / priority post
      / quiesce put
      / remove put
      / settings get post
      / start put
      / status get
      / stop put
    / retain put
    / scripts get
      /  [PATH*] get put delete
    / session post
    / shutdown post
    / uuid get
    / warmstandby get put delete
      / jobnames get
      / registerJobname post
      / startServer post
      / switchRole post
      / unregisterJobname post
requests get
roles get
  /  [NAME] put delete
    / access get put delete
    / permissions get
      /  [TYPE] get put delete
    / security-filters/ [TYPE] get post delete
scripts get
  /  [PATH*] get put delete
serverWarnings get delete
session get post
users get
  /  [NAME] put delete
    / access get put delete
    / data get
      /  [KEY] get put delete
    / effectiveAccess get
    / effectivePermissions get
    / loginTimeout get
    / password post
    / permissions get
      /  [TYPE] get put delete
    / roles get
      /  [ROLE] put delete
    / security-filters/ [TYPE] get post delete
uuids get
version get
  / date get
  / full get
  / revision get
vmstat.json get

Repository based HTTP services

These services operate against a particular store or session.

catalogs/ [CATNAME] /repositories/ [REPONAME] get post
        / access get
        / attributes/definitions get post delete
          / staticFilter get post delete
        / begin post
        / blankNodes post
        / bulkMode get put delete
        / commit post
        / contexts get
        / createSecondaryIndices get put delete
        / data-generator/patient post
          / phoneCall post
        / encodedIds post
          / prefixes get post delete
            / hasAny get
            / isInUse get
            / isRegistered get
        / eval post
        / freetext get post
          / indices get
            /  [INDEXNAME] get post put delete
              / borderChars get
              / indexFields get
              / indexLiterals get
              / indexResources get
              / innerChars get
              / minimumWordSize get
              / predicates get
              / stopWords get
              / tokenizer get
              / wordFilters get
        / functor post
        / geo/box get
          / circle get
          / haversine get
          / polygon get put
          / types get post
            / cartesian post
            / id get
            / spherical post
        / indices get
          /  [TYPE] put delete
            / chunks get
          / optimize post
        / jobs get
          /  [JOB-ID] delete
          / purge-deleted-triples post delete
        / list-indices get
        / lock post delete
        / mapping get delete
          / all delete
          / predicate post put delete
            / cartesian post
            / spherical post
          / type post put delete
            / cartesian post
            / spherical post
        / materializeEntailed put delete
        / metadata get post
        / mongoParameters get post
        / namespaces get delete
          /  [PREFIX] post put delete
        / nd/geospatialDatatypeAutomation get put delete
        / needsCommit get
        / neighborMatrices/ [NAME] put
        / noCommit get put delete
        / queries/ [NAME] get post delete
        / rollback post
        / session/autoCommit get post
          / close post
          / description get
          / isActive get
          / ping get
        / settings/purge-rate-limit get post
        / size get
        / sna/paths get
        / snaGenerators/ [NAME] put
        / solrParameters get post
        / sparql get post
        / spin/function get
            /  [URI] get put delete
          / magicproperty get
            /  [URI] get put delete
        / statement put
        / statements post put delete
          / delete post
          / duplicates get delete
          / id get
          / query get post
          / transform post put
        / storeID get
        / suppressDuplicates get put delete
        / tlog/locker get
        / tripleCache get put delete
        / unique/ [COLUMN] get post
        / useSecondaryIndices get put delete
        / warmup put
close post

API Reference

Front end

catalogs get

Returns a set of catalogs that are available on this server. For each catalog, id and uri properties are returned, giving respectively the name of the catalog and the URL under which it is found. Properties named readable and writable indicate, for each catalog, whether the current user has read or write access to at least one repository in it.

catalogs / [CATNAME] put

If dynamic catalogs are enabled for the server (see the DynamicCatalogs directive), this can be used to create a new catalog.

arguments

  • expectedStoreSize, integer
    specify the default expected size for repositories in this catalog.
catalogs / [CATNAME] delete

Deletes a catalog. Only dynamic catalogs (those created through HTTP) can be deleted in this way.

catalogs / [CATNAME] / protocol get

Returns the protocol version of the Sesame interface. The protocol described in this document is 4.

catalogs / [CATNAME] / repositories get

Return a list of repositories available in the catalog.

arguments

  • all, boolean
    If true, then all of the repositories in all of the catalogs will be returned.
catalogs / [CATNAME] / repositories / [REPOSITORY] put

Creates a new, empty repository.

When a repository with the given name already exists, it is overwritten, unless a parameter override with value false is passed.

arguments

  • expectedSize, integer
    Specifies the expected number of triples in the repository
  • index, list
    Can be specified mulitple times. Must hold index names, and is used to configure the set of indices created for the store.
  • stringTableCompression, string
    Specifies the type of string compression to use. The default is 'none'. See Server Configuration and Control for information on stringTableCompression
  • override, string (default: true)
  • restore, string
  • nocommit, boolean
catalogs / [CATNAME] / repositories / [REPOSITORY] delete

Delete the specified repository. This can fail if the repository is being accessed by another client.

catalogs / [CATNAME] / repositories / [REPOSITORY] / backup post

Create a backup of the repository.

arguments

  • target, string
catalogs / [CATNAME] / repositories / [REPOSITORY] / ensureNotLingering post

To conserve resources, makes the database instance and its child processes exit if the instance is unused. Takes no arguments, returns nothing.

Normally unused database instances linger for InstanceTimeout seconds to speed up subsequent open operations.

catalogs / [CATNAME] / repositories / [REPOSITORY] / exists get

Return true if the triple-store exists and is accessible to the current user.

Will return an HTTP 401 (Unauthorized) if the user is not authorized to read from the requested catalog and an HTTP 404 (Not Found) if the user is authorized but the store does not exist.

catalogs / [CATNAME] / repositories / [REPOSITORY] / namespaces get

Return the currently active namespaces for the current user in this repository.

The namespaces are returned as tuples with fields prefix and namespace (the URI).

catalogs / [CATNAME] / repositories / [REPOSITORY] / namespaces delete

Deletes all namespaces in this repository for the current user.

arguments

  • reset, boolean
    If specified and true, then the namespaces are reset to the default namespaces.
catalogs / [CATNAME] / repositories / [REPOSITORY] / namespaces / [NS] post put

Create or update a namespace.

The body of the request must contain the URI for the namespace, as plain text.

catalogs / [CATNAME] / repositories / [REPOSITORY] / namespaces / [NS] delete

Delete a namespace.

catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / controllingInstance put

Specify the name of the new controlling instance. This command must be sent to the current controlling instance. If the current controlling instance is down then it can be sent to any instance if 'force' is specified as 'true'

arguments

  • instanceName, string
    Name of the instance to become the controlling instance
  • force, string (default: false)
    If true then allow any instance to set the controlling instance
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / createCluster put

Create the first instance of a replication cluster.

arguments

  • host, string
    A hostname or IP address for this host that's reachable from all other instances in the cluster
  • port, integer
    The port of the Agraph server for the specified scheme
  • instanceName, string
    A unique name for this respository to be used in control commands
  • group, string
    Group name used in the computation of commit request priorities
  • user, string
    User name used by other instances to access the created repository
  • password, string
    Password used by other instances to access the created repository
  • scheme, string
    Method used to communicate with agraph server: can be http (the default) or https
  • ifExists, string (default: supersede)
    Value is 'use' to open existing repo, 'supersede' or 'overwrite' to create fresh repo or 'error' to signal an error if the repo exists. Whichever is chosen the repo will be the lone member of the cluster when it's opened
  • standalone, string (default: false)
    If specified as 'true' then this repo can be read and written but will never join a cluster as long as it remains open.
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / growCluster put

add instance to cluster

arguments

  • host, string
    A hostname or IP address for this host that's reachable from all other instances in the cluster
  • port, integer
    The port of the Agraph server to hold the new instance
  • name, string
    The name of the repository for the new instance
  • instanceName, string
    A unique name for this respository to be used in control commands
  • user, string
    User name if needed to access the server
  • password, string
    Password if needed to access the server
  • catalog, string
    The catalog for the new repo (if other than the root catalog)
  • group, string
    Group name used in the computation of commit request priorites
  • scheme, string
    Method used to communicate with agraph server: can be http (the default) or https
  • backupServerFilename, string
    The filename on the host of the new instance that holds a backup of the database to be restored to create the new instance
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / priority post

Set the priorities between instances and groups.

arguments

  • expression, string
    json expression specifying priorites between instances or groups
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / quiesce put

Control whether commits are permitted and whether to wait until the instance is up to date with commits

arguments

  • action, string
    Either "stop", "stopall", "start", "startall", "ready", "readyall", or "restartall"
  • timeout, integer (default: 120)
    Number of seconds to wait for action to take effect before returning a timed out response
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / remove put

Permanently remove an instance from the cluster. The command is sent to the controlling instance.

arguments

  • instanceName, string
    Name of the instance to be permanently removed from the cluster
  • timeout, integer (default: repl-remove-default-timeout)
    (format nil Number of seconds to wait for durability to be achieved before giving up on the remove operation. Maximum is ~d seconds repl-remove-max-timeout)
  • force, string
    If true will remove instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / settings get

Return the current settings of repl parameters

catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / settings post

Set the values of replication parameters and return all of the settings.

arguments

  • transactionLatencyCount, integer
    How many non-durable transactions are permitted (a non-negative value) before a commit will not be permitted
  • distributedTransactionTimeout, integer
    Number of seconds to wait for a transaction to become durable until letting the commit finish
  • durability, string
    The number of instances that must have a copy of a commit before it's considered durable. The value can be a positive integer or one of the three strings: min (meaning 1), max (meaning all instances) or quorum (meaning the next integer greater than half of the instances)
  • transactionLatencyTimeout, integer
    Number of seconds to wait for the transactionLatencyCount to be satisified when committing before signalling an error
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / start put

Restart a stopped instance in the cluster. If the instanceName argument is given then that instance is started. If instanceName is not given then the instance started is the one to which the command is sent.

arguments

  • instanceName, string
    Name of the instance to start. If not given then the instance to which this message is sent is started
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / status get

Return the status of the instance.

arguments

  • form, string (default: text)
    Can be 'text' (the default) or 'json' to specify how the results are returned
catalogs / [CATNAME] / repositories / [REPOSITORY] / repl / stop put

Stops an instance. The instance will receive no commits from other instances and no commits can be done on this instance. This instance can be restarted. The instance named by instanceName is stopped. If instanceName is not given the the instance to which the command is sent is stopped.

arguments

  • timeout, integer (default: repl-stop-default-timeout)
    (format nil Number of seconds to wait for durability to be achieved before giving up on the stop operation. Maximum is ~d seconds repl-stop-max-timeout)
  • force, string
    If true will stop instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
  • instanceName, string
    Name of the instance to stop. If not given then the instance to which this message is sent is stopped
catalogs / [CATNAME] / repositories / [REPOSITORY] / retain put

Specify which transaction log files must be retained

arguments

  • mustRetain, integer
    The ID of the maximum transaction log that must be retained. A value of -1 will turn off this check.
  • sinceTime, string
    All transactions since the given date must be retained. The data can be an ISO date, "now", or a universal time. A value of -1 will turn off this check
  • timeInterval, integer
    Transaction log entries between now and timeInterval seconds ago will be retained. You can use this to retain, say, the last 24 hours of entries by specifying 86400 seconds. A value of -1 turns off this check
catalogs / [CATNAME] / repositories / [REPOSITORY] / scripts get

Return the list of scripts that have been added to this repository.

catalogs / [CATNAME] / repositories / [REPOSITORY] / scripts / [PATH*] get

Return the contents of the script (named by path*) in this repository.

catalogs / [CATNAME] / repositories / [REPOSITORY] / scripts / [PATH*] put

Add or replace the script (named by path*) in this repository with the contents of the body.

catalogs / [CATNAME] / repositories / [REPOSITORY] / scripts / [PATH*] delete

Delete the script (named by path*) in this repository.

catalogs / [CATNAME] / repositories / [REPOSITORY] / session post

Starts a new session for the repository.

arguments

  • autoCommit, boolean (default: true)
    Specify whether or not the session should use transactions.
  • lifetime, integer
    The number of seconds the session can be idle before being shutdown and reclaimed.
  • loadInitFile, boolean
    If true, then the initfile will be loaded when the session starts.
  • script, list
    The name of a script file to load; may be specified multiple times.
catalogs / [CATNAME] / repositories / [REPOSITORY] / shutdown post

Closes respository. Sends close to each shared backend, but does not attempt to close open sessions.

If ensureNotLingering is passed it will first turn on the respective option in service-daemon so that closing the repository causes repository and its child processes to exit instantly.

arguments

  • ensureNotLingering, boolean
catalogs / [CATNAME] / repositories / [REPOSITORY] / uuid get

Returns the repository's UUID.

catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby get

Returns a representation of the current standby status for repository.

Only supports an application/json accept type.

catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby put

Set up warm-standby on this repository.

Requires jobname, primary, primaryPort, user, and password parameters. Makes this repository start replicating the source store on the server primary:primaryPort, using the given credentials to gain access.

arguments

  • jobname, string
  • primary, string
  • primaryPort, string
  • user, string
  • password, string
catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby delete

Stops a replication job.

This command is sent to the client.

catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby / jobnames get

Get a list of replication jobnames

catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby / registerJobname post

Register a replication jobname

arguments

  • jobname, string
catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby / startServer post

Start a warm standby server.

catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby / switchRole post

Sent to a repository that is currently functioning as a replication server (i.e., a primary). Causes a client (identified by the jobname parameter) to take over, making this repository a client of that new server.

The becomeClient boolean parameter, which defaults to true, determines whether the server will start replicating its old client. The enableCommit parameter, also defaulting to true, controls whether no-commit mode will be turned off in the client.

arguments

  • jobname, string
  • becomeClient, boolean (default: true)
  • enableCommit, boolean (default: true)
  • user, string
  • password, string
catalogs / [CATNAME] / repositories / [REPOSITORY] / warmstandby / unregisterJobname post

Unregister a replication jobname

arguments

  • jobname, string
config / fti-stop-words get

Returns list of default stop words for freetext indices

configfile get

Return the AllegroGraph configuration file

hostname get

Return the hostname or ip address of the server

arguments

  • timeout, integer (default: 15)
    The maximum number of seconds we'll wait to compute an answer.
initfile get

Retrieve the server's initialization file.

The initialization-file is a collection of Common Lisp code that is executed on every shared back-end when it starts (see [sessions] for more details).

initfile put

Replace the current initialization file with the body of the request.

arguments

  • restart, boolean (default: true)
    If true, then any running shared backends will be restarted. This ensures that subsequent requests will use the new initialization file.
initfile delete

Remove the server's initialization file.

jobs get

Returns lists of strings of the form ("uuid" "age" "description" [unused]), where "uuid" is the job UUID; "age" is the time since the job was created, in seconds; and "description" is the query string. Only query jobs are returned. The fourth element of the list will also be a string but is not currently used and so is not meaningful.

jobs delete

Cancels the specified job.

arguments

  • jobId, string
largeOperationWarning get

Return the text used for the large operation warnings.

largeOperationWarning put

Set the text used for the large operation warnings.

logfile get

Return the AllegroGraph log file.

If specified, startAt and length override the all argument.

arguments

  • all, boolean
    If true, then the entire log file is returned. Otherwise, only the last 100 kilobytes are returned.
  • startAt, integer
    If specified, return the log file starting at this position. If negative, start at this position bytes before the end of the file.
  • length, integer
    If specified, return at most this many bytes.
namespaces get

Retrieve the standard namespaces AllegroGraph uses

nd / computeSubtype get

Compute a geospatial nD-datatype specification given either a datatype or a list of ordinates.

The list of ordinates is described using $-prefixed names for each of the ordinates (in order). Each name must have a type, a minimum and maximum, a resolution and, optionally, a strip width. For example, these names must be included to describe the ordinate named test:

$test-type  
$test-resolution  
$test-width  
$test-min  
$test-max 

The REST command returns a description of the nD-geospatial subtype specified by the parameters to the query. Currently, this can either be in text/plain or application/json.

arguments

  • datatype, string
  • all-vars, vars
processes get

Returns a list of tuples describing the server's currently running processes.

Each tuple has pid (the OS process ID), name (the process name), and displayName (a prettier name to use for display) properties.

processes / [NAME] get

Returns stack traces for the threads in the given process.

processes / [NAME] delete

Kills the specified process.

This should only be done if absolutely necessary as it can have adverse effects on the functioning of the server.

processes / [NAME] / telnet post

Start a telnet server for the specified process.

An arbitrary port will be assigned to the server and returned as the response.

Security Note: any process on the same machine as the AllegroGraph server will be able to connect to the telnet server.

protocol get

Returns the protocol version of the Sesame interface. The protocol described in this document is 4.

queryPlanners get

Return the planners that can be used to reorder Basic Graph patterns in a SPARQL query. These can be used in the clauseReorderer query plan option.

reconfigure post

Posting to this URL will cause the server to re-read its configuration file, and update itself to reflect the new configuration.

reopenLog post

Causes the server to re-open its log file. This is useful for log rotation.

repositories get

Return a list of repositories available in the catalog.

arguments

  • all, boolean
    If true, then all of the repositories in all of the catalogs will be returned.
repositories / [REPOSITORY] put

Creates a new, empty repository.

When a repository with the given name already exists, it is overwritten, unless a parameter override with value false is passed.

arguments

  • expectedSize, integer
    Specifies the expected number of triples in the repository
  • index, list
    Can be specified mulitple times. Must hold index names, and is used to configure the set of indices created for the store.
  • stringTableCompression, string
    Specifies the type of string compression to use. The default is 'none'. See Server Configuration and Control for information on stringTableCompression
  • override, string (default: true)
  • restore, string
  • nocommit, boolean
repositories / [REPOSITORY] delete

Delete the specified repository. This can fail if the repository is being accessed by another client.

repositories / [REPOSITORY] / backup post

Create a backup of the repository.

arguments

  • target, string
repositories / [REPOSITORY] / ensureNotLingering post

To conserve resources, makes the database instance and its child processes exit if the instance is unused. Takes no arguments, returns nothing.

Normally unused database instances linger for InstanceTimeout seconds to speed up subsequent open operations.

repositories / [REPOSITORY] / exists get

Return true if the triple-store exists and is accessible to the current user.

Will return an HTTP 401 (Unauthorized) if the user is not authorized to read from the requested catalog and an HTTP 404 (Not Found) if the user is authorized but the store does not exist.

repositories / [REPOSITORY] / namespaces get

Return the currently active namespaces for the current user in this repository.

The namespaces are returned as tuples with fields prefix and namespace (the URI).

repositories / [REPOSITORY] / namespaces delete

Deletes all namespaces in this repository for the current user.

arguments

  • reset, boolean
    If specified and true, then the namespaces are reset to the default namespaces.
repositories / [REPOSITORY] / namespaces / [NS] post put

Create or update a namespace.

The body of the request must contain the URI for the namespace, as plain text.

repositories / [REPOSITORY] / namespaces / [NS] delete

Delete a namespace.

repositories / [REPOSITORY] / repl / controllingInstance put

Specify the name of the new controlling instance. This command must be sent to the current controlling instance. If the current controlling instance is down then it can be sent to any instance if 'force' is specified as 'true'

arguments

  • instanceName, string
    Name of the instance to become the controlling instance
  • force, string (default: false)
    If true then allow any instance to set the controlling instance
repositories / [REPOSITORY] / repl / createCluster put

Create the first instance of a replication cluster.

arguments

  • host, string
    A hostname or IP address for this host that's reachable from all other instances in the cluster
  • port, integer
    The port of the Agraph server for the specified scheme
  • instanceName, string
    A unique name for this respository to be used in control commands
  • group, string
    Group name used in the computation of commit request priorities
  • user, string
    User name used by other instances to access the created repository
  • password, string
    Password used by other instances to access the created repository
  • scheme, string
    Method used to communicate with agraph server: can be http (the default) or https
  • ifExists, string (default: supersede)
    Value is 'use' to open existing repo, 'supersede' or 'overwrite' to create fresh repo or 'error' to signal an error if the repo exists. Whichever is chosen the repo will be the lone member of the cluster when it's opened
  • standalone, string (default: false)
    If specified as 'true' then this repo can be read and written but will never join a cluster as long as it remains open.
repositories / [REPOSITORY] / repl / growCluster put

add instance to cluster

arguments

  • host, string
    A hostname or IP address for this host that's reachable from all other instances in the cluster
  • port, integer
    The port of the Agraph server to hold the new instance
  • name, string
    The name of the repository for the new instance
  • instanceName, string
    A unique name for this respository to be used in control commands
  • user, string
    User name if needed to access the server
  • password, string
    Password if needed to access the server
  • catalog, string
    The catalog for the new repo (if other than the root catalog)
  • group, string
    Group name used in the computation of commit request priorites
  • scheme, string
    Method used to communicate with agraph server: can be http (the default) or https
  • backupServerFilename, string
    The filename on the host of the new instance that holds a backup of the database to be restored to create the new instance
repositories / [REPOSITORY] / repl / priority post

Set the priorities between instances and groups.

arguments

  • expression, string
    json expression specifying priorites between instances or groups
repositories / [REPOSITORY] / repl / quiesce put

Control whether commits are permitted and whether to wait until the instance is up to date with commits

arguments

  • action, string
    Either "stop", "stopall", "start", "startall", "ready", "readyall", or "restartall"
  • timeout, integer (default: 120)
    Number of seconds to wait for action to take effect before returning a timed out response
repositories / [REPOSITORY] / repl / remove put

Permanently remove an instance from the cluster. The command is sent to the controlling instance.

arguments

  • instanceName, string
    Name of the instance to be permanently removed from the cluster
  • timeout, integer (default: repl-remove-default-timeout)
    (format nil Number of seconds to wait for durability to be achieved before giving up on the remove operation. Maximum is ~d seconds repl-remove-max-timeout)
  • force, string
    If true will remove instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
repositories / [REPOSITORY] / repl / settings get

Return the current settings of repl parameters

repositories / [REPOSITORY] / repl / settings post

Set the values of replication parameters and return all of the settings.

arguments

  • transactionLatencyCount, integer
    How many non-durable transactions are permitted (a non-negative value) before a commit will not be permitted
  • distributedTransactionTimeout, integer
    Number of seconds to wait for a transaction to become durable until letting the commit finish
  • durability, string
    The number of instances that must have a copy of a commit before it's considered durable. The value can be a positive integer or one of the three strings: min (meaning 1), max (meaning all instances) or quorum (meaning the next integer greater than half of the instances)
  • transactionLatencyTimeout, integer
    Number of seconds to wait for the transactionLatencyCount to be satisified when committing before signalling an error
repositories / [REPOSITORY] / repl / start put

Restart a stopped instance in the cluster. If the instanceName argument is given then that instance is started. If instanceName is not given then the instance started is the one to which the command is sent.

arguments

  • instanceName, string
    Name of the instance to start. If not given then the instance to which this message is sent is started
repositories / [REPOSITORY] / repl / status get

Return the status of the instance.

arguments

  • form, string (default: text)
    Can be 'text' (the default) or 'json' to specify how the results are returned
repositories / [REPOSITORY] / repl / stop put

Stops an instance. The instance will receive no commits from other instances and no commits can be done on this instance. This instance can be restarted. The instance named by instanceName is stopped. If instanceName is not given the the instance to which the command is sent is stopped.

arguments

  • timeout, integer (default: repl-stop-default-timeout)
    (format nil Number of seconds to wait for durability to be achieved before giving up on the stop operation. Maximum is ~d seconds repl-stop-max-timeout)
  • force, string
    If true will stop instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
  • instanceName, string
    Name of the instance to stop. If not given then the instance to which this message is sent is stopped
repositories / [REPOSITORY] / retain put

Specify which transaction log files must be retained

arguments

  • mustRetain, integer
    The ID of the maximum transaction log that must be retained. A value of -1 will turn off this check.
  • sinceTime, string
    All transactions since the given date must be retained. The data can be an ISO date, "now", or a universal time. A value of -1 will turn off this check
  • timeInterval, integer
    Transaction log entries between now and timeInterval seconds ago will be retained. You can use this to retain, say, the last 24 hours of entries by specifying 86400 seconds. A value of -1 turns off this check
repositories / [REPOSITORY] / scripts get

Return the list of scripts that have been added to this repository.

repositories / [REPOSITORY] / scripts / [PATH*] get

Return the contents of the script (named by path*) in this repository.

repositories / [REPOSITORY] / scripts / [PATH*] put

Add or replace the script (named by path*) in this repository with the contents of the body.

repositories / [REPOSITORY] / scripts / [PATH*] delete

Delete the script (named by path*) in this repository.

repositories / [REPOSITORY] / session post

Starts a new session for the repository.

arguments

  • autoCommit, boolean (default: true)
    Specify whether or not the session should use transactions.
  • lifetime, integer
    The number of seconds the session can be idle before being shutdown and reclaimed.
  • loadInitFile, boolean
    If true, then the initfile will be loaded when the session starts.
  • script, list
    The name of a script file to load; may be specified multiple times.
repositories / [REPOSITORY] / shutdown post

Closes respository. Sends close to each shared backend, but does not attempt to close open sessions.

If ensureNotLingering is passed it will first turn on the respective option in service-daemon so that closing the repository causes repository and its child processes to exit instantly.

arguments

  • ensureNotLingering, boolean
repositories / [REPOSITORY] / uuid get

Returns the repository's UUID.

repositories / [REPOSITORY] / warmstandby get

Returns a representation of the current standby status for repository.

Only supports an application/json accept type.

repositories / [REPOSITORY] / warmstandby put

Set up warm-standby on this repository.

Requires jobname, primary, primaryPort, user, and password parameters. Makes this repository start replicating the source store on the server primary:primaryPort, using the given credentials to gain access.

arguments

  • jobname, string
  • primary, string
  • primaryPort, string
  • user, string
  • password, string
repositories / [REPOSITORY] / warmstandby delete

Stops a replication job.

This command is sent to the client.

repositories / [REPOSITORY] / warmstandby / jobnames get

Get a list of replication jobnames

repositories / [REPOSITORY] / warmstandby / registerJobname post

Register a replication jobname

arguments

  • jobname, string
repositories / [REPOSITORY] / warmstandby / startServer post

Start a warm standby server.

repositories / [REPOSITORY] / warmstandby / switchRole post

Sent to a repository that is currently functioning as a replication server (i.e., a primary). Causes a client (identified by the jobname parameter) to take over, making this repository a client of that new server.

The becomeClient boolean parameter, which defaults to true, determines whether the server will start replicating its old client. The enableCommit parameter, also defaulting to true, controls whether no-commit mode will be turned off in the client.

arguments

  • jobname, string
  • becomeClient, boolean (default: true)
  • enableCommit, boolean (default: true)
  • user, string
  • password, string
repositories / [REPOSITORY] / warmstandby / unregisterJobname post

Unregister a replication jobname

arguments

  • jobname, string
requests get

Returns a JSON object containing information about all pending and a limited number of finished requests for all AllegroServe instances running. This includes requests to the main AllegroGraph URL, the backends and sessions.

Each request contains the following information: - uri - the URL of the request - method - one of HTTP methods like 'get', 'post', etc. - statusCode - response status or null (if request not finished yet) - source - IP and port of the requester - started - Unix timestamp (in nanoseconds) of the moment the request was received by the server - finished - Unix timestamp (in nanoseconds) of the moment the server finished answering the request, or null if the request not finished yet. - duration - Duration of the request in nanoseconds. For pending requests, this is the duration of the request until now.

Requires superuser privileges.

roles get

Return a list of the roles defined on the server.

roles / [NAME] put

Add a new role to the server.

roles / [NAME] delete

Remove the role named name from the server.

roles / [NAME] / access get

Retrieve the read/write access for a user.

This returns a result set, each element of which has a read, write, catalog, and repository component. The first two are booleans, the latter two strings. For permissions granted globally, catalog and repository will have a value of "*", for those granted per-catalog, only repository will be "*". catalog normally contains the catalog name, but "/" is used for the root catalog.

For example, read access to all repositories in the public catalog is specified (in JSON format) by:

{read: true, write: false, catalog: "public, repository: "*"} 

Whereas read/write access to repository scratch in the root catalog would be:

{read: true, write: true, catalog: "/", repository: "scratch"} 

 

roles / [NAME] / access put

Modify the read/write access of a user or role.

arguments

  • read, boolean
    Whether to grant read access.
  • write, boolean
    Whether to grant write access
  • catalog, string (default: *)
    Which catalog to grant the access on. Leave off or use * to grant access on all catalogs; use / for the root catalog.
  • repository, string (default: *)
    Specifies the repository that access is granted on. Passing * or leaving the parameter off is used to change access for all of the repositories in a catalog.
roles / [NAME] / access delete

Similar to PUT Access but this deletes the read/write access of a user or role.

arguments

  • read, boolean
    Whether to grant read access.
  • write, boolean
    Whether to grant write access
  • catalog, string (default: *)
    Which catalog to grant the access on. Leave off or use * to grant access on all catalogs; use / for the root catalog.
  • repository, string (default: *)
    Specifies the repository that access is granted on. Passing * or leaving the parameter off is used to change access for all of the repositories in a catalog.
roles / [NAME] / permissions get

Return a list of permissions flags that have been assigned to a user or role.

Example flags include super, eval, session.

roles / [NAME] / permissions / [TYPE] get

Return the value of the permission type for a user or role.

roles / [NAME] / permissions / [TYPE] put

Assigns the given permission to this user. type should be super, eval, session or one of the other defined permission flags.

roles / [NAME] / permissions / [TYPE] delete

Revokes the given permission for this user.

roles / [NAME] / security-filters / [TYPE] get

Get list of security filters for a user.

Type may be allow or disallow. The returned items have keys s, p, o, and g as per the parameters for POST security-filters.

roles / [NAME] / security-filters / [TYPE] post

Create security-filter for the user or role.

type should be allow or disallow. The subject, predicate, object and graph fields are all optional. See the Security filters Documentation for more details.

arguments

  • s, string
    The subject for the filter
  • p, string
    The predicate for the filter
  • o, string
    The object for the filter
  • g, string
    The graph for the filter
roles / [NAME] / security-filters / [TYPE] delete

Delete a security-filter for the user or role.

type should be allow or disallow. The subject, predicate, object and graph fields are all optional. See the Security filters Documentation for more details.

arguments

  • s, string
    The subject for the filter
  • p, string
    The predicate for the filter
  • o, string
    The object for the filter
  • g, string
    The graph for the filter
scripts get

Return a list of the names of the scripts stored on the server.

scripts / [PATH*] get

Return the script found at path*

scripts / [PATH*] put

Put a new script in path*.

The body of the request should contain the new script. Scripts whose name ends in .fasl are assumed to be compiled Lisp code (you are responsible for ensuring that it is compatible with the server), anything else is assumed to be raw Common Lisp code, which the server will compile.

scripts / [PATH*] delete

Delete the script at path*.

serverWarnings get

Retrieve any operational warnings from the AllegroGraph server as tuples consisting of a warning identifier tag and descriptive text.

serverWarnings delete

Dismiss the server warning identified by tag.

Only a user with superuser access may dismiss warnings.

arguments

  • tag, string
session get

Retrieve information about the currently running sessions.

session post

Starts a new session.

The minilanguage used by the store parameter works as follows:

<store1>
Indicates the triple store named "store1" in the root catalog.
<catalog1:store2>
The triple store "store2" in the "catalog1" catalog.
<http://USER:PASSWORD@HOST:PORT/repositories/REPONAME> <http://USER:PASSWORD@HOST:PORT/catalog/CATNAME/repositories/REPONAME>
A remote store, by URL. If the URL points to the server itself, the store will be opened locally. USER and PASSWORD are not required if the remote server allows for anonymous access to the specified store.
<a> + <b>
The federation of stores "a" and "b".
<a>[rdfs++]
The store "a", with rdfs++ reasoning applied (restriction is also supported as a reasoner type). You can specify the context that inferred triples get using this syntax: <a>[rdfs++#<http://test.org/mycontext>]
<a>{null <http://example.com/graph1>}
Store "a", filtered to only contain the triples in the default graph (null) and the graph named http://example.com/graph1. Any number of graphs can be given between the braces.

This syntax can be composed to created federations of filtered and reasoning stores, for example <http://somehost:10035/repositories/a>{null} + <b>[rdfs++].

The service returns the URL of the new session. Any sub-URLs that were valid under a repository's URL will also work under this session URL. For example, if http://localhost:55555/sessions/7e8df8cd-26b8-26e4-4e83-0015588336ea is returned, you can use http://localhost:55555/sessions/7e8df8cd-26b8-26e4-4e83-0015588336ea/statements to retrieve the statements in the session.

arguments

  • store, string
    A triple-store specification describing the store to open.
  • autoCommit, boolean (default: true)
    Specify whether or not the session should use transactions.
  • lifetime, integer
    The number of seconds the session can be idle before being shutdown and reclaimed.
  • loadInitFile, boolean
    If true, then the initfile will be loaded when the session starts.
  • script, list
    The name of a script file to load; may be specified multiple times.
users get

Returns a list of defined user names.

users / [NAME] put

Create a new user.

arguments

  • password, string
    Specifies the user's password (can be left off when creating the anonymous user).
users / [NAME] delete

Delete the user identified by name.

users / [NAME] / access get

Retrieve the read/write access for a user.

This returns a result set, each element of which has a read, write, catalog, and repository component. The first two are booleans, the latter two strings. For permissions granted globally, catalog and repository will have a value of "*", for those granted per-catalog, only repository will be "*". catalog normally contains the catalog name, but "/" is used for the root catalog.

For example, read access to all repositories in the public catalog is specified (in JSON format) by:

{read: true, write: false, catalog: "public, repository: "*"} 

Whereas read/write access to repository scratch in the root catalog would be:

{read: true, write: true, catalog: "/", repository: "scratch"} 

 

users / [NAME] / access put

Modify the read/write access of a user or role.

arguments

  • read, boolean
    Whether to grant read access.
  • write, boolean
    Whether to grant write access
  • catalog, string (default: *)
    Which catalog to grant the access on. Leave off or use * to grant access on all catalogs; use / for the root catalog.
  • repository, string (default: *)
    Specifies the repository that access is granted on. Passing * or leaving the parameter off is used to change access for all of the repositories in a catalog.
users / [NAME] / access delete

Similar to PUT Access but this deletes the read/write access of a user or role.

arguments

  • read, boolean
    Whether to grant read access.
  • write, boolean
    Whether to grant write access
  • catalog, string (default: *)
    Which catalog to grant the access on. Leave off or use * to grant access on all catalogs; use / for the root catalog.
  • repository, string (default: *)
    Specifies the repository that access is granted on. Passing * or leaving the parameter off is used to change access for all of the repositories in a catalog.
users / [NAME] / data get

Each user has a simple key-value store associated with it. This is mostly used by WebView to save settings, but can be useful in other applications.

This service returns a result set containing id and uri fields, listing the keys stored for this user, and the URL under which their data can be found (see below).

arguments

  • prefix, string
users / [NAME] / data / [KEY] get

Fetches the user-data under key. Returns a string.

users / [NAME] / data / [KEY] put

Stores data in a user's key-value store. The request body should contain the data to store.

users / [NAME] / data / [KEY] delete

Deletes data from a user's key-value store.

users / [NAME] / effectiveAccess get

Similar to access, but also includes the access granted to any of the user's roles.

users / [NAME] / effectivePermissions get

Return a list of permissions flags that have been assigned to a user or any of its roles.

Example flags include super, eval, session.

users / [NAME] / loginTimeout get

Get the login timeout for USER, in seconds.

If no there is no timeout -1 will be returned. Also note that timeouts are currently configured globally, not per-user.

users / [NAME] / password post

Update the password of the user name.

The password must be included in the body of the HTTP request.

users / [NAME] / permissions get

Return a list of permissions flags that have been assigned to a user or role.

Example flags include super, eval, session.

users / [NAME] / permissions / [TYPE] get

Return the value of the permission type for a user or role.

users / [NAME] / permissions / [TYPE] put

Assigns the given permission to this user. type should be super, eval, session or one of the other defined permission flags.

users / [NAME] / permissions / [TYPE] delete

Revokes the given permission for this user.

users / [NAME] / roles get

Return a list of the user's roles

users / [NAME] / roles / [ROLE] put

Add a role to a user.

users / [NAME] / roles / [ROLE] delete

Remove a role from a user.

users / [NAME] / security-filters / [TYPE] get

Get list of security filters for a user.

Type may be allow or disallow. The returned items have keys s, p, o, and g as per the parameters for POST security-filters.

users / [NAME] / security-filters / [TYPE] post

Create security-filter for the user or role.

type should be allow or disallow. The subject, predicate, object and graph fields are all optional. See the Security filters Documentation for more details.

arguments

  • s, string
    The subject for the filter
  • p, string
    The predicate for the filter
  • o, string
    The object for the filter
  • g, string
    The graph for the filter
users / [NAME] / security-filters / [TYPE] delete

Delete a security-filter for the user or role.

type should be allow or disallow. The subject, predicate, object and graph fields are all optional. See the Security filters Documentation for more details.

arguments

  • s, string
    The subject for the filter
  • p, string
    The predicate for the filter
  • o, string
    The object for the filter
  • g, string
    The graph for the filter
uuids get

Return all of the UUIDs of the repositories in all the catalogs

version get

Returns the version of the AllegroGraph server, as a string. For example 6.4.2.

version / date get

Return the date on which the server was built.

version / full get

Returns the full version of the AllegroGraph server, as a string. For example 6.4.2.

version / revision get

Return the git hash of the revision that the server was built from.

vmstat.json get

Returns the current collected vmstat history in json.

arguments

  • startUt, integer (default: 0)
    If given, export only data after this timestamp. The value is a timestamp in milliseconds.
  • id, integer
    Request id - will be echoed back to the client. This can be used to discard old responses arriving out of order due to the asynchronous nature of AJAX requests.

Back end

catalogs / [CATNAME] / repositories / [REPONAME] get post

Execute a SPARQL or Prolog select query

arguments

  • query, string
    The query to evaluate
  • update, string
    The update command to evaluate (POST requests only)
  • queryLn, string (default: sparql)
    The query language to use (may be sparql or prolog)
  • infer, string
    The inference mode to use if any
  • limit, integer
    If limit is specifed and the query is a SPARQL query that also contains a LIMIT, then the minimum of the two will be used.
  • offset, integer
    If offset is specifed and the query is a SPARQL query that also contains an OFFSET, then the sum of the two will be used.
  • timeout, integer
  • context, list
  • namedContext, list
  • defaultGraphName, list
  • remove-graph-uri, list
  • insert-graph-uri, string
  • using-graph-uri, list
  • using-named-graph-uri, list
  • default-graph-uri, list
  • named-graph-uri, list
  • uri, string
  • baseURI, string
  • bound, vars
  • checkVariables, string (default: default)
    If yes, then query warnings will cause the query to stop executing and fail.
  • save, string
  • analyzeIndicesUsed, boolean
  • queryAnalysisTimeout, float
  • queryAnalysisTechnique, string
  • engine, string
  • normalizeResult, boolean (default: true)
  • logQuery, string
    If log, then query execution will be logged to agraph.log. If true, then the query will be processed, the results will be discarded, and the query log will be returned. Otherwise, no query logging will be performed unless the query itself enables it.
  • returnPlan, boolean
  • uuid, string
  • returnQueryMetadata, boolean
    If true, an additional HTTP header named x-query-info is returned. The header contains a URI encoded JSON encoding of query related metadata. If the client supports HTTP Trailers, then the x-query-final-info will contain the same information as x-query-info along with additional information collected during the execution of the query.
catalogs / [CATNAME] / repositories / [REPONAME] / access get

Return the access permissions the current user has for this repository.

catalogs / [CATNAME] / repositories / [REPONAME] / attributes / definitions get

Returns a JSON array containing JSON objects representing attribute definitions. If NAME is supplied returns an array containing a single JSON object, if an attribute of the given name exists, otherwise returns an empty array.

Examples:

[{"minimum-number":0,"maximum-number":1152921504606846975,"name":"attr","allowed-values":[],"ordered":false}]

[{"minimum-number":5,"maximum-number":10,"name":"attr1","allowed-values":[5, 7, 10],"ordered":true}, {"minimum-number":0,"maximum-number":20,"name":"attr2","allowed-values":[],"ordered":false}]

arguments

  • name, string
    If name is supplied, only information for the named attribute definition (if found) is returned.
catalogs / [CATNAME] / repositories / [REPONAME] / attributes / definitions post

Establishes or updates a triple attribute definition.

Attributes must be defined before they can be used. Defining an attribute establishes the name of an attribute and any constraints that should be placed on its use.

arguments

  • name, string
    name is a string naming the attribute.
  • allowed-values, list
    allowed-values must be a list of string values that this attribute is allowed to take on. If the list is empty/nil, then this attribute will allow any string value.
  • ordered, boolean
    If true, then the specified order of the allowed-values is significant. If 'false' or left unspecified then the order is not significant. Ordered attributes can be compared to one another. See the triple attributes reference guide for more information.
  • minimum-number, integer (default: 0)
    Specifies the minimum number of attributes of this type that must provided for each added triple. The default is 0.
  • maximum-number, integer (default: most-positive-fixnum)
    Optionally specifies the maximum number of attributes of this type that may be provided for each added triple. The default when ordered is true is 1. When ordered is false, the default is 1,152,921,504,606,846,975.
catalogs / [CATNAME] / repositories / [REPONAME] / attributes / definitions delete

Deletes an existing attribute definition.

If the named attribute definition was found and deleted, returns true.

If the named attribute definition was not found: If error is true (the default), throws an error. If error is false, returns false/nil.

Note that attribute definitions cannot be deleted if they are in use by the static attribute filter. An attempt to delete an attribute definition while it is in use will result in an error.

arguments

  • name, string
    A string naming the attribute definition to delete.
  • error, boolean (default: true)
    (Optional) If 'true' (the default), an error will be generated if the named attribute definition does not exist. If 'false' an error will not be generated.
catalogs / [CATNAME] / repositories / [REPONAME] / attributes / staticFilter get

Returns the current static attribute filter for the triple store.

catalogs / [CATNAME] / repositories / [REPONAME] / attributes / staticFilter post

Sets the static attribute filter for the triple store.

When set, only triples which match the filter will be returned by any query against the store.

arguments

  • filter, string
    (Optional) A string containing the filter expression. When unspecified the static attribute filter is removed and all triples will be returned for any query against the store.
catalogs / [CATNAME] / repositories / [REPONAME] / attributes / staticFilter delete

Deletes the current static attribute filter for the triple store (if any).

catalogs / [CATNAME] / repositories / [REPONAME] / begin post

Begin a transaction

catalogs / [CATNAME] / repositories / [REPONAME] / blankNodes post

Return one or more blank nodes.

arguments

  • amount, integer (default: 1)
    The number of blank nodes to return.
catalogs / [CATNAME] / repositories / [REPONAME] / bulkMode get

Returns whether or not bulk-load mode is enabled for the repository.

catalogs / [CATNAME] / repositories / [REPONAME] / bulkMode put

Enable bulk-load mode for the repository.

catalogs / [CATNAME] / repositories / [REPONAME] / bulkMode delete

Disable bulk-load mode for the repository.

catalogs / [CATNAME] / repositories / [REPONAME] / commit post

Commit the current transaction

arguments

  • leaveAutoCommitAlone, boolean
catalogs / [CATNAME] / repositories / [REPONAME] / contexts get

Fetches a list of named graphs in the store.

Returns a set of tuples, each of which only has a contextID field, which is an N-triples string that names the graph.

catalogs / [CATNAME] / repositories / [REPONAME] / createSecondaryIndices get

Return whether or not the store should create secondary indices (UPI-maps) at query time.

catalogs / [CATNAME] / repositories / [REPONAME] / createSecondaryIndices put

Update the automatic secondary indices creation (UPI-maps) setting.

arguments

  • type, string (default: true)
catalogs / [CATNAME] / repositories / [REPONAME] / createSecondaryIndices delete

Turn off automatic secondary indices creation (UPI-maps).

catalogs / [CATNAME] / repositories / [REPONAME] / data-generator / patient post

Adds and commits sample patient triples to the database.
Returns the number of triples added.

arguments

  • start-id, integer
    start-id specifies the starting patient id for generation
  • count, integer
    count specifies the number of patients to generate
  • rate, integer
    Try to limit data generation to rate patients/second
catalogs / [CATNAME] / repositories / [REPONAME] / data-generator / phoneCall post

Adds and commits sample phone call triples to the database.
Returns the number of triples added.

arguments

  • start-id, integer
    start-id specifies the starting call id for generation
  • count, integer
    count specifies the number of calls to generate
  • rate, integer
    Try to limit data generation to rate phone calls/second
catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds post

Return the next amount encoded IDs for prefix

arguments

  • prefix, string
  • amount, integer (default: 1)
catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes get

Return information on any registered encoded IDs.

Returns a set of tuples with keys: prefix, format, and id.

catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes post

Register encoded IDs for the repository.

Use either the prefix and format arguments to specify a single encoded ID or encode a collection of registrations into a JSON array of form and include this in the body of the request.

arguments

  • prefix, string
  • format, string
catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes delete

Removes the encoded ID associated with prefix.

Note that it is an error if the encoded ID has been already been used in the triple-store.

arguments

  • prefix, string
catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes / hasAny get

Returns whether or not the repository has any encoded IDs registered.

catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes / isInUse get

Returns whether or not any triples have been added using the encoded ID associated with prefix.

arguments

  • prefix, string
catalogs / [CATNAME] / repositories / [REPONAME] / encodedIds / prefixes / isRegistered get

Returns whether or not a prefix is registered as an encoded ID.

arguments

  • prefix, string
catalogs / [CATNAME] / repositories / [REPONAME] / eval post

Evaluates the request body in the server.

By default, it is evaluated as Common Lisp code, with *package* set to the db.agraph.user package. If you specify a Content-Type of text/javascript, however, the code will be interpreted as JavaScript.

Makes an attempt to return the result in a sensible format, falling back to printing it (as per prin1) and returning it as a string.

catalogs / [CATNAME] / repositories / [REPONAME] / freetext get post

Query the repository using a free-text index

arguments

  • pattern, string
  • expression, string
  • index, string
  • limit, integer
  • offset, integer
  • sorted, boolean
  • attributeFilter, string
  • returnExtendedTriples, boolean
catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices get

Return a list of freetext indices defined on the store

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] get

Return information on the freetext-index named indexName.

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] post

Modify the freetext-index named indexName.

arguments

  • predicate, list
  • indexLiterals, boolean (default: true)
  • indexLiteralType, list
  • indexResources, string (default: null)
  • indexField, list
  • minimumWordSize, integer (default: null)
  • stopWord, list
  • wordFilter, list
  • reIndex, boolean (default: true)
  • innerChars, list
  • borderChars, list
  • tokenizer, string (default: default)
catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] put

Create or modify a freetext-index named indexName.

arguments

  • predicate, list
  • indexLiterals, boolean (default: true)
  • indexLiteralType, list
  • indexResources, string (default: false)
  • indexField, list
  • minimumWordSize, integer (default: 3)
  • stopWord, list
  • wordFilter, list
  • innerChars, list
  • borderChars, list
  • tokenizer, string (default: default)
catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] delete

Delete the free-text index indexName.

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / borderChars get

Return the border characters for the text index

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / indexFields get

Return the triple-fields that the index indexes

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / indexLiterals get

Return whether or not the index indexes literals

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / indexResources get

Return whether or not the index indexes resources

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / innerChars get

Return the inner characters for the text index

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / minimumWordSize get

Return the minimum word size of the text index

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / predicates get

Return the predicates on which the text index is defined

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / stopWords get

Return the stop words defined for the text index

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / tokenizer get

Return the tokenizer for the text index

catalogs / [CATNAME] / repositories / [REPONAME] / freetext / indices / [INDEXNAME] / wordFilters get

Return the word filters specified for the text index

catalogs / [CATNAME] / repositories / [REPONAME] / functor post

Define one or more Prolog functors.

The body should contain the functors to be defined.

catalogs / [CATNAME] / repositories / [REPONAME] / geo / box get

Fetch all triples with a given predicate whose object is a geospatial value inside the given box.

arguments

  • type, string
    Specifies a geospatial sub-type
  • predicate, string
    Specifies a predicate for the query
  • xmin, float
    Specifies the left-most coordinate of the box
  • ymin, float
    Specifies the bottom coordinate of the box
  • xmax, float
    Specifies the right-most coordinate of the box
  • ymax, float
    Specifies the top coordinate of the box
  • infer, string
    Specifies the inference mode, if any
  • limit, integer
    Specifies a maximum number of triples to return
  • offset, integer
    Specifies how many triples should be skipped over
  • useContext, boolean
    When true, the context (graph) field of triples is used as the geospatial value to match, rather than the object.
catalogs / [CATNAME] / repositories / [REPONAME] / geo / circle get

Retrieve triples whose object falls inside a circle.

arguments

  • type, string
    Specifies a geospatial sub-type
  • predicate, string
    Specifies a predicate for the query
  • x, float
    Specifies the x-coordinate of the circle
  • y, float
    Specifies the y-coordinate of the circle
  • radius, float
    Specifies the radius of the circle
  • infer, string
    Specifies the inference mode, if any
  • limit, integer
    Specifies a maximum number of triples to return
  • offset, integer
    Specifies how many triples should be skipped over
  • useContext, boolean
    When true, search using the context (graph) of the triple rather than its object
catalogs / [CATNAME] / repositories / [REPONAME] / geo / haversine get

Retrieve triples whose object lies within a circle in a spherical system.

arguments

  • type, string
    Specifies a geospatial sub-type
  • predicate, string
    Specifies a predicate for the query
  • lat, float
    Specifies the latitude of the center of the circle
  • long, float
    Specifies the longitude of the center of the circle
  • radius, float
    Specifies the radius of the circle
  • unit, string (default: km)
    Specifies the unit in which the radius is given (km or mile)
  • infer, string
    Specifies the inference mode, if any
  • limit, integer
    Specifies a maximum number of triples to return
  • offset, integer
    Specifies how many triples should be skipped over
  • useContext, boolean
    When true, use the context (graph) field of the triple instead of its object
catalogs / [CATNAME] / repositories / [REPONAME] / geo / polygon get

Retrieve triples whose object lies inside a polygon.

arguments

  • type, string
    Specifies a geospatial sub-type
  • predicate, string
    Specifies a predicate for the query
  • polygon, string
    The name of a polygon
  • infer, string
    Specifies the inference mode, if any
  • limit, integer
    Specifies a maximum number of triples to return
  • offset, integer
    Specifies how many triples should be skipped over
  • useContext, boolean
    When true, use the context (graph) field of the triple instead of its object
catalogs / [CATNAME] / repositories / [REPONAME] / geo / polygon put

Add a new polygon to the repository.

arguments

  • resource, string
    The name (URI) of the polygon to add.
  • point, list
    A list of points represented as AllegroGraph geospatial objects.
catalogs / [CATNAME] / repositories / [REPONAME] / geo / types get

Retrieve a list of geospatial types defined in the store.

arguments

  • uuids, boolean
catalogs / [CATNAME] / repositories / [REPONAME] / geo / types post

Add a new geospatial sub-type to the triple-store.

arguments

  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / geo / types / cartesian post

Define a new Cartesian geospatial type.

Returns the type resource which can be used as the type argument in other geospatial services. The xmin, xmax, ymin, and ymax arguments determine the size of the Cartesian plane that is modelled by this type.

arguments

  • stripWidth, float
    A floating-point number that determines the granularity of the strip.
  • xmin, float
  • ymin, float
  • xmax, float
  • ymax, float
catalogs / [CATNAME] / repositories / [REPONAME] / geo / types / id get

Returns the geospatial subtype based on its UUID.

arguments

  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / geo / types / spherical post

Define a spherical geospatial type.

Returns the type resource which can be used as the type argument in other geospatial services. The latmin, longmin, latmax, and longmax can be used to limit the size of the region modelled by this type. The default is to span the entire sphere.

arguments

  • stripWidth, float
    A floating-point number that determines the granularity of the strip.
  • unit, string (default: degree)
    The unit in which stripWidth is specified. It can be degree, km, radian or mile.
  • latmin, float
  • longmin, float
  • latmax, float
  • longmax, float
catalogs / [CATNAME] / repositories / [REPONAME] / indices get

Return a list of indices defined on the triple-store

arguments

  • listValid, boolean
    If true, then all possible index flavors are returned rather than just the ones that are currently defined.
  • listUndefined, boolean
    If true, only flavors that are not currently defined will be returned.
catalogs / [CATNAME] / repositories / [REPONAME] / indices / [TYPE] put

Add an index of type to the triple-store.

arguments

  • style, integer (default: 0)
    Specifies the chunk style of the new index. Can be 0, 1 or 2
catalogs / [CATNAME] / repositories / [REPONAME] / indices / [TYPE] delete

Drop the index type from the triple-store.

catalogs / [CATNAME] / repositories / [REPONAME] / indices / [TYPE] / chunks get

Visualize chunks of an index and return an image.

arguments

  • resolution, integer (default: 1000)
    Plot resolution (?).
catalogs / [CATNAME] / repositories / [REPONAME] / indices / optimize post

Optimize the triple-store indices

arguments

  • level, integer
    Optimization level; use 2 for a complete optimization
  • wait, boolean
    If true, then the service does not return until the optimization is complete
  • index, list
    The name of the index to operate on; this can be specified multiple times.
catalogs / [CATNAME] / repositories / [REPONAME] / jobs get

Returns job information for the current store.

Returns lists of strings of the form ("uuid" "age" "description" [unused]), where "uuid" is the job UUID; "age" is the number of seconds since the job was created; and "description" is the query string. Only query jobs are returned. The fourth element of the list will also be a string but is not currently used and so is not meaningful.

catalogs / [CATNAME] / repositories / [REPONAME] / jobs / [JOB-ID] delete

Cancels the specified job for the current store.

catalogs / [CATNAME] / repositories / [REPONAME] / jobs / purge-deleted-triples post

Schedules a background operation to purge deleted triples from the specified indices.

arguments

  • index, list
    The name of an index. This can be specified multiple times. If unspecified, the operation will be performed on all indices
catalogs / [CATNAME] / repositories / [REPONAME] / jobs / purge-deleted-triples delete

Cancels purge deleted triple job for the specified indices.

arguments

  • index, list
    The name of an index. This can be specified multiple times. If unspecified, the purge operation will be stopped for all indices
catalogs / [CATNAME] / repositories / [REPONAME] / list-indices get

List defined indexes. Returns a JSON list of objects. Each object contains the following fields: name (index name / flavor), style (1 or 2), status (a string describing the currently running optimization job), chunks (number of chunks), size (disk usage in bytes), oscore (a number), scoreClass (a string, one of 'good', 'bad' and 'ugly').

catalogs / [CATNAME] / repositories / [REPONAME] / lock post

Attempts to page in and lock the specified indices or the string table into memory. String or index data added after this call will not be locked.

The ability to lock is limited by the 'memlock' rlimit and available memory. Increasing the 'memlock' limit requires Systems Administrator intervention.

arguments

  • object, list
    The name of an index to lock or :strings to lock the string table. This can be specified multiple times. If unspecified, no operation will be done
catalogs / [CATNAME] / repositories / [REPONAME] / lock delete

Removes the specified index or string table locks.

arguments

  • object, list
    The name of an index or :strings to unlock the string table. This can be specified multiple times. If unspecified no operation will be performed
catalogs / [CATNAME] / repositories / [REPONAME] / mapping get

Return the datatype and predicate mappings for the repository.

catalogs / [CATNAME] / repositories / [REPONAME] / mapping delete

Remove any user-defined datatype and predicate mappings.

catalogs / [CATNAME] / repositories / [REPONAME] / mapping / all delete

Remove all datatype and predicate mappings (included the default ones).

catalogs / [CATNAME] / repositories / [REPONAME] / mapping / predicate post put

Add a new predicate mapping between predicate and encoding.

arguments

  • predicate, string
  • encoding, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / predicate delete

Remove any predicate mapping on predicate.

arguments

  • predicate, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / predicate / cartesian post

Define a Cartesian type-mapping between predicate and the geospatial subtype specified by uuid.

arguments

  • predicate, string
  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / predicate / spherical post

Define a spherical type-mapping between predicate and the geospatial subtype specified by uuid.

arguments

  • predicate, string
  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / type post put

Add a new datatype mapping between type and encoding.

arguments

  • type, string
  • encoding, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / type delete

Remove the datatype mapping between type and encoding.

arguments

  • type, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / type / cartesian post

Define a Cartesian datatype mapping between the datatype type and the geospatial subtype specified by uuid.

arguments

  • type, string
  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / mapping / type / spherical post

Define a spherical datatype mapping between the datatype type and the geospatial subtype specified by uuid.

arguments

  • type, string
  • uuid, string
catalogs / [CATNAME] / repositories / [REPONAME] / materializeEntailed put

Use materialization to add inferred triples to the store.

arguments

  • with, list
  • without, list
  • useTypeSubproperty, boolean
  • inferredGraph, string
  • commit, integer
  • verbose, boolean
    Write additional information to the log
catalogs / [CATNAME] / repositories / [REPONAME] / materializeEntailed delete

Delete any materialized triples

arguments

  • inferredGraph, string
    Specifies the graph from which inferred triple will be deleted. Leave unspecified to use the default materialized triple graph.
catalogs / [CATNAME] / repositories / [REPONAME] / metadata get

Returns a subset of the store's metadata. Currently it returns the attribute definitions and static filter definition. The value may be saved or passed later to set-metadata; it must not be modified.

catalogs / [CATNAME] / repositories / [REPONAME] / metadata post

Merge the metadata in the metadata argument into the current metadata for the database. It is not currently permitted to change an attribute definition and doing so will result in an error. The metadata value must have come from an earlier call to get-metadata. After calling this function a commit-triple-store must be done to make the changes persistent.

arguments

  • metadata, string
    A string containing the metadata
catalogs / [CATNAME] / repositories / [REPONAME] / mongoParameters get

Return the mongoDB settings for the repository.

The settings include:

  • server - server name where MongoDB is running
  • port - port to use to communicate with MongoDB
  • database - name of the database to use when querying MongoDB
  • collection - name of the collection to use when querying MongoDB
  • user - used to authenticate to the Mongo DB server

Note, the mongoDB password is not returned. Use the POST request to change the parameters.

catalogs / [CATNAME] / repositories / [REPONAME] / mongoParameters post

Update the triple-store's MongoDB setting. See MongoDB interface for additional details.

arguments

  • server, string
    The server name where MongoDB is running.
  • port, string
    The port on which MongoDB is running.
  • database, string
    The name of the MongoDB database.
  • collection, string
    The name of the MongoDB collection to query (must be non-empty)
  • user, string
    The username used to authenticate with the MongoDB server.
  • password, string
    The password used to authenticate with the MongoDB server.
catalogs / [CATNAME] / repositories / [REPONAME] / namespaces get

Return the currently active namespaces for your user in this repository

Namespaces are returned as tuples with prefix and namespace (the URI) fields.

catalogs / [CATNAME] / repositories / [REPONAME] / namespaces delete

Deletes all namespaces in this repository for the current user.

arguments

  • reset, boolean
    If true, the user's namespaces are reset to the default set of namespaces.
catalogs / [CATNAME] / repositories / [REPONAME] / namespaces / [PREFIX] post put

Associate prefix with the uri as a namespace abbreviation.

catalogs / [CATNAME] / repositories / [REPONAME] / namespaces / [PREFIX] delete

Remove any namespace abbreviation associated with prefix.

catalogs / [CATNAME] / repositories / [REPONAME] / nd / geospatialDatatypeAutomation get

Returns whether or not automatic geospatial datatype recognition is enabled for this store.

catalogs / [CATNAME] / repositories / [REPONAME] / nd / geospatialDatatypeAutomation put

Turns on automatic geospatial datatype recognition so that 2, 3 and n-dimensional data can be easily loaded.

catalogs / [CATNAME] / repositories / [REPONAME] / nd / geospatialDatatypeAutomation delete

Turns off automatic geospatial datatype recognition.

catalogs / [CATNAME] / repositories / [REPONAME] / needsCommit get

Returns whether or not the whether the current transaction has any changes that require a commit.

catalogs / [CATNAME] / repositories / [REPONAME] / neighborMatrices / [NAME] put

Create a neighbor-matrix, which is a pre-computed generator.

arguments

  • group, list
    A set of N-Triples terms (can be passed multiple times) which serve as start nodes for building up the matrix.
  • depth, integer (default: 1)
    Specifies the maximum depth to which to compute the matrix..
  • generator, string
    The generator to use to find neighbors, by name.
catalogs / [CATNAME] / repositories / [REPONAME] / noCommit get

Return whether this repository is currently in no-commit mode.

When this mode is active, all commits from any clients will return an error which effectively prevents writing to the store. This is used by warm standby clients, and can also be used to enforce read-only stores.

catalogs / [CATNAME] / repositories / [REPONAME] / noCommit put

Turns on no-commit mode. Requires superuser privileges.

catalogs / [CATNAME] / repositories / [REPONAME] / noCommit delete

Turns off no-commit mode. Requires superuser privileges.

catalogs / [CATNAME] / repositories / [REPONAME] / queries / [NAME] get post

Execute a saved query

arguments

  • bound, vars
  • limit, integer
  • offset, integer
catalogs / [CATNAME] / repositories / [REPONAME] / queries / [NAME] delete

Remove a prepared query

catalogs / [CATNAME] / repositories / [REPONAME] / rollback post

Roll back the current transaction (discard all changes made since since the beginning of the current transaction) and then roll forward to the latest database state.

catalogs / [CATNAME] / repositories / [REPONAME] / session / autoCommit get

Return whether or not auto-commit is currently active for this session.

Deprecated with Sesame 2.7; see isActive instead.

catalogs / [CATNAME] / repositories / [REPONAME] / session / autoCommit post

Change the auto-commit behavior for the session.

arguments

  • on, boolean
    If true, the autoCommit is turned on
catalogs / [CATNAME] / repositories / [REPONAME] / session / close post

Stop a session.

catalogs / [CATNAME] / repositories / [REPONAME] / session / description get

Return a description of the session.

catalogs / [CATNAME] / repositories / [REPONAME] / session / isActive get

Return whether or not there is an open transaction.

catalogs / [CATNAME] / repositories / [REPONAME] / session / ping get

Send a message to a session in order to keep it alive.

catalogs / [CATNAME] / repositories / [REPONAME] / settings / purge-rate-limit get

Returns the deleted triple purge operation rate limit (read IOs per second). 0 means no limit.

catalogs / [CATNAME] / repositories / [REPONAME] / settings / purge-rate-limit post

Sets the deleted triple purge operation rate limit (read IOs per second). Note that this setting is not persistent. It will revert to 0 the next time the database instance is started.

arguments

  • rate, integer
    Sets the purge rate limit. 0 means no limit. The maximum limit is 4,294,967,295.
catalogs / [CATNAME] / repositories / [REPONAME] / size get

Returns the number of statements in the repository, as an integer.

arguments

  • context, list
    if supplied, the count is only for the specified named graphs
catalogs / [CATNAME] / repositories / [REPONAME] / sna / paths get

Execute an SNA path search from start to end.

The searchMode controls whether breadthFirst, depthFirst, or bidirectional search is used (breadthFirst is the default). The SNA generator can either be specified by name using the generator parameter (assuming, of course, that the named generator has been previously defined on the server). Alternately, a generator can be built dynamically from the predicate, predicateTo and predicateFrom parameters. Each of these can be specified multiple times. Each URI in the predicate list will be used to find undirected paths whereas each URI in the predicateTo and predicateFrom lists will be used to find objects and subjects (respectively).

The graph parameter, which can be specified multiple times, can be used to restrict path searching to triples in only the specified graphs.

If timeout is supplied, it must be a floating point number and it will be used to limit the duration of the path searching.

If limit is supplied, it must be a positive integer and at most this many paths will be returned.

Lastly, the maximumDepth parameter can be used to limit the total search depth.

The return value depends on the version parameter. If the version is 1, then it will be JSON list of lists where each sublist contains the nodes along a path including the starting and ending nodes. If version is 2, then the result will be a JSON object with two keys: "paths" and "status". "paths" will be a list of the paths found (as in version 1). Each node will be either a subject or object of the triples that created the path. "status" indicates the reason the search stopped and can be one of "complete", "limit-reached", or "timeout". If version is not supplied or is anything other than 2, then the version 1 format will be used in order to be backwards compatible. Version 1 support is deprecated and will be phased out in the future.

arguments

  • start, string
  • end, string
  • maximumDepth, integer
  • searchMode, string (default: breadthFirst)
  • predicateTo, list
  • predicateFrom, list
  • predicate, list
  • generator, string
  • graph, list
  • timeout, float
  • limit, integer
  • version, integer (default: 1)
catalogs / [CATNAME] / repositories / [REPONAME] / snaGenerators / [NAME] put

Creates a new SNA generator under the given name.

arguments

  • subjectOf, list
    Like objectOf, but follow edges from object to subject.
  • objectOf, list
    A predicate. Accepted multiple times. Causes the new generator to follow edges with the given predicate.
  • undirected, list
    Like objectOf or subjectOf, but follow edges in both directions.
  • query, list
    A Prolog query, in which the variable ?node can be used to refer to the 'start' node, and whose results will be used as 'resulting' nodes. User namespaces may be used in this query.
catalogs / [CATNAME] / repositories / [REPONAME] / solrParameters get

Return the Solr settings for the repository.

catalogs / [CATNAME] / repositories / [REPONAME] / solrParameters post

Set the Solr settings for the repository

arguments

  • endpoint, string
  • idfield, string
catalogs / [CATNAME] / repositories / [REPONAME] / sparql get post

Execute a SPARQL or Prolog select query

arguments

  • query, string
    The query to evaluate
  • update, string
    The update command to evaluate (POST requests only)
  • queryLn, string (default: sparql)
    The query language to use (may be sparql or prolog)
  • infer, string
    The inference mode to use if any
  • limit, integer
    If limit is specifed and the query is a SPARQL query that also contains a LIMIT, then the minimum of the two will be used.
  • offset, integer
    If offset is specifed and the query is a SPARQL query that also contains an OFFSET, then the sum of the two will be used.
  • timeout, integer
  • context, list
  • namedContext, list
  • defaultGraphName, list
  • remove-graph-uri, list
  • insert-graph-uri, string
  • using-graph-uri, list
  • using-named-graph-uri, list
  • default-graph-uri, list
  • named-graph-uri, list
  • uri, string
  • baseURI, string
  • bound, vars
  • checkVariables, string (default: default)
    If yes, then query warnings will cause the query to stop executing and fail.
  • save, string
  • analyzeIndicesUsed, boolean
  • queryAnalysisTimeout, float
  • queryAnalysisTechnique, string
  • engine, string
  • normalizeResult, boolean (default: true)
  • logQuery, string
    If log, then query execution will be logged to agraph.log. If true, then the query will be processed, the results will be discarded, and the query log will be returned. Otherwise, no query logging will be performed unless the query itself enables it.
  • returnPlan, boolean
  • uuid, string
  • returnQueryMetadata, boolean
    If true, an additional HTTP header named x-query-info is returned. The header contains a URI encoded JSON encoding of query related metadata. If the client supports HTTP Trailers, then the x-query-final-info will contain the same information as x-query-info along with additional information collected during the execution of the query.
catalogs / [CATNAME] / repositories / [REPONAME] / spin / function get

Return information about any defined SPIN functions

catalogs / [CATNAME] / repositories / [REPONAME] / spin / function / [URI] get

Return information about the SPIN function associated with uri.

catalogs / [CATNAME] / repositories / [REPONAME] / spin / function / [URI] put

Associate a SPIN function with uri.

arguments

  • query, string
  • arguments, list
catalogs / [CATNAME] / repositories / [REPONAME] / spin / function / [URI] delete

Remove the SPIN function associated with uri.

catalogs / [CATNAME] / repositories / [REPONAME] / spin / magicproperty get

Return a list of SPIN magic properties defined for the store.

catalogs / [CATNAME] / repositories / [REPONAME] / spin / magicproperty / [URI] get

Return information about the SPIN magic property associated with uri.

catalogs / [CATNAME] / repositories / [REPONAME] / spin / magicproperty / [URI] put

Associate a SPIN magic property with uri.

arguments

  • query, string
  • arguments, list
catalogs / [CATNAME] / repositories / [REPONAME] / spin / magicproperty / [URI] delete

Remove the SPIN magic property associated with uri.

catalogs / [CATNAME] / repositories / [REPONAME] / statement put

Add a triple to the repository.

The subj, pred, and obj arguments must be supplied and are used to fill in the subject, predicate and object parts of the triple. The context argument is used to fill in the triple's graph but may be left off. In this case, the triple's graph will be the default graph of the repository.

The subj, pred, obj, and context (if supplied) arguments must all be in URI encoded N-Triples notation.

The service returns the triple-ID of the newly added triple.

arguments

  • subj, string
  • pred, string
  • obj, string
  • context, string
  • attributes, string
    If supplied, this must be a JSON object encoding of a list of key/value pairs. Keys must be strings and values must either be strings or arrays of strings. Each key must name an already existing attribute defintions.
catalogs / [CATNAME] / repositories / [REPONAME] / statements post put

Add triples to the triple-store.

This service can add triples in several ways:

  • Via a SPARQL Update command. To do this use the update parameter. The baseURI, context, remove-graph-uri, insert-graph-uri, using-graph-uri, using-named-graph-uri and infer parameters are all used in this case. Note that you can also send a POST request directly to the repository where the body of that request contains the update command.

  • Via AllegroGraph's bulk-load tool agload. In this case, the file or url parameters specify the location of the data to be loaded. The bulkLoad, bulkLoaders, externalReferences, baseURI and context parameters are used as parameters to agload.

  • Via AllegroGraph's direct load facility. The source of the data can be either from a file, located at a url or directly included in the body of the request. In the latter two cases, the request's Content-Type header or the query's type parameter must be used to specify the type of the data. You can use continueOnError, commit, context, baseURI and externalReferences parameters to control the load.

When the PUT method is used, triples in the supplied context are first deleted (if no context is supplied, then the store is completely emptied), whereas the POST method just adds triples. The value returned is an integer indicating the number of triples loaded.

The Content-Type header determines the way the given data is interpreted. The following formats are supported:

  • text/plain for N-triples
  • application/rdf+xml for RDF/XML
  • text/x-nquads for N-quads
  • application/x-extended-nquads for Extended N-Quads
  • application/trix for TriX
  • text/turtle for Turtle
  • application/json for JSON data (an array of arrays of strings, with the inner arrays having 3 or 4 elements each)
  • application/x-rdftransaction for a transaction XML document
  • application/x-franz-guess-format for guessing format based on contents of request.

Small data sources are best loaded via the direct facility whereas large data sources should be loaded via agload.

arguments

  • useAgload, boolean
    If true, then AllegroGraph's agload command-line tool will be used for the load.
  • attributes, string-or-nil
    If supplied, this must be a JSON object encoding of a list of key/value pairs. Keys must be strings and values must either be strings or arrays of strings. Each key must name an already existing attribute defintion.
  • baseURI, string
    When loading RDF/XML data, the value of this parameter is used as the base URI of the document.
  • bulkLoaders, integer
    The number of loading processes to use when using the agload bulk load tool.
  • bulkLoad, boolean
    If true, then the triple-store will be put into bulk load (non-transactional) mode for the duration of the load.
  • commit, integer
    Will cause a commit to happen after every N added statements. Can be used to work around the fact that importing a huge amount of statements in a single transaction will require excessive amounts of memory.
  • context, string
    Used to set the named graph into which new triples are stored when the format does not itself supply one.
  • continueOnError, boolean
    A boolean (which defaults to false) that indicates whether the load should continue when malformed data is encountered. Currently only works for N-Triples and N-Quads data.
  • uploadedFile, string
    Filename of file being uploaded for import. If set, the body of request will be interpreted as the contents of the uploaded file.
  • file, list
    A server-side filename from which to load the data. Note that eval permission is required to use this option. This option can have multiple values.
  • infer, string
    If true, then SPARQL Update commands will run with RDFS++ reasoning enabled.
  • insert-graph-uri, string
    Used for SPARQL Update requests to specify the graph into which to insert triples.
  • relaxSyntax, boolean
    If true, then less validation is done for the N-Triples and N-Quads formats. See the agload documentation for more details.
  • remove-graph-uri, list
    Used for SPARQL Update requests to specify the graph from which triples will be removed.
  • externalReferences, boolean
    A boolean (default is false) that indicates whether external references in RDF/XML source files will be followed. When true, the caller must have eval permissions.
  • type, string-or-nil
    May be used to specify the format of data in the body of the request or in the linked URL. Overrides the Content-Type header.
  • update, string
    A SPARQL Update command that will be evaluated to modify the triple-store.
  • url, string
    A url from which to load the data via an HTTP request.
  • using-graph-uri, list
    Used to specify the dataset for SPARQL Update commands.
  • using-named-graph-uri, list
    Used to specify the dataset for SPARQL Update commands.
catalogs / [CATNAME] / repositories / [REPONAME] / statements delete

Delete statements (triples) by matching against their components.

All parameters are optional -- when none are given, every statement in the store is deleted. The patterns to match come in pairs for subject, predicate, object, and graph. When given, they should be specified in N-triples notation.The subjEnd, predEnd, objEnd and contextEnd can only by specified if their matching entries is also supplied. At most one end parameter may be supplied.

arguments

  • subj, string
  • pred, string
  • obj, string
  • context, string
  • subjEnd, string
  • predEnd, string
  • objEnd, string
  • contextEnd, string
catalogs / [CATNAME] / repositories / [REPONAME] / statements / delete post

Delete a set of triples from the store.

Expects a JSON-encoded array of triples as the posted data, and deletes each statements listed.

The Content-Type must be application/json.

Returns the number of deletes that succeeded.

arguments

  • ids, boolean
    If true, then the request body must contain a JSON-encoded list of triple-ids, instead of actual triples.
catalogs / [CATNAME] / repositories / [REPONAME] / statements / duplicates get

Return duplicate triples from the repository

arguments

  • mode, string (default: spog)
catalogs / [CATNAME] / repositories / [REPONAME] / statements / duplicates delete

Remove duplicate triples from the repository

Commit defaults to true if the connection has autocommit mode on.

arguments

  • mode, string (default: spog)
  • commit, string
catalogs / [CATNAME] / repositories / [REPONAME] / statements / id get

Return triples by their triple IDs

arguments

  • id, list
catalogs / [CATNAME] / repositories / [REPONAME] / statements / query get post

Retrieves statements (triples) by matching against their components.

All parameters are optional -- when none are given, every statement in the store is returned. The patterns to match come in pairs for subject, predicate, object, and graph. When given, they should be specified in N-triples notation. subj, pred, obj and context can be given multiple times. The subjEnd, predEnd, objEnd and contextEnd can only by specified if exactly one of their matching entries is supplied. At most one end parameter may be supplied.

arguments

  • subj, list
  • subjEnd, string
  • pred, list
  • predEnd, string
  • obj, list
  • objEnd, string
  • context, list
  • contextEnd, string
  • infer, string (default: false)
    Specifies the kind of inference to use for this query. Valid values are false, rdfs++, and hasvalue.
  • limit, integer
    Specifies the maximum number of triples to return.
  • offset, integer
    Specifies the number of triples to skip before results are returned
  • attributeFilter, string
  • returnExtendedTriples, boolean
catalogs / [CATNAME] / repositories / [REPONAME] / statements / transform post put

Similar to /statements/ but is used for loading documents that don't represent RDF data directly and should therefore be pre-processed according to format-specific rules. The data to load is obtained from the request body.

In addition to specific rule parameters like TR-ID, TR-PREFIX, etc., the TRANSFORM-RULES parameter may be used to specify transformation rules.

If submitted as an HTTP POST request, then the new triples are added to the CONTEXT graph. If a PUT is used, then any existing triples in that graph are first removed.

Currently handles (TYPE or CONTENT-TYPE) JSON, JSONL, and CSV documents.

The special parameters for each content-type are prefixed accordingly. For example, CSV-COLUMNS, JSON-STORE-SOURCE, etc.

The HTTP response body contains the number of triples added.

arguments

  • attributes, string-or-nil
    If supplied, this must be a JSON object encoding of a list of key/value pairs. Keys must be strings and values must either be strings or arrays of strings. Each key must name an already existing attribute defintion.
  • commit, integer
    Will cause a commit to happen after every N added statements. Can be used to work around the fact that importing a huge amount of statements in a single transaction will require excessive amounts of memory.
  • context, string
    Used to set the named graph into which new triples are stored.
  • type, string-or-nil
    May be used to specify the format of data in the body of the request or in the linked URL. Overrides the Content-Type header.
  • transform-rules, string
    Used to reference the additional per-element transformation rules that should be already stored in the CONTEXT graph.
  • tr-id, string
    Tranformation rule for specifying custom id template.
  • tr-prefix, list
    Tranformation rules for specifying custom predicate prefixes.
  • tr-rename, list
    Tranformation rules for specifying custom predicate renamings.
  • tr-type, list
    Tranformation rules for specifying custom object types.
  • tr-lang, list
    Tranformation rules for specifying custom object langs.
  • tr-transform, list
    Tranformation rules for specifying custom object transforms.
  • tr-skip, list
    Tranformation rules for specifying which keys to skip.
  • tr-graph, list
    Tranformation rules for specifying override graphs for particular keys.
  • json-store-source, boolean (default: true)
    Used to specify if the JSON source objects should be stored.
  • csv-columns, string
    Used to specify CSV column names if the CSV data doesn't contain a header. The names should be a comma-separated list. If not provided it is assumed that the CSV header row is present.
  • csv-separator, character (default: ,)
    Used to specify CSV separator character.
  • csv-quote, character
    Used to specify CSV quote character.
  • csv-whitespace, string
    Used to specify CSV whitespace characters. Should be a comma-separated list of characters.
  • csv-double-quote-p, boolean
    Used to specify usage of double quote in CSV parsing. If true quotes can be escaped inside quoted values by doubling the quote character.
  • csv-escape, character
    Used to specify CSV escape character.
catalogs / [CATNAME] / repositories / [REPONAME] / storeID get

Return the triple-store ID.

catalogs / [CATNAME] / repositories / [REPONAME] / suppressDuplicates get

Returns the store's current duplicate suppression strategy.

Duplicate suppression controls if and how AllegroGraph checks triples that are about to be committed against triples that already exist in the triple-store.

It can be:

* `false` - no duplicate suppression is in effect,  
* `spog` - on commit, do not add triples that match some existing triple on  
subject, predicate, object and graph, or 
  • spo - on commit, do not add triples that match some existing triple on subject, predicate, and object.
catalogs / [CATNAME] / repositories / [REPONAME] / suppressDuplicates put

Sets the duplicate suppression strategy for the store.

arguments

  • type, string (default: spog)
    This can be one of:
    • false - turn off duplicate suppression,
    • spog - on commit, suppress the addition of triples with matching subject, predicate, object and graph, or
    • spo - on commit, suppress the addition of triples with matching subject, predicate, and object
catalogs / [CATNAME] / repositories / [REPONAME] / suppressDuplicates delete

Disable duplicate suppression for the store.

This is the equivalent of using PUT /repositories/(name)/suppressDuplicates with false as the type argument.

catalogs / [CATNAME] / repositories / [REPONAME] / tlog / locker get

Returns the process id of the process which is holding the transaction log lock. If the lock is unlocked, returns 0

catalogs / [CATNAME] / repositories / [REPONAME] / tripleCache get

Returns the size of the triple-cache (SPOGI cache).

Returns zero if the cache is disabled.

catalogs / [CATNAME] / repositories / [REPONAME] / tripleCache put

Sets the size of the triple-cache (SPOGI cache).

arguments

  • size, integer
    The size to use for the cache. If left unspecified, then the default cache size is used.
catalogs / [CATNAME] / repositories / [REPONAME] / tripleCache delete

Disable the triple-cache (SPOGI cache).

catalogs / [CATNAME] / repositories / [REPONAME] / unique / [COLUMN] get post

Return the unique values for the specified column.

column must be one of:

  • subject, subj or s to return unique subjects,
  • predicate, pred or p to return unique predicates,
  • object, obj or o to return unique objects, or
  • graph, g, context or c to return unique graphs (contexts).

Use the subj, pred, obj and context arguments to limit the triples that are examined.

This can be very expensive in time and space on a large triple-store.

arguments

  • subj, string
  • pred, string
  • obj, string
  • context, string
catalogs / [CATNAME] / repositories / [REPONAME] / useSecondaryIndices get

Return whether or not the store should use secondary indices (UPI-maps).

catalogs / [CATNAME] / repositories / [REPONAME] / useSecondaryIndices put

Change the secondary indices (UPI-maps) usage setting.

arguments

  • type, string (default: true)
catalogs / [CATNAME] / repositories / [REPONAME] / useSecondaryIndices delete

Turn off secondary indices (UPI-maps) usage.

catalogs / [CATNAME] / repositories / [REPONAME] / warmup put

Bring as much as possible of the triple-store's internal data-structures into memory.

arguments

  • includeStrings, boolean (default: true)
  • includeTriples, boolean (default: true)
close post

Tell the server to close a triple-store

arguments

  • catalog, string
  • repository, string