Operations, analysis and statistics should have a decidedly discovery based orientation to them. Built up human readable syntaxes can be more easily integrated into production processes than forcing analyst (or developers as analysts) to use multiple machine oriented interfaces and languages to interface with the Eureka Data Store.
The analyst wants to use the data store as a search engine, possibly even defaulting to that amateurish and fully default starting point. It must however have a general and powerful syntax that allows for complete specificity and above all else rapid, deeply data driven, realtime response. You should at all times be able to understand where you are and have indications at each instant to where you want to go.
Presently this will read more like a placeholder, a mission or objective statement until it is better discovered how best to design such an interface, but do click through for some preliminary details or to view work-in-progress.
- Dual space basis and original document space
- Data and statistics directly available via three views
- Dynamic definitions of context
- The utility of space, dynamic context
- The query language – I really don’t know what this would look like but it would have to have the following syntax features. I expect to write parsers in boost::spirit however I would like to start with hibernate (if that sounds reasonable) for my object model, relationship, evaluation optimization.
- robust and flexible
- conducive to the notion of spaces and multiple basis
- very legible in text, and quick to key in (both hands on keyboard), and work well with selection option and interactive feedback
- elegant and adaptive in format, concepts can be fixed but adapting them to the domain must be flexible (for instance delimiters operators, keywords and need to be contextually relevant, as in a brace in one context is literal data but in another it could mean a continuum of values and another an ordinal.
- Machine Learning Interface – its possible that this is integral to the query language or it could be its own interface.
- Query optimization
- statistics based optimization
- dynamic or discovery based optimization
- caching of optimization and sub-results
- natural language