Releases: neurobagel/api
Releases · neurobagel/api
v0.1.1
Summary
This release introduces new API endpoints which return:
- queryable Neurobagel variables/attributes
- available instances of a specific Neurobagel attribute in the linked graph
- all term IDs and associated human-readable labels of concepts from the vocabulary used for a given Neurobagel attribute
The release also introduces:
- greater configurability of API and graph server parameters via environment variables
- a helper shell script for automatically uploading graph-ready data (JSONLD/TTL) to an existing graph database
- returning sizes of matching datasets in the API response for a subject query
What's Changed
New or improved features ✨
- [ENH] Increase configurability of API/graph server parameters by @alyssadai in #146
- [ENH] Add environment variable for allowed origins for CORS by @alyssadai in #151
- [ENH] Add query tool to docker compose by @surchs in #154
- [FEAT] Add script to upload data to graph by @alyssadai in #156
- [ENH] Implemented endpoint for returning available termURLs by @rmanaem in #183
- [ENH] Add Neurobagel vocab graph file by @alyssadai in #184
- [ENH] Update aggregate response body by @alyssadai in #193
- [ENH] Add endpoint returning queryable attributes + refine existing endpoint for attribute instances by @alyssadai in #194
- [ENH] Update
add_data_to_graph.sh
to also upload TTL files by @alyssadai in #196 - [ENH] Add endpoint that returns term ID-label mappings for vocab of a given attribute (
nb:Assessment
) by @alyssadai in #201 - [ENH] Make data upload script backend responsive by @alyssadai in #205
- [ENH] Return human-readable labels (if available) as well as term IDs from
/attributes/{data_element_URI}
by @alyssadai in #218 - [ENH] Changed the favicon to neurobagel logo by @rmanaem in #222
- [ENH] Return dataset sizes in query response by @alyssadai in #223
- [ENH] Add support for endpoint that will return
nb:Diagnosis
options from SNOMED by @alyssadai in #228
Data model-related updates ⚙️
- [MNT] Add NCIT namespace and update healthy control term by @alyssadai in #181
- [FIX] Make session optional in SPARQL query template by @alyssadai in #229
Documentation updates 📜
- [REF] Remove environment variable table from README by @alyssadai in #168
- [DOC] Generalized environment variables' table by @rmanaem in #198
- [DOC] Add link to official docs by @surchs in #219
Bug fixes 🛠️
- [FIX] Fix typo in .template-env by @alyssadai in #149
- [FIX] Remove yaml list key for API_QUERY_URL by @surchs in #164
- [FIX] Properly expose
NB_GRAPH_PORT_HOST
to API container by @alyssadai in #167 - [FIX] Removed the nested variable for
API_QUERY_URL
env var by @rmanaem in #177 - [FIX] Properly expose
NB_GRAPH_PORT
to API container by @rmanaem in #191 - [FIX] Remove --no-progress-meter by @surchs in #227
- [FIX] Copy
vocab/
directory into container filesystem in Dockerfile by @alyssadai in #231 - [FIX] Filtered out
null
imaging modalities by @rmanaem in #233 - [FIX] Remove query tool config by @surchs in #238
Other changes 🧹
- [MNT] Added
docker-pre-commit
pre-commit hook by @rmanaem in #178 - [REF] Refactor
httpx.post
call to Stardog and context creation by @alyssadai in #195 - [MNT] Removed
session_file_path
from aggregate results by @rmanaem in #214 - [REF] Organize related tests into modules and refactor setting of toy credentials by @alyssadai in #220
- [REF] Refactor dataset size request into separate function by @alyssadai in #235
- [CI] Renamed
ci
workflow tobuild_docker
and image tag fromlatest
tonightly
by @rmanaem in #242 - [CI] Add workflow for building image on release by @alyssadai in #243
New Contributors
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Initial release of the Neurobagel API, which interfaces with Stardog graph stores containing Neurobagel-harmonized data via SPARQL queries.
Overview
This release brings major additions to API functionality as well as automated testing setup including:
- A query endpoint for
GET
operations that formulate a SPARQL query to the graph based on query parameters - Processing, validation, and tests of basic query parameters for:
- Age
- Sex
- Diagnosis
- Healthy control status
- Assessment tool
- Number of sessions
- Image modality
- A pydantic data model for responses to queries from the linked graph
- Modes for returning dataset-aggregated vs subject-level query results
- Environment variable configurability in terms of the graph the API communicates with and the query result mode
- Dockerfile + docker-compose spec and usage instructions
What's new
- Setting up bagelapi + adding GET route by @alyssadai in #17
- Set up test workflow by @rmanaem in #24
- Implement query parameters for age by @alyssadai in #28
- Implemented image modality query parameter by @rmanaem in #39
- Implement query parameters for diagnosis and is_control by @alyssadai in #41
- Implemented minimum number of imaging sessions query parameter by @rmanaem in #46
- Implement query parameter for assessment by @alyssadai in #57
- Updated the API to return subject file paths and modalities and updated test workflow file by @rmanaem in #61
- Change variable storing graph DB IP address to an environment variable by @alyssadai in #71
- Implement error catching for
httpx.ConnectTimeout
when not connected to McGill network by @alyssadai in #77 - Add Dockerfile and instructions for deploying API using official Docker image by @alyssadai in #79
- Add docker-compose specification and instructions by @alyssadai in #90
- Make graph database name configurable as an environment variable by @alyssadai in #93
- Return (or not) subject-level attributes in query results based on env var by @alyssadai in #99
- [ENH] Updated API to return new subject level results by @rmanaem in #125
- [FIX] Return list instead of only first term for subject-level assessment by @alyssadai in #133
New Contributors
- @alyssadai made their first contribution in #17
- @rmanaem made their first contribution in #24
- @yarikoptic made their first contribution in #95
- @dependabot made their first contribution in #105
- @Remi-Gau made their first contribution in #103
Full Changelog: https://github.com/neurobagel/api/commits/v0.1.0