-
Notifications
You must be signed in to change notification settings - Fork 0
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
feat: support terminology codes #106
Conversation
# terminology code matching server | ||
location /fuzon { | ||
rewrite ^/fuzon/(.*) /$1 break ; | ||
proxy_pass ${FUZON_LOCAL_URL} ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question(clarification): the config template provides both a public & local setup. How is this config used exactly to make sure that we're dealing with either public or local setup? The main reason I'm asking is if it makes more sense to separate the two into different files or make it clearer what needs to be modified in which case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the "public" urls are the service addresses outside the compose network, whereas the "local" urls are their addresses within the compose network.
Generally, there are two options:
- a service is deployed as part of the compose (default),
- public url:
http://<server-name>/<service-name>
- local url:
http://<service-name>:<service-port>
- public url:
- a service is deployed externally (e.g. an aws s3 bucket):
- public url:
http://<external-service>:<service-port>
- local url:
http://<external-service>:<service-port>
- public url:
I'll try to make that clearer in the docs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code reviewMostly suggestions, recommendations and clarifications. Line 42 in 8d9deb2
|
Co-authored-by: supermaxiste <[email protected]>
Deployment reviewpraise: with issue(minor, non-blocking): the recommendations can sometimes point to blank nodes. When blank nodes are selected, question(minor, non-blocking): when working with $ cli:~/modo-api$ modos --help
Usage: modos [OPTIONS] COMMAND [ARGS]...
Multi-Omics Digital Objects command line interface.
Options:
--endpoint TEXT URL of modos server. [env var: MODOS_ENDPOINT]
--version Print version of modos client
--help Show this message and exit.
Commands:
add Add elements to a modo.
create Create a modo interactively or from a file.
publish Export a modo as linked data.
remove Removes an element and its files from the modo.
show Show the contents of a modo.
stream Stream genomic file from a remote modo into stdout.
update Update a modo based on a yaml file. I will pre-approve the PR since all the points I raised might be a separate PR. |
blank nodes: good catch! Addressed upstream, as it makes no sense for fuzon to even keep these in memory (they have an undetermined URI) sdsc-ordes/fuzon#31 |
list objects: added a |
I've also added a |
Summary
This adds support for terminology codes instead of free text for specific metadata fields, along with autocomplete suggestion in the terminal.
Currently, the following properties/terminologies are used:
Major changes
Trying it out
To test local autocomplete in terminal:
To rely on the server for autocomplete:
Notes
Codes are recommended based similarity between user input and labels, but only the URIs are persisted in metadata.
Follow up (separate issues):
Open questions
When creating a modos from input yaml (instead of interactively) (see
data/ex_config.yaml
), URIs are now required for the 3 properties above.It may be painful for users to find out what URIs to input in the yaml. Should we provide some kind of subcommand just to get the codes (basically a fuzon wrapper)?
Perhaps something along the lines of this