Skip to content

typhon-project/typhon-polystore-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Typhon Polystore API License

The Polystore API component is responsible both for providing to external systems a variety of endpoints serving the platform’s core functionalities and for orchestrating the other components within the Polystore accordingly. If the analytics component is used, it is responsible for populating appropriate queues with incoming queries. It is also responsible for orchestrating the initialization of the databases through the QL Server. It forwards authenticated Typhon QL queries to the QL Server and prepares the responses containing the unified query results. Simple CRUD operations for declared entities are also available through the API, using the QL Server. Moreover, it handles all Metadata Database operations required for user management, model versioning etc. It is implemented using the Java programming language and the Spring Enterprise Applications Framework.

Functions

The following functions are all available through the REST HTTP API:

  • User Services (Register, GetAll, Get, Delete)
  • Model Services (Get/Set DL and ML model)
  • Query Services (Select, Insert, Update and Batch)
  • Databases Services (Connection info & status)
  • Backup/Restore Services (Backup and Restore for MariaDB and Download by user)
  • Status Services (Up, Down and Current status)

Endpoints

  • Generic badge /api/resetdatabases : Reset Databases
  • Generic badge /api/status : Check API's status
  • Generic badge /api/down : Turn API off
  • Generic badge /api/up : Turn API on
  • Generic badge /api/users : Get all users
  • Generic badge /api/user/register : Register user
  • Generic badge /api/user/{username} : Get user by username
  • Generic badge /api/user/{username} : Update user by username
  • Generic badge /api/user/{username} : Delete user
  • Generic badge /api/model/ml : Get ML
  • Generic badge /api/model/dl : Get DL
  • Generic badge /api/model/ml : Set ML
  • Generic badge /api/model/dl : Set DL
  • Generic badge /api/databases : Get Polystore Databases
  • Generic badge /api/services : Get Polystore Services
  • Generic badge /api/query : Execute Select Query
  • Generic badge /api/update : Execute Insert/Update/Batch Query
  • Generic badge /api/ddl : Execute DDL command
  • Generic badge /api/noAnalytics/query : Execute Select Query bypassing analytics
  • Generic badge /api/noAnalytics/update : Execute Insert/Update/Batch Query bypassing analytics

Examples for API functions

Based on the ML example provided on the QL User Manual, there is a Postman collection to execute every function of the API. The collection can be found here.

Run in Postman