Technical Overview

For day-to-day use of your Dydra repository, there are APIs and website interfaces.

Application Programming Interfaces

There are currently two APIs: a standard SPARQL endpoint, and a standard REST API. These two APIs can be accessed from any programming language or device.

In addition, we currently support a Dydra client gem for Ruby. The client gem also acts as a command-line interface to the REST interface. We will add more programming languages to our supported list during and after our beta test period.

Importing

It is possible to import data into repositories through the website. From each repository page, the ‘Import’ button allows to import data in one of two ways: Fetch it from the web Upload a local file

Acceptable file formats

Imports into a repository allows the following encodings:

Format Accept: header content type Extension
RDFa `text/html`, `application/xhtml+xml` `html`
RDF/JSON `aplication/json`, `text/json` `json`
N-Quads `text/x-nquads` `nq`
N-Triples `text/plain` `nt`
RDF/XML `application/rdf+xml`, `text/rdf` `rdf`
Trig `application/x-trig` `trig`
Turtle `text/turtle`, `application/turtle` `ttl`

Please note that, while the Notation3 (.n3) format is not supported at this time, one may find Turtle (.ttl) to be sufficient to encode the data.

Exporting

Repositories are always available for exporting via HTTP directly from the website. Simply browse to your repository and click ‘Export’, then select your format.

You can also access a repository programatically. You can do this in two ways:

  • Adding an extension to the repository name
  • Setting the HTTP Accept header
Format Request table

Exports for the repository at http://dydra.com/jhacker/foaf are available as follows:

Format Accept: header content type Extension-based location
N-Triples `text/plain` `http://dydra.com/jhacker/foaf.nt`
Turtle `text/turtle` `http://dydra.com/jhacker/foaf.ttl`
RDF/XML `application/rdf+xml` `http://dydra.com/jhacker/foaf.rdf`