Workbench and SeCoQL Demonstrator

We demonstrate the Search Computing framework for multi-domain queries upon ranked data collected from Web sources. Search Computing answers to queries like “Find a good Jazz concert close to a specified location, a good restaurant and a hotel at walking distance” and fills the gap between generic and domain-specific search engines, by proposing new methods, techniques, interfaces, and tools for building search-based applications spanning multiple data services. The main enabling technology is an execution engine supporting methods for rank-join execution upon ranked data sources, abstracted and wrapped by means of a unifying service model.

The component accepts queries expressed in the SeCoQL syntax and develops an execution plan whose topology and execution parameters are set according to a set of heuristics. Heuristics can take into account feasible topologies, service connections, invocation costs and expected number of combinations.

The query is translated in a logical plan, that is a specification of a workflow with quantitative estimates of the size of partial results and then refined in a physical plan expressed in the Panta Rhei languageand directly executable by the engine.

The demo walks through the interface for formulating multi-domain queries and follows the steps of the query engine that builds the result, with the help of run-time monitors that clearly explain the system’s behavior.

  • Query design: the user specifies the query in SeCOQL and defines the optimization parameters to be applied.
  • Logical query plan: a specification of a workflow determined by the planner; it exploits the available degrees of freedom to fix the topology.
  • Physical query plan: it expresses both data and control flow in the execution of a query; the execution engine instantiates physical operators (units) of the compiled plan and the query is orchestrated accordingly.
  • Query execution: the physical plan is bound to an execution session and the user specifies the input attributes; once the session is in place, the user can issue one or more execution tasks (which could be limited in terms of number of commands, resulting combinations or execution time).

Please notice that the tool is not meant for final users but for administration and debug purposes. It is not part of the SeCo binaries package downloadable from the software page, but it can be built from the related source code.

More information can be found here and here.