-
Notifications
You must be signed in to change notification settings - Fork 11
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
clear language / documentation of vocab + data structures #379
Comments
Discussion regarding vocabulary in query_results.js for the query graph handler: |
This will be discussed further as we discuss "how to write tests for the results-assembly process" and we want to discuss case...https://betterprogramming.pub/string-case-styles-camel-pascal-snake-and-kebab-case-981407998841 |
Just adding a few notes here:
|
I also just want to define the scope for which we're going to try and do this -- along the lines of in-code language, I assume the main areas of focus will be the It might be best to go file by file and identify specific variable names/concept names that we want to discuss, and build our final list through some basic discussion over these? |
Regarding
https://google.github.io/styleguide/jsguide.html#naming-rules-common-to-all-identifiers Regarding variable names for maps/objects, I've seen conventions like
I don't have any strong preferences here, as long as it's all consistent and understandable. |
note on CURIE (vs ID) and prefix stuffs: https://cthoyt.com/2021/09/14/curies.html. We use prefixes from biolink-model (either what biolink model has at the top or what they list under semantic types for nodes) |
Going to begin posting items for discussion here as I move through the process of renaming. First up: As far as I can tell, |
@tokebe it might help to link to code lines where the terms are used, so we can see context. Brainstorming on what I think this first concept is...
|
@colleenXu The majority of uses of In my exploratory refactoring I'm also using As far as I can tell, we don't really need differentiation of x-bte annotation vs TRAPI outside of what currently exists, as once the metaKG is retrieved for execution in |
I'll leave it to your discretion then! I'm not clear on the "queryExecutionEdge / pairing with metaEdge". Like what's the diff between queryExecutionEdge and qEdge (from the QGraph / query request body)? And does the metaEdge change once it's paired, enough that we want to use a diff name? I imagine that these are concepts/constructs in the code that I'm not fully clear on... |
A |
Another question for vocabulary:
However, the name sort of conflicts with the Perhaps they could be named |
@ariutta regarding |
Additionally, would it be acceptable to use |
@colleenXu Another question: Since results and the kg in a response from BTE are supposed to be somewhat separate, what do we want to use for internal language for response kg nodes/edges? Simply |
Regarding uniqueNodeID vs nodeID, I'm fine either way. Technically, an ID should be unique, so it sounded a bit redundant, but, as you point out, just nodeID alone could be confusing. |
Maybe this is useful context? ⬇️ @tokebe @marcodarko @ariutta I think Kevin originally designed the internal representation of BTE's info (after transforming raw sub-query responses) as independent of the TRAPI standard. I remember that there was an internal "table" of info (pandas dataframe) or "graph" representation (networkx graph) in the original Python-based tool. There was then a step to build a TRAPI response with its KG/results format for export. If this design carried on to the current tool, that may help explain some of the internal code... |
For 2. In that case, perhaps we should try to keep it somewhat in-line with TRAPI and say that kgNodes/kgEdges, unless otherwise stated, are TRAPI response nodes/edges? |
The above mentioned PRs contain all the changes I've currently made. We'll likely also need a pass on |
@colleenXu One final question regarding this pass, some TRAPI logs reference SmartAPI edges when they are really talking about
|
@tokebe sorry for the late reply. |
Just for ease-of-access here is the finalized list of vocabulary replacements in the first pass: View Table
|
Closing as this issue has been well-addressed and should be considered as a coding style directive moving forward. |
I think there's a bit of confusion (maybe this is just on my part?) on vocab that makes it difficult to discuss what data structures BTE modules are actually handling.
There's:
Other things that are probably confusing to newcomers but are "normal" now:
The text was updated successfully, but these errors were encountered: