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
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.
If dynamic catalogs are enabled for the server (see the DynamicCatalogs
directive), this can be used to create a new catalog.
arguments
- expectedStoreSize, integerspecify the default expected size for repositories in this catalog.
Deletes a catalog. Only dynamic catalogs (those created through HTTP) can be deleted in this way.
Returns the protocol version of the Sesame interface. The protocol described in this document is 4
.
Return a list of repositories available in the catalog.
arguments
- all, booleanIf
true
, then all of the repositories in all of the catalogs will be returned.
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, integerSpecifies the expected number of triples in the repository
- index, listCan be specified mulitple times. Must hold index names, and is used to configure the set of indices created for the store.
- stringTableCompression, stringSpecifies 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
Delete the specified repository. This can fail if the repository is being accessed by another client.
Create a backup of the repository.
arguments
- target, string
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.
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.
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).
Deletes all namespaces in this repository for the current user.
arguments
- reset, booleanIf specified and true, then the namespaces are reset to the default namespaces.
Create or update a namespace.
The body of the request must contain the URI for the namespace, as plain text.
Delete a namespace.
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, stringName of the instance to become the controlling instance
- force, string (default: false)If true then allow any instance to set the controlling instance
Create the first instance of a replication cluster.
arguments
- host, stringA hostname or IP address for this host that's reachable from all other instances in the cluster
- port, integerThe port of the Agraph server for the specified scheme
- instanceName, stringA unique name for this respository to be used in control commands
- group, stringGroup name used in the computation of commit request priorities
- user, stringUser name used by other instances to access the created repository
- password, stringPassword used by other instances to access the created repository
- scheme, stringMethod 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.
add instance to cluster
arguments
- host, stringA hostname or IP address for this host that's reachable from all other instances in the cluster
- port, integerThe port of the Agraph server to hold the new instance
- name, stringThe name of the repository for the new instance
- instanceName, stringA unique name for this respository to be used in control commands
- user, stringUser name if needed to access the server
- password, stringPassword if needed to access the server
- catalog, stringThe catalog for the new repo (if other than the root catalog)
- group, stringGroup name used in the computation of commit request priorites
- scheme, stringMethod used to communicate with agraph server: can be http (the default) or https
- backupServerFilename, stringThe filename on the host of the new instance that holds a backup of the database to be restored to create the new instance
Set the priorities between instances and groups.
arguments
- expression, stringjson expression specifying priorites between instances or groups
Control whether commits are permitted and whether to wait until the instance is up to date with commits
arguments
- action, stringEither "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
Permanently remove an instance from the cluster. The command is sent to the controlling instance.
arguments
- instanceName, stringName 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, stringIf true will remove instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
Return the current settings of repl parameters
Set the values of replication parameters and return all of the settings.
arguments
- transactionLatencyCount, integerHow many non-durable transactions are permitted (a non-negative value) before a commit will not be permitted
- distributedTransactionTimeout, integerNumber of seconds to wait for a transaction to become durable until letting the commit finish
- durability, stringThe 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, integerNumber of seconds to wait for the transactionLatencyCount to be satisified when committing before signalling an error
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, stringName of the instance to start. If not given then the instance to which this message is sent is started
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
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, stringIf true will stop instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
- instanceName, stringName of the instance to stop. If not given then the instance to which this message is sent is stopped
Specify which transaction log files must be retained
arguments
- mustRetain, integerThe ID of the maximum transaction log that must be retained. A value of -1 will turn off this check.
- sinceTime, stringAll 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, integerTransaction 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
Return the list of scripts that have been added to this repository.
Return the contents of the script (named by path*) in this repository.
Add or replace the script (named by path*) in this repository with the contents of the body.
Delete the script (named by path*) in this repository.
Starts a new session for the repository.
arguments
- autoCommit, boolean (default: true)Specify whether or not the session should use transactions.
- lifetime, integerThe number of seconds the session can be idle before being shutdown and reclaimed.
- loadInitFile, booleanIf true, then the initfile will be loaded when the session starts.
- script, listThe name of a script file to load; may be specified multiple times.
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
Returns the repository's UUID.
Returns a representation of the current standby status for repository.
Only supports an application/json
accept type.
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
Stops a replication job.
This command is sent to the client.
Get a list of replication jobnames
Register a replication jobname
arguments
- jobname, string
Start a warm standby server.
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
Unregister a replication jobname
arguments
- jobname, string
Returns list of default stop words for freetext indices
Return the AllegroGraph configuration file
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.
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).
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.
Remove the server's initialization file.
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.
Cancels the specified job.
arguments
- jobId, string
Return the text used for the large operation warnings.
Set the text used for the large operation warnings.
Return the AllegroGraph log file.
If specified, startAt
and length
override the all
argument.
arguments
- all, booleanIf true, then the entire log file is returned. Otherwise, only the last 100 kilobytes are returned.
- startAt, integerIf specified, return the log file starting at this position. If negative, start at this position bytes before the end of the file.
- length, integerIf specified, return at most this many bytes.
Retrieve the standard namespaces AllegroGraph uses
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
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.
Returns stack traces for the threads in the given process.
Kills the specified process.
This should only be done if absolutely necessary as it can have adverse effects on the functioning of the server.
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.
Returns the protocol version of the Sesame interface. The protocol described in this document is 4
.
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.
Posting to this URL will cause the server to re-read its configuration file, and update itself to reflect the new configuration.
Causes the server to re-open its log file. This is useful for log rotation.
Return a list of repositories available in the catalog.
arguments
- all, booleanIf
true
, then all of the repositories in all of the catalogs will be returned.
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, integerSpecifies the expected number of triples in the repository
- index, listCan be specified mulitple times. Must hold index names, and is used to configure the set of indices created for the store.
- stringTableCompression, stringSpecifies 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
Delete the specified repository. This can fail if the repository is being accessed by another client.
Create a backup of the repository.
arguments
- target, string
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.
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.
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).
Deletes all namespaces in this repository for the current user.
arguments
- reset, booleanIf specified and true, then the namespaces are reset to the default namespaces.
Create or update a namespace.
The body of the request must contain the URI for the namespace, as plain text.
Delete a namespace.
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, stringName of the instance to become the controlling instance
- force, string (default: false)If true then allow any instance to set the controlling instance
Create the first instance of a replication cluster.
arguments
- host, stringA hostname or IP address for this host that's reachable from all other instances in the cluster
- port, integerThe port of the Agraph server for the specified scheme
- instanceName, stringA unique name for this respository to be used in control commands
- group, stringGroup name used in the computation of commit request priorities
- user, stringUser name used by other instances to access the created repository
- password, stringPassword used by other instances to access the created repository
- scheme, stringMethod 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.
add instance to cluster
arguments
- host, stringA hostname or IP address for this host that's reachable from all other instances in the cluster
- port, integerThe port of the Agraph server to hold the new instance
- name, stringThe name of the repository for the new instance
- instanceName, stringA unique name for this respository to be used in control commands
- user, stringUser name if needed to access the server
- password, stringPassword if needed to access the server
- catalog, stringThe catalog for the new repo (if other than the root catalog)
- group, stringGroup name used in the computation of commit request priorites
- scheme, stringMethod used to communicate with agraph server: can be http (the default) or https
- backupServerFilename, stringThe filename on the host of the new instance that holds a backup of the database to be restored to create the new instance
Set the priorities between instances and groups.
arguments
- expression, stringjson expression specifying priorites between instances or groups
Control whether commits are permitted and whether to wait until the instance is up to date with commits
arguments
- action, stringEither "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
Permanently remove an instance from the cluster. The command is sent to the controlling instance.
arguments
- instanceName, stringName 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, stringIf true will remove instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
Return the current settings of repl parameters
Set the values of replication parameters and return all of the settings.
arguments
- transactionLatencyCount, integerHow many non-durable transactions are permitted (a non-negative value) before a commit will not be permitted
- distributedTransactionTimeout, integerNumber of seconds to wait for a transaction to become durable until letting the commit finish
- durability, stringThe 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, integerNumber of seconds to wait for the transactionLatencyCount to be satisified when committing before signalling an error
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, stringName of the instance to start. If not given then the instance to which this message is sent is started
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
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, stringIf true will stop instance after waiting no more than timeout seconds even if there are outstanding non-durable commits
- instanceName, stringName of the instance to stop. If not given then the instance to which this message is sent is stopped
Specify which transaction log files must be retained
arguments
- mustRetain, integerThe ID of the maximum transaction log that must be retained. A value of -1 will turn off this check.
- sinceTime, stringAll 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, integerTransaction 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
Return the list of scripts that have been added to this repository.
Return the contents of the script (named by path*) in this repository.
Add or replace the script (named by path*) in this repository with the contents of the body.
Delete the script (named by path*) in this repository.
Starts a new session for the repository.
arguments
- autoCommit, boolean (default: true)Specify whether or not the session should use transactions.
- lifetime, integerThe number of seconds the session can be idle before being shutdown and reclaimed.
- loadInitFile, booleanIf true, then the initfile will be loaded when the session starts.
- script, listThe name of a script file to load; may be specified multiple times.
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
Returns the repository's UUID.
Returns a representation of the current standby status for repository.
Only supports an application/json
accept type.
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
Stops a replication job.
This command is sent to the client.
Get a list of replication jobnames
Register a replication jobname
arguments
- jobname, string
Start a warm standby server.
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
Unregister a replication jobname
arguments
- jobname, string
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.
Return a list of the roles defined on the server.
Add a new role to the server.
Remove the role named name
from the server.
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"}
Modify the read
/write
access of a user or role.
arguments
- read, booleanWhether to grant
read
access. - write, booleanWhether 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.
Similar to PUT Access but this deletes the read
/write
access of a user or role.
arguments
- read, booleanWhether to grant
read
access. - write, booleanWhether 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.
Return a list of permissions flags that have been assigned to a user or role.
Example flags include super
, eval
, session
.
Return the value of the permission type
for a user or role.
Assigns the given permission to this user. type
should be super
, eval
, session
or one of the other defined permission flags.
Revokes the given permission for this user.
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.
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, stringThe
subject
for the filter - p, stringThe
predicate
for the filter - o, stringThe
object
for the filter - g, stringThe
graph
for the filter
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, stringThe
subject
for the filter - p, stringThe
predicate
for the filter - o, stringThe
object
for the filter - g, stringThe
graph
for the filter
Return a list of the names of the scripts stored on the server.
Return the script found at path*
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.
Delete the script at path*
.
Retrieve any operational warnings from the AllegroGraph server as tuples consisting of a warning identifier tag and descriptive text.
Dismiss the server warning identified by tag.
Only a user with superuser access may dismiss warnings.
arguments
- tag, string
Retrieve information about the currently running sessions.
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 namedhttp://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, stringA triple-store specification describing the store to open.
- autoCommit, boolean (default: true)Specify whether or not the session should use transactions.
- lifetime, integerThe number of seconds the session can be idle before being shutdown and reclaimed.
- loadInitFile, booleanIf true, then the initfile will be loaded when the session starts.
- script, listThe name of a script file to load; may be specified multiple times.
Returns a list of defined user names.
Create a new user.
arguments
- password, stringSpecifies the user's password (can be left off when creating the anonymous user).
Delete the user identified by name
.
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"}
Modify the read
/write
access of a user or role.
arguments
- read, booleanWhether to grant
read
access. - write, booleanWhether 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.
Similar to PUT Access but this deletes the read
/write
access of a user or role.
arguments
- read, booleanWhether to grant
read
access. - write, booleanWhether 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.
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
Fetches the user-data under key
. Returns a string.
Stores data in a user's key-value store. The request body should contain the data to store.
Deletes data from a user's key-value store.
Similar to access, but also includes the access granted to any of the user's roles.
Return a list of permissions flags that have been assigned to a user or any of its roles.
Example flags include super
, eval
, session
.
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.
Update the password of the user name
.
The password must be included in the body of the HTTP request.
Return a list of permissions flags that have been assigned to a user or role.
Example flags include super
, eval
, session
.
Return the value of the permission type
for a user or role.
Assigns the given permission to this user. type
should be super
, eval
, session
or one of the other defined permission flags.
Revokes the given permission for this user.
Return a list of the user's roles
Add a role to a user.
Remove a role from a user.
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.
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, stringThe
subject
for the filter - p, stringThe
predicate
for the filter - o, stringThe
object
for the filter - g, stringThe
graph
for the filter
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, stringThe
subject
for the filter - p, stringThe
predicate
for the filter - o, stringThe
object
for the filter - g, stringThe
graph
for the filter
Return all of the UUIDs of the repositories in all the catalogs
Returns the version of the AllegroGraph server, as a string. For example 6.4.2
.
Return the date on which the server was built.
Returns the full version of the AllegroGraph server, as a string. For example 6.4.2
.
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, integerRequest 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
Execute a SPARQL or Prolog select query
arguments
- query, stringThe query to evaluate
- update, stringThe update command to evaluate (POST requests only)
- queryLn, string (default: sparql)The query language to use (may be
sparql
orprolog
) - infer, stringThe inference mode to use if any
- limit, integerIf
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, integerIf
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, stringIf
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, booleanIf 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.
Return the access permissions the current user has for this repository.
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, stringIf
name
is supplied, only information for the named attribute definition (if found) is returned.
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, booleanIf 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. Whenordered
is false, the default is 1,152,921,504,606,846,975.
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, stringA 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.
Returns the current static attribute filter for the triple store.
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.
Deletes the current static attribute filter for the triple store (if any).
Begin a transaction
Return one or more blank nodes.
arguments
- amount, integer (default: 1)The number of blank nodes to return.
Returns whether or not bulk-load mode is enabled for the repository.
Enable bulk-load mode for the repository.
Disable bulk-load mode for the repository.
Commit the current transaction
arguments
- leaveAutoCommitAlone, boolean
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.
Return whether or not the store should create secondary indices (UPI-maps) at query time.
Update the automatic secondary indices creation (UPI-maps) setting.
arguments
- type, string (default: true)
Turn off automatic secondary indices creation (UPI-maps).
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, integerTry to limit data generation to
rate
patients/second
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, integerTry to limit data generation to
rate
phone calls/second
Return the next amount
encoded IDs for prefix
arguments
- prefix, string
- amount, integer (default: 1)
Return information on any registered encoded IDs.
Returns a set of tuples with keys: prefix, format, and id.
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
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
Returns whether or not the repository has any encoded IDs registered.
Returns whether or not any triples have been added using the encoded ID associated with prefix
.
arguments
- prefix, string
Returns whether or not a prefix
is registered as an encoded ID.
arguments
- prefix, string
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.
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
Return a list of freetext indices defined on the store
Return information on the freetext-index named indexName
.
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)
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)
Delete the free-text index indexName
.
Return the border characters for the text index
Return the triple-fields that the index indexes
Return whether or not the index indexes literals
Return whether or not the index indexes resources
Return the inner characters for the text index
Return the minimum word size of the text index
Return the predicates on which the text index is defined
Return the stop words defined for the text index
Return the tokenizer for the text index
Return the word filters specified for the text index
Define one or more Prolog functors.
The body should contain the functors to be defined.
Fetch all triples with a given predicate whose object is a geospatial value inside the given box.
arguments
- type, stringSpecifies a geospatial sub-type
- predicate, stringSpecifies a predicate for the query
- xmin, floatSpecifies the left-most coordinate of the box
- ymin, floatSpecifies the bottom coordinate of the box
- xmax, floatSpecifies the right-most coordinate of the box
- ymax, floatSpecifies the top coordinate of the box
- infer, stringSpecifies the inference mode, if any
- limit, integerSpecifies a maximum number of triples to return
- offset, integerSpecifies how many triples should be skipped over
- useContext, booleanWhen
true
, the context (graph) field of triples is used as the geospatial value to match, rather than the object.
Retrieve triples whose object falls inside a circle.
arguments
- type, stringSpecifies a geospatial sub-type
- predicate, stringSpecifies a predicate for the query
- x, floatSpecifies the x-coordinate of the circle
- y, floatSpecifies the y-coordinate of the circle
- radius, floatSpecifies the radius of the circle
- infer, stringSpecifies the inference mode, if any
- limit, integerSpecifies a maximum number of triples to return
- offset, integerSpecifies how many triples should be skipped over
- useContext, booleanWhen
true
, search using the context (graph) of the triple rather than its object
Retrieve triples whose object lies within a circle in a spherical system.
arguments
- type, stringSpecifies a geospatial sub-type
- predicate, stringSpecifies a predicate for the query
- lat, floatSpecifies the latitude of the center of the circle
- long, floatSpecifies the longitude of the center of the circle
- radius, floatSpecifies the radius of the circle
- unit, string (default: km)Specifies the unit in which the radius is given (
km
ormile
) - infer, stringSpecifies the inference mode, if any
- limit, integerSpecifies a maximum number of triples to return
- offset, integerSpecifies how many triples should be skipped over
- useContext, booleanWhen
true
, use the context (graph) field of the triple instead of its object
Retrieve triples whose object lies inside a polygon.
arguments
- type, stringSpecifies a geospatial sub-type
- predicate, stringSpecifies a predicate for the query
- polygon, stringThe name of a polygon
- infer, stringSpecifies the inference mode, if any
- limit, integerSpecifies a maximum number of triples to return
- offset, integerSpecifies how many triples should be skipped over
- useContext, booleanWhen
true
, use the context (graph) field of the triple instead of its object
Add a new polygon to the repository.
arguments
- resource, stringThe name (URI) of the polygon to add.
- point, listA list of points represented as AllegroGraph geospatial objects.
Retrieve a list of geospatial types defined in the store.
arguments
- uuids, boolean
Add a new geospatial sub-type to the triple-store.
arguments
- uuid, string
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, floatA floating-point number that determines the granularity of the strip.
- xmin, float
- ymin, float
- xmax, float
- ymax, float
Returns the geospatial subtype based on its UUID.
arguments
- uuid, string
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, floatA 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
Return a list of indices defined on the triple-store
arguments
- listValid, booleanIf true, then all possible index flavors are returned rather than just the ones that are currently defined.
- listUndefined, booleanIf true, only flavors that are not currently defined will be returned.
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
Drop the index type
from the triple-store.
Visualize chunks of an index and return an image.
arguments
- resolution, integer (default: 1000)Plot resolution (?).
Optimize the triple-store indices
arguments
- level, integerOptimization level; use 2 for a complete optimization
- wait, booleanIf true, then the service does not return until the optimization is complete
- index, listThe name of the index to operate on; this can be specified multiple times.
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.
Cancels the specified job for the current store.
Schedules a background operation to purge deleted triples from the specified indices.
arguments
- index, listThe name of an index. This can be specified multiple times. If unspecified, the operation will be performed on all indices
Cancels purge deleted triple job for the specified indices.
arguments
- index, listThe name of an index. This can be specified multiple times. If unspecified, the purge operation will be stopped for all indices
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').
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, listThe 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
Removes the specified index or string table locks.
arguments
- object, listThe name of an index or :strings to unlock the string table. This can be specified multiple times. If unspecified no operation will be performed
Return the datatype and predicate mappings for the repository.
Remove any user-defined datatype and predicate mappings.
Remove all datatype and predicate mappings (included the default ones).
Add a new predicate mapping between predicate
and encoding
.
arguments
- predicate, string
- encoding, string
Remove any predicate mapping on predicate
.
arguments
- predicate, string
Define a Cartesian type-mapping between predicate
and the geospatial subtype specified by uuid
.
arguments
- predicate, string
- uuid, string
Define a spherical type-mapping between predicate
and the geospatial subtype specified by uuid
.
arguments
- predicate, string
- uuid, string
Add a new datatype mapping between type
and encoding
.
arguments
- type, string
- encoding, string
Remove the datatype mapping between type
and encoding
.
arguments
- type, string
Define a Cartesian datatype mapping between the datatype type
and the geospatial subtype specified by uuid
.
arguments
- type, string
- uuid, string
Define a spherical datatype mapping between the datatype type
and the geospatial subtype specified by uuid
.
arguments
- type, string
- uuid, string
Use materialization to add inferred triples to the store.
arguments
- with, list
- without, list
- useTypeSubproperty, boolean
- inferredGraph, string
- commit, integer
- verbose, booleanWrite additional information to the log
Delete any materialized triples
arguments
- inferredGraph, stringSpecifies the graph from which inferred triple will be deleted. Leave unspecified to use the default materialized triple graph.
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.
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, stringA string containing the metadata
Return the mongoDB settings for the repository.
The settings include:
server
- server name where MongoDB is runningport
- port to use to communicate with MongoDBdatabase
- name of the database to use when querying MongoDBcollection
- name of the collection to use when querying MongoDBuser
- used to authenticate to the Mongo DB server
Note, the mongoDB password is not returned. Use the POST request to change the parameters.
Update the triple-store's MongoDB setting. See MongoDB interface for additional details.
arguments
- server, stringThe server name where MongoDB is running.
- port, stringThe port on which MongoDB is running.
- database, stringThe name of the MongoDB database.
- collection, stringThe name of the MongoDB collection to query (must be non-empty)
- user, stringThe username used to authenticate with the MongoDB server.
- password, stringThe password used to authenticate with the MongoDB server.
Return the currently active namespaces for your user in this repository
Namespaces are returned as tuples with prefix
and namespace
(the URI) fields.
Deletes all namespaces in this repository for the current user.
arguments
- reset, booleanIf
true
, the user's namespaces are reset to the default set of namespaces.
Associate prefix
with the uri
as a namespace abbreviation.
Remove any namespace abbreviation associated with prefix
.
Returns whether or not automatic geospatial datatype recognition is enabled for this store.
Turns on automatic geospatial datatype recognition so that 2, 3 and n-dimensional data can be easily loaded.
Turns off automatic geospatial datatype recognition.
Returns whether or not the whether the current transaction has any changes that require a commit.
Create a neighbor-matrix, which is a pre-computed generator.
arguments
- group, listA 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, stringThe generator to use to find neighbors, by name.
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.
Turns on no-commit mode. Requires superuser privileges.
Turns off no-commit mode. Requires superuser privileges.
Execute a saved query
arguments
- bound, vars
- limit, integer
- offset, integer
Remove a prepared query
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.
Return whether or not auto-commit is currently active for this session.
Deprecated with Sesame 2.7; see isActive instead.
Change the auto-commit behavior for the session.
arguments
- on, booleanIf true, the autoCommit is turned on
Stop a session.
Return a description of the session.
Return whether or not there is an open transaction.
Send a message to a session in order to keep it alive.
Returns the deleted triple purge operation rate limit (read IOs per second). 0 means no limit.
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, integerSets the purge rate limit. 0 means no limit. The maximum limit is 4,294,967,295.
Returns the number of statements in the repository, as an integer.
arguments
- context, listif supplied, the count is only for the specified named graphs
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)
Creates a new SNA generator under the given name.
arguments
- subjectOf, listLike
objectOf
, but follow edges from object to subject. - objectOf, listA predicate. Accepted multiple times. Causes the new generator to follow edges with the given predicate.
- undirected, listLike
objectOf
orsubjectOf
, but follow edges in both directions. - query, listA 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.
Return the Solr settings for the repository.
Set the Solr settings for the repository
arguments
- endpoint, string
- idfield, string
Execute a SPARQL or Prolog select query
arguments
- query, stringThe query to evaluate
- update, stringThe update command to evaluate (POST requests only)
- queryLn, string (default: sparql)The query language to use (may be
sparql
orprolog
) - infer, stringThe inference mode to use if any
- limit, integerIf
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, integerIf
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, stringIf
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, booleanIf 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.
Return information about any defined SPIN functions
Return information about the SPIN function associated with uri
.
Associate a SPIN function with uri
.
arguments
- query, string
- arguments, list
Remove the SPIN function associated with uri
.
Return a list of SPIN magic properties defined for the store.
Return information about the SPIN magic property associated with uri
.
Associate a SPIN magic property with uri
.
arguments
- query, string
- arguments, list
Remove the SPIN magic property associated with uri
.
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, stringIf 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.
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. ThebaseURI
,context
,remove-graph-uri
,insert-graph-uri
,using-graph-uri
,using-named-graph-uri
andinfer
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 theupdate
command.Via AllegroGraph's bulk-load tool
agload
. In this case, thefile
orurl
parameters specify the location of the data to be loaded. ThebulkLoad
,bulkLoaders
,externalReferences
,baseURI
andcontext
parameters are used as parameters toagload
.Via AllegroGraph's direct load facility. The source of the data can be either from a
file
, located at aurl
or directly included in thebody
of the request. In the latter two cases, the request'sContent-Type
header or the query'stype
parameter must be used to specify the type of the data. You can usecontinueOnError
,commit
,context
,baseURI
andexternalReferences
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-triplesapplication/rdf+xml
for RDF/XMLtext/x-nquads
for N-quadsapplication/x-extended-nquads
for Extended N-Quadsapplication/trix
for TriXtext/turtle
for Turtleapplication/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 documentapplication/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, booleanIf
true
, then AllegroGraph'sagload
command-line tool will be used for the load. - attributes, string-or-nilIf 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, stringWhen loading RDF/XML data, the value of this parameter is used as the base URI of the document.
- bulkLoaders, integerThe number of loading processes to use when using the
agload
bulk load tool. - bulkLoad, booleanIf true, then the triple-store will be put into bulk load (non-transactional) mode for the duration of the load.
- commit, integerWill 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, stringUsed to set the named graph into which new triples are stored when the format does not itself supply one.
- continueOnError, booleanA 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, stringFilename of file being uploaded for import. If set, the body of request will be interpreted as the contents of the uploaded file.
- file, listA 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, stringIf
true
, then SPARQL Update commands will run with RDFS++ reasoning enabled. - insert-graph-uri, stringUsed for SPARQL Update requests to specify the graph into which to insert triples.
- relaxSyntax, booleanIf true, then less validation is done for the N-Triples and N-Quads formats. See the agload documentation for more details.
- remove-graph-uri, listUsed for SPARQL Update requests to specify the graph from which triples will be removed.
- externalReferences, booleanA 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-nilMay 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, stringA SPARQL Update command that will be evaluated to modify the triple-store.
- url, stringA url from which to load the data via an HTTP request.
- using-graph-uri, listUsed to specify the dataset for SPARQL Update commands.
- using-named-graph-uri, listUsed to specify the dataset for SPARQL Update commands.
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
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, booleanIf
true
, then the request body must contain a JSON-encoded list of triple-ids, instead of actual triples.
Return duplicate triples from the repository
arguments
- mode, string (default: spog)
Remove duplicate triples from the repository
Commit defaults to true if the connection has autocommit mode on.
arguments
- mode, string (default: spog)
- commit, string
Return triples by their triple IDs
arguments
- id, list
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++
, andhasvalue
. - limit, integerSpecifies the maximum number of triples to return.
- offset, integerSpecifies the number of triples to skip before results are returned
- attributeFilter, string
- returnExtendedTriples, boolean
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-nilIf 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, integerWill 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, stringUsed to set the named graph into which new triples are stored.
- type, string-or-nilMay 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, stringUsed to reference the additional per-element transformation rules that should be already stored in the CONTEXT graph.
- tr-id, stringTranformation rule for specifying custom id template.
- tr-prefix, listTranformation rules for specifying custom predicate prefixes.
- tr-rename, listTranformation rules for specifying custom predicate renamings.
- tr-type, listTranformation rules for specifying custom object types.
- tr-lang, listTranformation rules for specifying custom object langs.
- tr-transform, listTranformation rules for specifying custom object transforms.
- tr-skip, listTranformation rules for specifying which keys to skip.
- tr-graph, listTranformation 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, stringUsed 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, characterUsed to specify CSV quote character.
- csv-whitespace, stringUsed to specify CSV whitespace characters. Should be a comma-separated list of characters.
- csv-double-quote-p, booleanUsed 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, characterUsed to specify CSV escape character.
Return the triple-store ID.
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.
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, orspo
- on commit, suppress the addition of triples with matching subject, predicate, and object
Disable duplicate suppression for the store.
This is the equivalent of using PUT /repositories/(name)/suppressDuplicates with false
as the type
argument.
Returns the process id of the process which is holding the transaction log lock. If the lock is unlocked, returns 0
Returns the size of the triple-cache (SPOGI cache).
Returns zero if the cache is disabled.
Sets the size of the triple-cache (SPOGI cache).
arguments
- size, integerThe size to use for the cache. If left unspecified, then the default cache size is used.
Disable the triple-cache (SPOGI cache).
Return the unique values for the specified column
.
column
must be one of:
subject
,subj
ors
to return unique subjects,predicate
,pred
orp
to return unique predicates,object
,obj
oro
to return unique objects, orgraph
,g
,context
orc
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
Return whether or not the store should use secondary indices (UPI-maps).
Change the secondary indices (UPI-maps) usage setting.
arguments
- type, string (default: true)
Turn off secondary indices (UPI-maps) usage.
Bring as much as possible of the triple-store's internal data-structures into memory.
arguments
- includeStrings, boolean (default: true)
- includeTriples, boolean (default: true)
Tell the server to close a triple-store
arguments
- catalog, string
- repository, string