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` |