Query
Component description
The MKSearch query component is responsible for handling HTTP-based search queries by general users. It's implementation is currently in the form of a single HttpQuery servlet class that formulates queries via an SeRQLQueryBuilder, passes these to a file-based Sesame RDF repository and displays the results with a custom ResultsRenderer type.
-
More
ResultsRenderertypes -
There are currently two result renderer types, which are very basic; a
TextResultsRendererandXhtmlResultsRenderer. At least one further type,RssResultsRendereris required to generate an RSS feed for a standing query. One issue for the RSS feed is the need to include the query URI itself in the output, which will require a more sophisticated renderer interface. - Results paging
- The results renderer interface currently has no method for paging the results of a query nor controlling the number of results per page.
- Results cacheing
- Standing RSS feeds and results paging will also require a result cache to optimise performance on the server side. However, the cache mechanism also needs to be integrated with the repository management interface, so that stale results are purged.
- More complex query construction
-
The current query builder only constructs queries that join a series of RDF triples, not extended queries that specify the RDF type of the object. Such an extension will require changes to the structure of the
SeRQLQueryBuilderclass, possibly a set of supporting query construct classes. -
ANDandAND NOTqueries -
The query builder should interpret the
+and-symbols immediately before a word to meanANDandAND NOTrespectively. - Query test documents
-
The query features need simple test case documents to verify query interpretation and retreival.
Task progress:
- Prepared a set of "cat and dog" test documents and verified query processing.
Copyright MKDoc Ltd. and others.
The Free Documentation License http://www.gnu.org/copyleft/fdl.html