REST Services

This pages details the REST services provided by each node divided into different categories.

Prefix management

GET /prefixes/

Retrieves the prefixes used by this node.

Accepted content-types: html, json

Status Codes:

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
  "http://www.w3.org/1999/02/22-rdf-syntax-ns#":"rdf",
  "http://www.w3.org/2002/07/owl#":"owl",
  "http://www.w3.org/2001/XMLSchema#":"xsd",
  "http://www.w3.org/2000/01/rdf-schema#":"rdfs"
}

GET /prefixes/(uri: prefix)

Retrieves the prefix for an URI provided it is registered.

Accepted content-types: json

Parameters:
Status Codes:

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

"prefix1"

Space management

GET /spaces/

Retrieves the spaces a node is connected to.

Accepted content-types: html, json

Status Codes:

GET /spaces/(uri: space)

Retrieves a list of the REST services (TSC primitives) which can be consumed on that space. The purpose of showing a representation of this resource is to enable browsing.

Accepted content-types: html, json

Parameters:
Status Codes:

Authorization

GET /login

Checks whether the user is logged or not.

Accepted content-types: html, json

Status Codes:

Triple Space primitives

Graph level operations (read and take)

In this subsection we describe the primitives related to the RDF Graphs on a space.

GET /spaces/(uri: space)/graphs

Retrieves a list of the graphs written into that space on that node.

Accepted content-types: html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

Status Codes:

POST /spaces/(uri: space)/graphs
write({space},{graph}): graphURI
(pending to determine whether it makes sense offering this service or not)

Accepted content-types: semantic formats

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

Status Codes:

GET /spaces/(uri: space)/graphs/(uri: graph)

read({space},{graph})

Accepted content-types: semantic formats, html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

  • graph (URI) –

    the URI of the graph to be read (must be encoded )

Status Codes:
  • 200200 OK
  • 402 – Unauthorized client cannot read this graph ( 402 Payment Required ).
  • 403 – The client has not permissions to read this graph ( 403 Forbidden ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).

DELETE /spaces/(uri: space)/graphs/(uri: graph)

take({space},{graph})

Accepted content-types: semantic formats, html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

  • graph (URI) –

    the URI of the graph to be read (must be encoded )

Status Codes:
  • 200200 OK
  • 402 – Unauthorized client cannot read this graph ( 402 Payment Required ).
  • 403 – The client has not permissions to read this graph ( 403 Forbidden ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).

GET /spaces/(uri: space)/graphs/wildcards/(uri: subject)/(uri: predicate)/(uri: object)

read({space},{template}), where {template} is made up of {subject}, {predicate} and {object}

Accepted content-types: semantic formats, html

Parameters:
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template ( 500 Internal Server Error ).

DELETE /spaces/(uri: space)/graphs/wildcards/(uri: subject)/(uri: predicate)/(uri: object)

take({space},{template}), where {template} is made up of {subject}, {predicate} and {object}

Accepted content-types: semantic formats, html

Parameters:
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template or the information could not be removed from the store ( 500 Internal Server Error ).

GET /spaces/(uri: space)/graphs/wildcards/(uri: subject)/(uri: predicate)/(object-type)/(object-value)

read({space},{template}), where {template} is made up of {subject}, {predicate}, {object-type} and {object-value}

Accepted content-types: semantic formats, html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

  • subject (URI) –

    the URI of the subject or “*” (must be encoded )

  • predicate (URI) –

    the URI of the predicate or “*” (must be encoded )

  • object-type – the XSD type for the given literal
  • object-value – the string representation of the literal
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template ( 500 Internal Server Error ).

DELETE /spaces/(uri: space)/graphs/wildcards/(uri: subject)/(uri: predicate)/(object-type)/(object-value)

take({space},{template}), where {template} is made up of {subject}, {predicate}, {object-type} and {object-value}

Accepted content-types: semantic formats, html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

  • subject (URI) –

    the URI of the subject or “*” (must be encoded )

  • predicate (URI) –

    the URI of the predicate or “*” (must be encoded )

  • object-type – the XSD type for the given literal
  • object-value – the string representation of the literal
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template ( 500 Internal Server Error ).

Space level operations (query)

In this subsection we describe the query primitive, which cares about the RDF triples written into a space. In other words, it does not care to which graph each returned RDF triple belongs to.

GET /spaces/(uri: space)/query/wildcards/(uri: subject)/(uri: predicate)/(uri: object)

query({space},{template}), where {template} is made up of {subject}, {predicate} and {object}

Accepted content-types: semantic formats, html

Parameters:
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template ( 500 Internal Server Error ).

GET /spaces/(uri: space)/query/wildcards/(uri: subject)/(uri: predicate)/(object-type)/(object-value)

query({space},{template}), where {template} is made up of {subject}, {predicate}, {object-type} and {object-value}

Accepted content-types: semantic formats, html

Parameters:
  • space (URI) –

    the URI of the space where the graph is written (must be encoded )

  • subject (URI) –

    the URI of the subject or “*” (must be encoded )

  • predicate (URI) –

    the URI of the predicate or “*” (must be encoded )

  • object-type – the XSD type for the given literal
  • object-value – the string representation of the literal
Status Codes:
  • 200200 OK
  • 400 – The template cannot be created with the provided arguments ( 400 Bad Request ).
  • 404 – When the node has not joined to the {space} provided (starts with SpaceNotExistException.HTTPMSG) or the graph with {graph} URI does not exist ( 404 Not Found ).
  • 406 – The requested content-type cannot be retrieved ( 406 Not Acceptable ).
  • 500 – A non-existing prefix was used in the template ( 500 Internal Server Error ).