-
Notifications
You must be signed in to change notification settings - Fork 3
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
/term/property_neighbors/object returns highly incomplete results? #128
Comments
Sorry for the slow response. I can see now that there are multiple problems with this service. The best way to support this would be for us to just precompute all the relation graphs: phenoscape/pipeline#125 We may be able to get rid of some of the generated concepts by having these graphs to use instead. |
TODO: temporarily retire this method, at least until the implementation is corrected. |
@hlapp in the Complete, redundant results impose lower reasoning burden on clients, but then again they may prefer to only have the most specific results. Perhaps we should add a query parameter. |
You put "redundant" in quotes, so I assume you don't mean simply duplicated result. Can you give some examples for what you mean by "redundant"? I'm not sure I'm imagining the same as you do. |
If the query is for "what is paired fin radial element a part of?", you can refine the results to varying degrees: The logically complete answer: https://api.triplydb.com/s/2mYH2o0gY
The answer with redundant superclasses filtered: https://api.triplydb.com/s/gonTsun02
The answer with transitive results additionally filtered: https://api.triplydb.com/s/jmMdoadlr
|
In your logically complete answer, So I think the second query is incomplete (it lacks answers one would expect), whereas the first one returns some results redundantly (with no benefit I can perceive). |
This was a SPARQL issue, due to multiple labels with different string datatypes. Please ignore that duplication here; unfortunately I think this glitch caused unnecessary confusion; the removal of redundancy between groups 1 and 2 wasn't for labels, but instead removing superclasses of other terms in the response. I edited that list, and provided an updated query link. |
I see. Still, what would be the rationale for excluding terms like |
http://purl.obolibrary.org/obo/CARO_0000006 and http://purl.obolibrary.org/obo/UBERON_0000475 are presumably both superclasses of one or more of the results still returned in the second set. Simpler example: if your query for "what is X part of" says that X is part_of a 'pectoral fin', do you also want 'fin' returned as a value in addition to 'pectoral fin'? These filters can be turned off and on with a query parameter if the answer isn't sufficiently universal. |
Why would I not? It's correct, right? What my question was (and which I don't think you've answered yet), what kind of reasoning or rationale would make me want to say no, I don't want that, if the reasoning is not to only obtain direct rather than also transitive links. |
In general I would want the complete results. However if you were using this service to drive a browsable interface, then you would probably want only the most direct links. |
Maybe it would be useful then to include the distance (arguably the shortest if there are multiple distances)? |
That's unfortunately much harder to accomplish with SPARQL than 'all' or 'most specific' 😟 |
I would expect the following to return all parts of "paired fin", but that either that expectations is wrong, or the results are far from complete.
The following would presumably return what "pectoral fin radial element" is a part of, but also seems highly incomplete:
Perhaps the problem is that there is no reasoning involved here in query answering?
The text was updated successfully, but these errors were encountered: