-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Extend semantic search widget to support more than just ECSO MeasurementTypes #1654
Comments
I think the next iteration of this could and should work pretty similarly to the current implementation (above). Without changing too much, we could extend the current widget to:
This might look something like: This could be done with by re-using the Bootstrap nav pills component: |
I've got a fully working version of the above prototype done, And now I want to turn to how this would integrate with the variant of this filter we use in the Portals collection search builder: We currently have three variants of this filter and this would be a fourth. Ideally, we only have one variant, though I'm not sure that's feasible. If anyone has any good ideas I'm all ears. |
Ref #1654 I chose to duplicate the view for now until I figure out how to merge the numerous variants of our annotation search views together.
I spent some time tinkering and I think I have something that will cover all cases (turning four into one). The basic idea is that we'd extend the SearchableSelect to support a dropdown where the user can pick which ontology they're working against. We could use this on the main search (DataCatalogView) and in the Portals editor equally well. Since it's a change to the SearchableSelect I'm going to coordinate with @laurenwalker and @robyngit for thoughts. Full link: https://www.figma.com/file/JtkdJiI8Y454uWpYsUwuvF/Multi-Ontology-Search-Mockups?node-id=0%3A1. |
That's a great idea, @robyngit. Thanks. |
Great work and interesting designs. I suggest we should discuss this semantic search UI on our Thursday semantics call, particularly with expect to what expectations we are making for search users and their knowledge of ontologies. |
Here is a little audit of where we are currently with this issue:
Here are some options for completing this issue: The ideal wayTake the opportunity to combine all of the Annotation views into one. This would take the most time. The fastest wayUse Bryce's WIP view. This needs more testing and a way to configure the ontologies for the repository. The downside is that you would not be able to configure multiple ontologies in all places, e.g. not in the QueryBuilder. The fastest way without creating a brand new viewAdd the ability to select multiple ontologies to the current AnnotationFilterView. This involves basically moving all of the logic Bryce wrote in the |
Really of interest! Thank you for this work! Not sure I fully understand operationalization scenarios, but just my 2 cents: It appears to me of interest to index all "terminological resources terms" on metacat/metacatui so we can use a searchable form comparable to the one we can use for "attributs" with autocompletion. So having a way to select search terms using the "tree representation of terms" as proposed by @amoeba Oct 12, 2021 + "just" typing the term and having autocompletion would be very nice IMO. |
I'm working on this feature by first combining the two Annotation views into one. Here is a summary of those two views: AnnotationFilterView
SemanticFilterView
classDiagram
class AnnotationFilterView{
<< ⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️ >>
}
class SemanticFilterView{
<< ⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️ >>
}
class DataCatalogView
class QueryRuleView
class FilterGroupView
class FilterView
class SearchableSelectView
DataCatalogView --> AnnotationFilterView : embeds
QueryRuleView --> AnnotationFilterView : embeds
FilterGroupView --> SemanticFilterView : embeds
AnnotationFilterView --> SearchableSelectView : embeds
SemanticFilterView ..|> FilterView : extends
SemanticFilterView --> AnnotationFilterView : embeds
|
- Create the SearchSelect header, option, and options (menu) - Load these views from the SearchSelect view - Fixes small bugs with how the SearchSelect works, allows modifying the menu more efficiently - Deprecate the HTML template we used for SearchSelectView and render components in JS instead Issue #1654
- Use in the Biontology and Biontology-Accordion-SearchSelect mdoels - Add methods for formatting class attributes for use in UI elements Issue #1654
For searching for ontology classes in batches via the bioportal API Issue #1654
- Includes formatting & linting fixes - Standardize the behaviour of fetching remote info for preselected values in SsearchSelect view - Use the SearchSelectOptions view in the SearchSelect view - Remove unused view property from BioOntologyBrowserView Issue #1654
Instead of Annotation Filter View Issue #1654
- Add reset method to SearchSelectView - Allow setting the desired ontologies to search within from init of Bioont. Select View. - Remove unused imports from FilterGroupView Issue #1654
Add icon to bioontology button Issue #1654
- This adds a caching mechanism for the results from BioPortal - Also add Util methods required by BioontologyResults Issue #1654
- Instead of a generic Backbone collection - Add method for fetching ontology details Issue #1654
- Use the BioontologyResults collection in the BioontologyBatch model so we can cache results from BioPortal - Add the `bioportalOntologies` config option in the AppModel, set to some ontologies that are used currently. Issue #1654
- Make icon option for category headers in search select - Reduce size of headers in compact mode in search select Issue #1654
Slows down everything if called too often Issue #1654
SemanticUI's modal module conflicts with the Bootstrap modal that we use Use the Boostrap modal in BioontologySelectView instead Issue #1654
Prevent button from spilling onto new row Issue #1654
The Annotation filter in the search catalog is currently hard-coded to search for classes in the MeasurementType sub-tree of ECSO. It can quickly be reconfigured to search in another ontology or ontology sub-tree. This has worked well because as it's let us bootstrap some form of semantic search that is immediately useful to users by constraining scope to a single portion of a single ontology.
However, we're starting to bring in annotations from other ontologies and it's too hard to search for datasets with those annotations using the current interface. We should consider if we can extend this to support more than just a sub-tree of a single ontology. Some ideas of mine include:
ECSO#MeasurementType
tree isn't that useful until you have annotations all over the tree. It's pretty frustrating to click on a term and get zero results. As an aside: If we could show the number of results you'd get if you searched for a term next to a term in the tree browser that'd be coolThe text was updated successfully, but these errors were encountered: