A Database-based knowledge back-end built on and for INDRA. The INDRA Database is a service that can be set up by any user with their own content and knowledge access. Our implementation of the database is the back-end to many of our projects, providing a vast and detailed knowledge base derived from many resources.
GNU General Public License v3.0
16
stars
10
forks
source link
Update the server-client relationship between INDRA and INDRA DB #161
This PR goes along with a PR in INDRA to update INDRA's client to the database REST service. In particular, this ensures that INDRA remains strictly upstream of the INDRA Database in code, although the database API is downstream of INDRA via the service.
This PR adds a simple_json paradigm for building queries that is simpler to construct, allowing the complex query resolution to be solely developed within the indra_db code. In particular, rather than having Intersections and Unions, the simple JSON simply uses "AND" and "OR" strings to represent the logical over-loaded operations between the query JSONs.
In addition, the Response objects are moved into INDRA, and it has become the job of INDRA_DB to meet whatever standard INDRA imposes with regard to the metadata returned by the database queries.
Lastly, in connection with the above, the responses from database queries were further standardized to ensure that a source_counts attribute is present for all response data types.
This PR goes along with a PR in INDRA to update INDRA's client to the database REST service. In particular, this ensures that INDRA remains strictly upstream of the INDRA Database in code, although the database API is downstream of INDRA via the service.
This PR adds a
simple_json
paradigm for building queries that is simpler to construct, allowing the complex query resolution to be solely developed within the indra_db code. In particular, rather than havingIntersection
s andUnion
s, the simple JSON simply uses "AND" and "OR" strings to represent the logical over-loaded operations between the query JSONs.In addition, the Response objects are moved into INDRA, and it has become the job of INDRA_DB to meet whatever standard INDRA imposes with regard to the metadata returned by the database queries.
Lastly, in connection with the above, the responses from database queries were further standardized to ensure that a
source_counts
attribute is present for all response data types.