Summary

The ARAX Expander team has developed the Autonomous Relay Agent (ARA) called ARAX as part of the NCATS Translator project. The current user interface (UI) consists of two parts:

  1. A full web services interface supporting version 1.5.0 of the Translator Reasoner API (TRAPI)
  2. A light Javascript-based GUI to make testing and visualization of results easier. The GUI is simply a thin client for the TRAPI 1.5.0 back end.
All functionality is easily available from any remote tool that uses the API.

Web Services Interface

The web services interface expects and returns a JSON object as defined by the OpenAPI based TRAPI definition. Both the API framework code, Python classes, and the documentation for this interface are autogenerated using OpenAPI tools and can be tested interactively.

Interactive Interface

The interactive interface is a simple Javascript-enhanced web page with input boxes to define queries and a results section. A few example questions are provided on the page to simplify testing.

There are four different ways to present queries to ARAX:

  1. A query graph-based mechanism by which an interactive tool helps the user build a query graph, which is sent to the server for answering
  2. A JSON query_graph snippet can be pasted into a text window. The actual "query_graph": tag should NOT be included in the paste, but rather just: { "nodes": {...}, "edges": {...} }
  3. A powerful domain specific language (DSL) mechanism called ARAXi that allows power users direct access to all the ARAX modular components individually or in series to create new or operate on existing TRAPI Messages
  4. A workflow that applies defined operations to a query_graph
All Responses are stored on the server and can be easily recalled via their id URI.