Resources Management

Account Management

POST

A POST to this abstract account resource creates an account:

https://dydra.com/system/accounts

Headers

Content-Type: application/json

Content

{"account": {"name": "<new account name>"} }

DELETE

A DELETE to the specific resource deletes the respective account

https://dydra.com/system/accounts/<account>

Headers

GET

Information about an account is available through several resources

Returns a solution set with the names of the accounts to which the current user has access.

https://dydra.com/system/accounts

https://dydra.com/system/accounts/<account>

Headers

Content-Type: application/json

Response

{"@type": "account",
 "name": account name,
 "location": account host-specific HTTP API URL,
 "identifier": account service metadata resource identifier
 "repositories": an array of account repository metadata
 }

Repository Management

POST

In order to create a repository post to the accounts abstract repository resource:

https://dydra.com/system/accounts/<account>/repositories

Headers

Content-Type: application/json

Content

{"repository": {"name": "<new repository name>"},
 "class": "<repository class>"
 }

The options class specifies the repository’s schematic storage model and access patterns.

class

schematic model

internal-view-repository

The repository materializes the results of a view applied to a base repository

hdt-repository

The repository uses the HDT storage model

lmdb-repository

The repository uses a 6x B-tree storage model to index all quad term combinations

revisioned-lmdb-repository

The repository extends the lmdb-repository storage to incorporate a linear index for revision information

DELETE

In order to delete a repository, delete the specific resource:

https://dydra.com/system/accounts/<account>/repositories/<repository>

Headers

GET

https://dydra.com/system/accounts/<account>/repositories/<repository>

Headers

Content-Type: application/json

Response

Returns a data model which describes the relationships apparent in the repository data and its defined interface views.

{"@type": "repository",
 "name": repository name,
 "location": repository host-specific HTTP API URL,
 "identifier": repository service metadata resource identifier
 "getViews": an array of metadata models for defined SELECT views
 "updateViews": an array of metadata models for defined MODIFY
 "postViews": an array of metadata models for defined TARQL views
 "patterns": an array of predicate patterns derived from a formal concept analysis of the repository
 "description": the repository description text
 "predicates": an array of the predicates present in the repository
 "paths": an array of the object/subject predicate pairs present in the repository
 }

The service computes the model on demand and caches it for the duration of a processor cycle.

https://dydra.com/system/status/<account>/repositories/<repository>

Headers

Content-Type: application/json

View Management

GET

https://dydra.com/system/accounts/<account name>/repositories/<repository-name>/views

Returns a json document which records the metadata about the repository views.

POST

In order to create a view, post to the abstract account resource:

https://dydra.com/system/accounts

Headers

Content-Type: application/json

Content

{"account": {"name": "<new account name>"} }

DELETE

In order to delete an view, delete the specific resource:

https://dydra.com/system/accounts/<account>/repositories/<repository>/views/<view>

GET

Retrieve metadata concerning a given view:

https://dydra.com/system/accounts/<account>/repositories/<repository>/views/<view>

Headers

Content-Type: application/json

Response

{"@type": "view",
 "name": view name,
 "location": view host-specific HTTP API URL,
 "identifier": view service metadata resource identifier
 "constructPatterns": an array of construct query predicate patterns,
 "modifyPatterns": an array of update query insertion patterns,
 "wherePatterns": an array of select query insertion patterns,
 "predicates": an array of predicate present in the view,
 "references": {"services": an array of any device locations present in the view,
                "views": an array of any view locations present in the view
                },
 "description": view description text
 }

Index Management

Simple free text indices are created on demand associated with a given repository, when it is the target of a query which addresses the index. These are queries which use the index predicate:

<http://jena.hpl.hp.com/ARQ/property#textMatch>

In order to refresh the index, delete it to cause it to be recreated on demand.

DELETE

In order to delete a free text index, delete the resource associated with the repository:

https://dydra.com/system/accounts/<account>/repositories/<repository>/text-index

Headers

Accept: application/n-quads

Response

The response contains a simple rdf graph to describe the transaction. The index is then recreated during the response to the next query which addresses in in a query to the related repository.