Faceted search is a user interface metaphor that is best suitable for explorative scenarios: A user starts by roughly selecting a type of objects and the user interface presents characteristics (or “facets”) of the available instances, allowing the user to drill down into specific property values. A faceted search engine displays the available values and the number of matching instances at each step, making it easy to explore the space of available instances without knowing the search keywords in advance.
An experimental “unpolished” faceted search component had been part of TopBraid for a while, but it had scalability issues and did not integrate well with the rest of the platform. For TopBraid 4.3, we have made a complete redesign to address those issues. A screenshot of the new faceted search capabilities is shown below (click on the image for a larger view):
In addition to the facets and count display, more specific results can be obtained through a free-text search box in the upper left corner:
The faceted search components can seamlessly operate in two different modes. By default, it will use a native SPARQL-based engine that will work directly on the RDF store. This is fine for small to medium-sized data sets, but may become slow when too many counts need to be computed. The alternative mode is using Apache Solr, a Lucene-based search index that is optimized for faceted search scenarios. To make use of this, you only need to configure your TopBraid EVN project to synchronize with a Solr server. TopBraid will automatically update the Solr index after each edit (to the master graph) and then automatically use Solr to do the heavy lifting of computing the facet counts. The structure of the ontology is still used to discover which properties are present, and for the detailed displays if someone clicks on an instance. This hybrid approach combines the power of ontologies with an the optimized native data structure provided by Solr.
The flexibility of the RDF data model is well suited to serve as foundation for faceted search scenarios. The TopBraid platform provides a highly optimized yet flexible platform for delivering faceted search to your end users. No programming is needed to get started – this is model-driven throughout.