== Ideas for query interface == == Faceted Browsing == === Goals === We have a column with all the obects and apply a filter to get another column. Filters could be * contains text (in any attribute) * contains text in a specific attribute * has certain object type * is directly related (to the (selected) objects) * not selecting anything and creating another column gives everything 2nd degree related * is indirectly related (by a path) The column is divided by object type. * clicking on an object type selects the type as a filter Unfolding the object type shows the selected instances. * clicking on the instance selects the instance (show the direct relations in the next column?) It should be possible to select attributes to display in the column. (Default own-value?) Some objects would have more complex display rules, e.g. Witness showing author and title (from text). === Prototype === These goals are being partially achieved using a Python webapp based on the [https://bitbucket.org/mchaput/whoosh/wiki/Home whoosh] search library and [http://www.tornadoweb.org/en/stable/ Tornado] web framework. The prototype in development is hosted on !GitHub: https://github.com/jamieklassen/ismi-search ==== Current Features Implemented ==== * Filters -- all can be matched exactly or approximately: * contains text (in any attribute) * contains text in a specific attribute * contains text in any attribute approximately matching a query string * Results are sorted by object type * Unfolding the object type shows the selected instances * It is possible to select which attributes to display for each group of instances Outstanding issues are tracked [https://github.com/jamieklassen/ismi-search/issues here].