Releases: neurobagel/api
Releases · neurobagel/api
v0.4.2
🚀 Enhancements
- [FIX] Filter for only
ImagingSession
s orPhenotypicSession
s in SPARQL query #375 (@alyssadai)
Authors: 1
- Alyssa Dai (@alyssadai)
v0.4.1
🐛 Bug Fixes
- [FIX] Ensure non-agg API doesn't error out when all matches lack pipeline data #369 (@alyssadai)
🧪 Tests
- [TST] Remove unneeded env file mount from test docker-compose.yml #366 (@alyssadai)
Authors: 1
- Alyssa Dai (@alyssadai)
v0.4.0
💥 Breaking Changes
- [REF] Split generic
/attributes
endpoints into attribute-specific routers #358 (@alyssadai) - [ENH] Implemented
pipeline_version
andpipeline_name
query fields #345 (@rmanaem)
🚀 Enhancements
- [ENH] Add
/pipelines
router & route for fetching available pipeline versions #350 (@alyssadai) - [REF] Update README links and simplify Docker Compose instructions #340 (@alyssadai)
🐛 Bug Fixes
- [FIX] Allow only
"true"
orNone
foris_control
query parameter #364 (@alyssadai) - [FIX] Fixed a typo in filtering pipeline name #351 (@rmanaem)
- [FIX] Ensure pipeline variables are returned from the graph in an aggregate query #349 (@alyssadai)
🏠 Internal
- [MNT] Updated
default_neurobagel_query
#347 (@rmanaem) - [MNT] Removed build docker nightly workflow file #342 (@rmanaem)
📝 Documentation
- [MNT] Update default Neurobagel SPARQL query file and turn into PR checkbox #359 (@alyssadai)
🧪 Tests
- [TST] Add integration test against local test graph #357 (@rmanaem @surchs @alyssadai)
Authors: 3
- Alyssa Dai (@alyssadai)
- Arman Jahanpour (@rmanaem)
- Sebastian Urchs (@surchs)
v0.3.1
🐛 Bug Fixes
- [FIX] Ensure subjects without imaging sessions are considered in main query #333 (@alyssadai)
🏠 Internal
- [CI] Fix reference for
DOCKERHUB_REPO
in build_docker_on_release.yml #337 (@alyssadai)
Authors: 1
- Alyssa Dai (@alyssadai)
v0.3.0
💥 Breaking Changes
- [FIX] Disable redirect slashes globally and remove trailing
/
from/query
#328 (@alyssadai) - [ENH] Add authentication to
/query
route #323 (@alyssadai)
🐛 Bug Fixes
- [FIX] Exclude sessions missing a queried property from matches #326 (@alyssadai)
Authors: 1
- Alyssa Dai (@alyssadai)
v0.2.1
🐛 Bug Fixes
- [FIX] Address performance issues in SPARQL query #308 (@surchs)
- [FIX] Disable timeout for request to graph #305 (@alyssadai)
Authors: 2
- Alyssa Dai (@alyssadai)
- Sebastian Urchs (@surchs)
v0.2.0
🎉 This release contains work from a new contributor! 🎉
Thank you, Abdul Samad Siddiqui (@samadpls), for all your work!
Release Notes
[MNT] Release new data model (#300)
We have updated the Neurobagel data model to allow users to specify phenotypic information at the session level (neurobagel/planning#83). This release updates the node API so it can understand the new graph data.
💥 Breaking Changes
- [REF] Make session count names clearer in query response #282 (@alyssadai)
- [ENH] Support queries of session-level phenotypic attributes #264 (@alyssadai)
🚀 Enhancements
- [ENH] Added root endpoint with welcome message and API docs link #286 (@samadpls)
- [MNT] Release new data model #300 (@surchs)
- Delete .github/workflows/add_pr2project.yml #244 (@surchs)
📝 Documentation
- [DOC] Added warning about quoting in
.env
file for Docker commands #284 (@samadpls) - [DOC] Add sample default SPARQL query to repo #277 (@alyssadai)
🧪 Tests
- [TST] Refactor tests #269 (@alyssadai)
🔩 Dependency Updates
Authors: 4
- Abdul Samad Siddiqui (@samadpls)
- Alyssa Dai (@alyssadai)
- Arman Jahanpour (@rmanaem)
- Sebastian Urchs (@surchs)
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