Method for Criteria-based Offer Search (tool CriteriaSearch)

Searching for offers using explicit search criteria.

Institution: Softec, Ltd.
Technologies used: Java, Sesame, SeRQL, MySQL
Inputs: Domain ontology (offers with their properties), search criteria definition, user input (search criteria)
Outputs: Search results - list of rated offers
Documentation: HTML, doc, JavaDoc (tool, indexes, wrapper)
Distribution packages: zip
Video: demonstration video

Addressed Problems

Job seekers often know, at least their approximate preferences. Existing search tools implemented in job portals allow search criteria to be defined, but they aren't able to find job offers that don't match user's criteria exactly but are still a acceptable match. In such cases the user is forced to reformulate his criteria.


The method for criteria-based search allows to search ontology entities (called 'offers' here) on the basis of user's preferences.

User preferences are represented by the specification of required values of an ideal offer properties (e.g. salary or location for a job offer). There can be more values specified for a property. These values are required to be gained either as alternatives ('or') or as a whole ('and').

The main goal of the method is to determine an offer's fulfilment of the specified user's preferences. Such fulfilment is expressed as the rating of the offer.

The method searches not only for the offers exactly fulfiling the requirements - it evaluates also offers which do not match the criteria exactly. E.g. if the user seeks for a job offer with $50,000 salary in Chicago (IL), the method can evaluate an offer with salary $45,000 in Bloomington (IL) - of course the rating would be less than the rating of an offer meeting the requirements exactly.

Each search criterion can be also refined using 3 so-called modifiers:

Default values of the modifiers are read from user model stored in ontology and can be changed by the user during specifying search criteria. Each performed search changes user model using methods for semantic logging (SemanticLog) and semantic log analyzing (LogAnalyzer).

The search and rating algorithm is described in (Pázman, 2006) in detail. It is based on the distance between the required value of a property and the value of the property of the evaluating offer. The distance is then converted to the rating for the value, its criterion and whole offer:

The method is implemented as the tool CriteriaSearch. It provides means for the user allowing him to search for offers (job offers in current implementation) by specifying offer properties that suit his expectations.

The user specifies these criteria in series of forms, which is being generated dynamically according to criteria definition. Each offer's property has its own form (input page). There are two ways of values input used: either by direct input of the required value (for numerical and text criteria), or by browsing and selecting the required value in the hierarchy of possible values for the given property (for hierarchical criteria).

Found offers are rated during the search process and ordered by the rating. The result is presented to the user. The user can look over the detail information on the found offers. He can also initiate search for similar offers for a given offer.

The process is shown in the following picture:

CriteriaSearch tool

CriteriaSearch processing routine.

An alternative result presentation method is also developed - in order to present found offers to the user the tool Factic can be used.

CriteriaSearch allows to search for similar offers using the same method as the direct criteria-based search. Criteria for the similarity search are being extracted from the attributes of the chosen offer and used as a basis for the similarity search.


  1. Pázman, R.: Ontology Search with User Preferences. In: Tools for Acquisition, Organisation and Presenting of Information and Knowledge. Návrat, P., Bartoš, P., Bieliková, M., Hluchý, L., Vojtáš, P. /eds./. Proceedings in Informatics and Information Technologies, Research Project Workshop, Bystrá dolina, Nízke Tatry, Slovakia. September 29-30, 2006. pp. 139-147.