-
Notifications
You must be signed in to change notification settings - Fork 20
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
More filtering errors #1399
Comments
I've fixed this bug though just as an fyi there are a couple issues with the DSL in this.
Here is the query with the first 2 fixed:
|
Thank @finnagin ! If you couldn't tell, this was in the midst of an NCATS hackathon, so typos clearly slipped by me. Good to know about the colon (I had tried a few different ways, but now I know at least). FWIW, will |
Yes, I've tried running this locally and it filters out all edges. |
@finnagin Trying the DSL you wrote above, it appears there are still SEMMEDDB edges in there: https://arax.ncats.io/?r=8208 Can you look into this? |
Ah, I think I found the issue: the attribute doesn’t want the
It would be great if we could:
|
|
I'm seeing 6 such ids that end with
I think this is probably a bug, so we could just add an exception for these cases. |
Correct |
This is intentional, so not a bug (though if it causes problems downstream, we could talk about how to work around it, of course). A bit of background: a CURIE that is just a prefix and a colon is perfectly valid. See the example CURIE with an empty "reference" field, in the W3C Curie Syntax 1.0 document: |
Ah, thanks for the clarification @saramsey! I think we might need to make a decision, since there are some with trailing |
I'm confused. Are there Also, the CURIE spec doesn't say that a trailing colon is required for a CURIE to be valid. But a CURIE does have to contain a colon. It is the required separator between the prefix and the reference portions of the CURIE. The reference portion of the CURIE can be empty. |
Hi @finnagin and @dkoslicki, note, anywhere in ARAX's code-base, if you want to translate a
you can pull the URI out of the response, see here:
|
Yeah, the biolink model is a bit formal here and not so helpful, but my understanding was that the KPs were agreed that Also, if there is any reversal of the decision to have |
@saramsey I think the main issue is a practical one. If a user says "I want to filter out SEMMEDDB edges", it's unclear if they should do this in DSL with: I see that we have |
Perhaps we can address this issue by:
|
Hi @dkoslicki thank you for expanding on the issue. Very helpful. Looks like the apple cart may again be turned over by #1414. And on that note, @amykglen has a dictionary of provider strings that we have developed. I wonder if (assuming the change to "infores" described in the parent issue linked in #1414 gets ratified) we should (in the DSL) have the user specify the "infores" string like |
And I totally get that requiring a "magic" CURIE in the DSL is not user-friendly. I definitely agree we should address this; I think in middleware. |
Current
Results are:
|
Closing this one since attributes were changed around quite a bit |
Query:
Error:
Processing action 'filter_kg' with parameters {'': 'true', 'action': 'remove_edges_by_property', 'edge_property': 'biolink:provided_by', 'property_value': 'SEMMEDDB', 'remove_connected_nodes': 'false'} 2021-04-22T16:31:46.273095 ERROR: An uncaught error occurred: unhashable type: 'list': ['Traceback (most recent call last):\n', ' File "/mnt/data/orangeboard/production/RTX/code/UI/OpenAPI/python-flask-server/openapi_server/../../../../ARAX/ARAXQuery/ARAX_query.py", line 604, in execute_processing_plan\n filter_kg.apply(response, action[\'parameters\'])\n', ' File "/mnt/data/orangeboard/production/RTX/code/UI/OpenAPI/python-flask-server/openapi_server/../../../../ARAX/ARAXQuery/ARAX_filter_kg.py", line 426, in apply\n getattr(self, \'_\' + self.__class__.__name__ + \'__\' + parameters[\'action\'])() # thank you https://stackoverflow.com/questions/11649848/call-methods-by-string\n', ' File "/mnt/data/orangeboard/production/RTX/code/UI/OpenAPI/python-flask-server/openapi_server/../../../../ARAX/ARAXQuery/ARAX_filter_kg.py", line 524, in __remove_edges_by_property\n known_values.add(attribute.value)\n', "TypeError: unhashable type: 'list'\n"]
The text was updated successfully, but these errors were encountered: