In fact, in the (a) menu all the entry points are
listed, the (b) panel allows to search for ontology
concepts according to their meaning, whereas the
(d) part enables the user to explore both taxonomy
and properties of a selected concept. The related
panel is dynamically filled. The (e) panel in Figure 3
enumerates all the composing features. For each of
them, the I.M.P.A.K.T. GUI allows: (1) to define the
“kind” of feature (strict or negotiable); (2) to delete
the whole feature; (3) to complete the description
showing all the elements (concepts, object properties
and data properties) that could be added to the
selected feature; (4) to edit each feature piece as well
as existing data properties. Finally, the (c) panel
enables searches as for example “I’m searching a
candidate like John Doe”. In this case, the job-seeker
fills the name field of the known candidate whose
profile is considered as starting request (features are
set as negotiable constraints by default). The user
can view the query –automatically generated– and
furthermore s/he can edit it before starting a new
search. In Figure 4 the results GUI is shown. Part
(a) presents the ranked list of candidates returned by
I.M.P.A.K.T. with the related score. For each of them,
the recruiter can ask for: (1) viewing the CV; (2)
analyzing the employment and personal information
and (3) executing the match explanation procedure.
Match explanation outcomes are presented in the (c)
panel, whereas in the (b) panel an overview of the
request is shown (differentiating strict constraints
from preferences). Observe that the system assigns
a numeric identifier –namely IDfeature– to each
query feature. It will be used in the explanation phase
to create an unambiguous relationship among the
features in the panel (b) and the ones in the panel (c).
Let us exploit the second ranked result to explain the
system behavior. It corresponds to “Mario Rossi” –as
shown in Figure 4– which totals 77% w.r.t. the above
formulated request. Why not a 100% score? Notice
that, at the present time, “Mario” has the following
programming competences:
1) ∃hasKnowledge.(Java⊓ =
5
years⊓ =
2008−07−21
lastdate);
2) ∃hasKnowledge.(VisualBasic⊓ =
5
years⊓ =
2008−07−21
lastdate);
3) ∃hasKnowledge.(C + +⊓ =
4
years⊓ =
2008−07−21
lastdate).
Hence, if one considers the requested feature
∃hasKnowledge.(Java⊓ ≥
6
years)(IDf eatures = 9), the
I.M.P.A.K.T. explanation returns the following:
a) ∃hasKnowledge.(Java⊓ =
5
years⊓ =
2008−07−21
lastdate)
b) ∃hasKnowledge.(OOprogramming⊓ =
5
years⊓ =
2008−07−21
lastdate)
as fulfilled features (they correspond to desired
candidate characteristics), but they are also inter-
preted as conflicting ones because the experience
years not fully satisfy the request. In particular,
the ∃hasKnowledge.(OOprogramming⊓ =
2008−07−21
lastdate⊓ =
5
years) is considered as a fulfilled feature
thanks to the “Mario’s” competence about VB.
Finally, besides the conflicting features, “Mario
Rossi” also has some underspecified ones and then,
he cannot fully satisfy the recruiter’s request. S/he
can enrich her/his original query selecting some
additional features among them displayed in the
related panel. The checked ones are automatically
added to the original query panel (part(e) in Figure 3)
and they can be further manipulated.
5 CONCLUSIONS
We presented I.M.P.A.K.T., a novel logic-based tool
for efficiently managing technical competences and
experiences of candidates in the e-recruitment field.
The system allows to describe features of a required
job position as mandatory requirements and prefer-
ences. Exploiting only SQL queries, the system re-
turns ranked profiles of candidates along with an ex-
planation of the provided score. Preliminary per-
formance evaluation conducted on several datasets
shows a satisfiable behavior. Future work aims at en-
abling the user to optimize the selection of requested
preferences by weighting the relevance of each of
them and at testing other strategies for score calcula-
tion in the match process. We are grateful to Umberto
Straccia for discussions and suggestions and Angelo
Giove for useful implementations.
REFERENCES
Bechhofer, S., Horrocks, I., and Turi, D. (2005). The OWL
Instance Store: System Description. In proc. of CADE
’05, pages 177–181.
Chomicki, J. (2002). Querying with Intrinsic Preferences.
In proc. of EDBT 2002, pages 34–51.
Colucci, S., Di Noia, T., Di Sciascio, E., Donini, F. M.,
and Mongiello, M. (2005). Concept abduction and
contraction for semantic-based discovery of matches
and negotiation spaces in an e-marketplace. Electronic
Commerce Research and Applications, 4(4):345–361.
Di Noia, T., Di Sciascio, E., Donini, F. M., and Mongiello,
M. (2004). A System for Principled Matchmaking in
an Electronic Marketplace. International Journal of
Electronic Commerce, 8(4):9–37.
Kießling, W. (2002). Foundations of preferences in
database systems. In proc. of VLDB’02, pages 311–
322.
P. Bosc and O. Pivert (1995). SQLf: a relational database
language for fuzzy querying. IEEE Transactions on
Fuzzy Systems, 3(1):1–17.
I.M.P.A.K.T.: An Innovative Semantic-based Skill Management System Exploiting Standard SQL
229