Skip to content
Carlos Badenes edited this page Mar 31, 2016 · 1 revision

epnoi API provides programmatic access to functionality and content of the system. Version 1 of the API provides an initial set of functionalities to add sources, group documents in domains and extract useful information such as: topics, terms, relations and entities from them.

The API is both a WS-REST following the Hypermedia As The Engine Of Application State (HATEOAS) principle and a Graph Query interface. Currently, the return format used for all the endpoints is JSON.

From the web-service point of view, it is an API that follows the Representational State Transfer (REST) style. As you know, it is a stateless service so you need to include credentials for every secure request to the service. To avoid this continuous exchange of sensitive information, we have adopted the protocol flow proposed by OAuth considering the epnoi service as Authorization and Resource Server.

Some details about resources and operations are presented below. However, if you are impatient ( like me ) , you can follow this 4-steps-guide to start exploring a group of documents.

resources

Endpoints

You directly can see our list of common searches with examples using this API.

paper

Users

First of all, you have to sign-up in the system creating a User with your personal information (username and password).

users

After that, you will receive as response a valid token associated to your credentials. As from now, you can operate only including that token in the Authorization HTTP header for each request.

Sources

A Source may be a folder, a compressed file, a OAI-PMH server or a RSS server

Domains

A Domain is a group of Documents

Documents

A Document is a resource with text, images and so on.

Items

An Item is a text or an image of a Document.

Topics

A Topic is a set of words related in a domain

Parts

A Part is an abstract division of a Item

Words

A Word is the smallest unit of a Part. It can be a Term or an Entity.

Relations

A relation is a connection between Entities or Terms. So, it can be a Semantic Relation between Terms or an Associative Relation between Entities

Clone this wiki locally