Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement metadata end-points #130

Merged
merged 50 commits into from Oct 27, 2023

Conversation

BonfaceKilz
Copy link
Collaborator

This PR creates/reworks endpoints for fetching RDF metadata.

@BonfaceKilz BonfaceKilz force-pushed the feature/display-rdf branch 3 times, most recently from 671c7c7 to 64a3c0c Compare October 24, 2023 12:52
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (dataset): Update docstring.
* gn3/db/rdf.py (get_dataset_metadata): Simplify CONSTRUCT query.
Also, now you can fetch metadata using either an accession_id or the
dataset's name.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/db/rdf.py (sparql_query): Delete "get_url_local_name".

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Import json, SPARQLWrapper.{JSON, JSONLD}.
(dataset): Rename this to ...
(datasets): ... this.  Return a well formatted JSONLD result from a
dataset.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (search_datasets): New search endpoint with
pagination.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Delete gn3.db.rdf.get_publication_metadata.
(publication): Rename this ...
(publications): ... to this.  Return a json-ld result.
* gn3/db/rdf.py (get_publication_metadata): Delete.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (search_publications): New function.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Delete gn3.db.rdf.get_genotype_metadata.
(genotype): Rename this to ...
(genotypes): ... this.  Construct a query for fetching genotypes and
return a response as json-ld.
* gn3/db/rdf.py (get_dataset_metadata): Delete.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Delete gn3.db.rdf.get_dataset_metadata.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Delete gn3.db.rdf.get_phenotype_metadata.
(phenotype): Rename this to ...
(phenotypes): ...  this and implement update logic.
* gn3/db/rdf.py (get_phenotype_metadata): Delete.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (get_genewiki_entries): Rename this to ...
(get_gn_genewiki_entries): ... this.  Create an end-point for querying
GN GeneRIF entries.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py: Remove sparql_query import.
* gn3/db/rdf.py: Remove unused imports.
(sparql_query): Delete.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (get_ncbi_genewiki_entries): New end-point.
* gn3/api/metadata.py (list_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_group_by_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (groups): Update the json-ld's context.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (list_datasets_by_group): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_phenotype_by_group): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_group_by_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (get_gn_genewiki_entries): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (get_ncbi_genewiki_entries): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (list_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_group_by_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (groups): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_group_by_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (genotypes): Delete.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
* gn3/api/metadata.py (fetch_group_by_species): New end-point.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Ran the command:

    pipx run no_implicit_optional ./

in the root directory.
This commit addresses the mypy issue below by ignoring the construct
result.

```
error: Item "None" of "bytes | str | dict[Any, Any] | Graph | Document | None" has no attribute "serialize" [union-attr]
```
* scripts/__init__.py: New file.

Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
@BonfaceKilz BonfaceKilz changed the title Feature/display rdf Implement metadata end-points Oct 27, 2023
@BonfaceKilz BonfaceKilz merged commit 036240a into genenetwork:main Oct 27, 2023
@BonfaceKilz BonfaceKilz deleted the feature/display-rdf branch October 27, 2023 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant