-
Notifications
You must be signed in to change notification settings - Fork 1
Api
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.
You directly can see our list of common searches with examples using this API.
First of all, you have to sign-up in the system creating a User with your personal information (username and password).
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.
-
GETusers/: retrieve user collections -
GETusers/{id}: retrieve user instance -
PUTusers/{id}: update user information -
POSTusers/: create user instance -
DELETEusers/{id}: remove user instance
A Source may be a folder, a compressed file, a OAI-PMH server or a RSS server
-
GETsources: retrieve source collections -
GETsources/{id}: retrieve source instance -
PUTsources/{id}: update source instance -
POSTsources/: create source instance -
DELETEsources: remove source collections -
DELETEsources/{id}: remove source instance
A Domain is a group of Documents
-
GETdomains: retrieve domain collections -
GETdomains/{id}: retrieve domain instance -
PUTdomains/{id}: update domain instance -
POSTdomains/: create domain instance -
DELETEdomains: remove domain collections -
DELETEdomains/{id}: remove domain instance
A Document is a resource with text, images and so on.
-
GETdocuments: retrieve document collections -
GETdocuments/{id}: retrieve document instance -
PUTdocuments/{id}: update document instance -
POSTdocuments: create document instance -
DELETEdocuments: remove document collections -
DELETEdocuments/{id}: remove document instance
An Item is a text or an image of a Document.
-
GETitems: retrieve item collections -
GETitems/{id}: retrieve item instance -
PUTitems/{id}: update item instance -
POSTitems: create item instance -
DELETEitems: remove item collections -
DELETEitems/{id}: remove item instance
A Topic is a set of words related in a domain
-
GETtopics: retrieve topic collections -
GETtopics/{id}: retrieve topic instance -
PUTtopics/{id}: update topic instance -
POSTtopics: create topic instance -
DELETEtopics: remove topic collections -
DELETEtopics/{id}: remove topic instance
A Part is an abstract division of a Item
-
GETparts: retrieve part collections -
GETparts/{id}: retrieve part instance -
PUTparts/{id}: update part instance -
POSTparts: create part instance -
DELETEparts: remove part collections -
DELETEparts/{id}: remove part instance
A Word is the smallest unit of a Part. It can be a Term or an Entity.
-
GETwords: retrieve word collections -
GETwords/{id}: retrieve word instance -
PUTwords/{id}: update word instance -
POSTwords: create word instance -
DELETEwords: remove word collections -
DELETEwords/{id}: remove word instance
A relation is a connection between Entities or Terms. So, it can be a Semantic Relation between Terms or an Associative Relation between Entities
-
GETrelations: retrieve relation collections -
GETrelations/{id}: retrieve relation instance -
PUTrelations/{id}: update relation instance -
POSTrelations: create relation instance -
DELETErelations: remove relation collections -
DELETErelations/{id}: remove relation instance
work supported by the European Community's Seventh Framework Programme (FP7-ICT-2013-8.1) under grant agreement no: 611383. For further information please see http://DrInventor.eu


