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

Should MetaEdges with Qualifiers provide the union of all possibilities or individual allowed combinations? #425

Open
edeutsch opened this issue Apr 10, 2023 · 4 comments
Assignees

Comments

@edeutsch
Copy link
Collaborator

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)

  • Our initial proposal also called for unique combinations of SPO+Qs. The team pushed back and asked that the representation be simpler and avoid giant metaknowledge graphs. I'm happy to discuss again. I'll put in a PR to fix the duplicate subject_aspect_qualifier in the example.
@edeutsch
Copy link
Collaborator Author

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

@edeutsch
Copy link
Collaborator Author

The vote was 2 in favor of individual and 5 for the union.
image

@edeutsch
Copy link
Collaborator Author

TO DO: update the TRAPI documentation to clarify that it should be the union

@edeutsch
Copy link
Collaborator Author

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

No branches or pull requests

2 participants