Open edeutsch opened 1 year ago
There is now a Slack poll to capture your opinion on which of two options is better. Please read and respond to the poll in Slack in the translatorarchitecture poll
The vote was 2 in favor of individual and 5 for the union.
TO DO: update the TRAPI documentation to clarify that it should be the union
Sierra will add some policy document to: https://github.com/NCATSTranslator/ReasonerAPI/blob/1.4/ImplementationGuidance/Miscellaneous/examples_and_rules.md
From Slack:
Colleen Xu (Exploring Agent) 5 days ago Topic 2: MetaEdges and the ambiguity introduced by MetaQualifiers format Related to this PR and some thoughts on our /meta_knowledge_graph response-generation. FYI, our team has been thinking of qualifiers as specific sets of qualifier-type/value pairs in the edge data. Q1: What does it mean for a MetaEdge to be considered "unique"? And in the edges section, does each MetaEdge have to be unique? we dunno if only the S-P-O content is considered vs other info like specific qualifier-sets, different edge-attribute info, different association values (new property specified in the PR as well). etc.... It looks like specific qualifier-sets isn't considered...and that qualifier set info is merged/flattened instead....which leads to Q2 Q2: We have feedback, which is that the MetaQualifiers spec introduces ambiguities for us because it doesn't specify the exact qualifier-sets in the edge data. If we (as an ARA) get the MetaEdge in the attached file from a TRAPI KP... We cannot tell if this resource has edges with a particular set of qualifier-type/value pairs (2, 3 or 4 qualifier-types). For example, it's kinda looks like the qualifier-set "causes decreased activity through inhibition" could exist in the edge data and that it's reasonable for us to query with these qualifier-constraints... However, this resource actually doesn't have any data with that qualifier-set (we know because it's one of Service Provider's) what does exist is "causes decreased activity_or_abundance through inhibition". The reason why applicable_values includes activity is that other qualifier-sets in the data use it Q3: we're confused by the example JSON because subject_aspect_qualifier is listed twice in the same MetaQualifier... MetaQualifiers.json
{ "nodes": {...}, "edges": [ { "subject": "biolink:SmallMolecule", "predicate": "biolink:affects", "object": "biolink:Gene", "knowledge_types": [ "lookup" ], "qualifiers": [ { "qualifier_type_id": "biolink:qualified_predicate", "applicable_values": [ "biolink:causes" ] }, { "qualifier_type_id": "biolink:object_aspect_qualifier", "applicable_values": [ "activity", "activity_or_abundance" ] }, { "qualifier_type_id": "biolink:object_direction_qualifier", "applicable_values": [ "increased", "decreased" ] }, { "qualifier_type_id": "biolink:causal_mechanism_qualifier", "applicable_values": [ "activation", "agonism", "antagonism", "molecular_channel_blockage", "inhibition", "inverse_agonism" ] } ] } ] } Collapse
Jackson Callaghan (Exploring Agent, Service Provider) 1 hour ago Hi @Eric Deutsch (Expander Agent) , sorry for the ping, was just wondering if you'd be able to briefly comment on this (please let me know if anyone else should be addressed/if this should go into a PR discussion)? To summarize: MetaEdges containing all possible qualifiers for a given S-P-O combination leads to ambiguity where certain subsets of the qualifiers listed are simply not present in the actual KG This is caused by two or more separate supported qualifier sets overlapping in a given MetaEdge Our understanding is that making MetaEdges unique by S-P-O and qualifier set would resolve this Our questions: Is this ambiguity intended/acceptable, or does the spec need to be fixed? Is our solution to this ambiguity an acceptable implementation of the spec?
Eric Deutsch (Expander Agent) 38 minutes ago Hi @Jackson Callaghan (Exploring Agent, Service Provider)
@Colleen Xu (Exploring Agent) I am uncertain what the best course of action is here. I suppose we should get it on the agenda for the next call. I think the example was developed by @Sierra Moxon (SRI) and @Matt Brush (SRI) and perhaps they can provide their thoughts to the above. It certainly seems that the behavior is unspecified on whether KPs should provide the union of all possible combinations in a single metaedge vs providing all possible combinations separately. The examples seem to show the former. Suggestions from @Sierra Moxon (SRI) and @Matt Brush (SRI) ? New
Sierra Moxon (SRI) 9 minutes ago @Jackson Callaghan (Exploring Agent, Service Provider)
@Colleen Xu (Exploring Agent)