Skip to main content
Figure 3 | BMC Bioinformatics

Figure 3

From: LabKey Server: An open source platform for scientific data integration, analysis and collaboration

Figure 3

LabKey Server query service. The query service can be called on by LabKey Server's APIs or web-based interface. In either case, the service receives a request for one of the following:

• A table and a column list. A column list can include columns from the requested table or columns from related tables.

• A SQL query based on pseudo-tables known to the query service.

For an API call, the following sequence of events occurs:

1. When the request is received by the server's API layer, the layer checks folder security and translates the request into calls to the query service.

2. The query service then uses schema information describing physical tables and pseudo-tables to translate the input query into a SQL query of physical tables. The query is formulated in the dialect understood by the underlying relational database. Schema information is supplied by other LabKey modules.

3. The database returns a tabular result.

4. The tabular result is annotated with additional information about the columns (e.g. user-friendly label, description and formatting hints).

5. The appropriate LabKey client library converts this standard data/metadata into a form easily understood by the client language. For example, an R dataset would be returned as the result of a call by an R client API.

Back to article page