Extension:Semantic Drilldown/Possible additions

Here are some possible changes and additions to the Semantic Drilldown extension's functionality, separated into three types. Please feel free to share your thoughts on these ideas in the talk page.

1.1. Limit number of values displayed per filter
This is mostly inspired by the interface on Yelp - see this page for Chicago restaurants. For filtering by neighborhood, only the most popular 14 values are shown, and clicking on the "More Neighborhoods" brings up a popup window with a complete, clickable list. You can see an attempt at this kind of interface currently on Discourse DB, although this is just a demo - the "View all" link doesn't work.

1.2. Show filter values in vertical, not horizontal, list
This idea similarly comes from Yelp, and is similarly currently demonstrated on Discourse DB. It allows for less values to be displayed at one time, but it may be more readable than a standard list.

2. Free-form inputs
There could be various opportunities for users to enter values directly within the drilldown, instead of just clicking on existing values.

2.1. Date range input
A filter for a date property could be specified to use two date inputs, to let the user set a date range for the values. The filter definition might include a call like " Uses date range::Yes ".

2.2. Text input for filter values
A filter for a string or page property could consist simply of a text input, and would find all the pages whose value for that property contains that string. The filter definition might include a call like " Uses text input::Yes ".

2.3. Text input for filter values, with autocompletion
This would be similar to the above, but with autocompletion for the text input, most likely on the set of existing values for this property.

2.4. Text input for page contents
This would be a new kind of filter, that wasn't based on a specific property but rather searched for a piece of text across the entire contents of every page that matched the other filters. The list of values displayed would most likely include not just the page name, but also the "search context" showing the search query within the contents of each page.

3.1. Remove multiple values per filter
Users could get limited to selecting only one value per filter, which might make the interface easier to understand.

3.2. Selecting values from a list box
The values for a filter could be displayed in a list box, letting the user choose multiple values at the same time.

3.3. Replace "OR" with "AND" for multiple values
Selecting additional values for a filter could find all pages that match both values, instead of one or the other. Additionally, such a change could be done on a per-wiki basis, using a server-side flag.

4.1 Allow a map display for results
Using either Semantic Google Maps or Semantic Layers, drilldown results could be displayed on a map for a specific category, instead of or in addition to being shown on a list. This would require specifying the semantic property for this category of type "Geographic coordinates" that should be mapped.

4.2 Customize result display
Perhaps using templates, drilldown results could be customized to show any set of properties for each page, instead of just showing the page title.