mediKanren
mediKanren copied to clipboard
Generalize queries supported in current GUI
Right now the Racket GUI supports:
Concept 1 -> Predicate 1 -> X -> Predicate 2 -> Concept 2
and
Concept 1 -> Predicate -> X
and
X -> Predicate -> Concept 2
where X
is some unspecified concept.
However, the existing interface does not support the direct connection between two specified concepts and a specified predicate:
Concept 1 -> Predicate -> Concept 2
It would also be useful to be able to specify the middle concept in the two predicate query above:
Concept 1 -> Predicate 1 -> Concept 3 -> Predicate 2 -> Concept 2
Also, it would be handy to have the ability to specify the synthetic predicate 'any predicate', and the synthetic concept 'any concept' (which would subsume the X
above).
It would be useful to be able to specify the types of an underspecified concept: gene product, disease, phenotype, etc. We could support SemMedDB semantic types, but we probably should also support synthetic concept types, since the SemMedDB types are rather messy.
We should support sorting and filtering of answers.