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
ResultsRenderer
types -
There are currently two result renderer types, which are very basic; a
TextResultsRenderer
andXhtmlResultsRenderer
. At least one further type,RssResultsRenderer
is 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
SeRQLQueryBuilder
class, possibly a set of supporting query construct classes. -
AND
andAND NOT
queries -
The query builder should interpret the
+
and-
symbols immediately before a word to meanAND
andAND NOT
respectively.
Copyright MKDoc Ltd. and others.
The Free Documentation License http://www.gnu.org/copyleft/fdl.html