Bridging Database Applications and Declarative Similarity Matching

Leonardo Andrade Ribeiro, Natália Cristina Schneider, Andrei de Souza Inácio, Harley Michel Wagner, Aldo von Wangenheim


Effective manipulation of string data is of fundamental importance to modern database applications. Very often, textual inconsistencies render equality comparisons meaningless and strings have to be matched in terms of their similarity. Previous work has proposed techniques to express similarity operations using declarative SQL statements. However, the non-trivial issue of embedding similarity support into object-oriented applications has received little attention. Particularly, declarative similarity matching requires maintenance of a number of auxiliary tables for each combination of similarity function and string attribute in query predicates. As a result, persistence of application objects is severely complicated, thereby leading to excessively intricate and hardly reusable application code. In this article, we present SimDataMapper, an architectural pattern to provide easy, efficient, and flexible integration of declarative similarity matching with applications and programming environments. We describe implementation details and experimentally evaluate the performance of our approach.


advanced query processing; architectural patterns; object persistence; similarity matching; string databases

Full Text:


An official publication of the Brazilian Computer Society Special Interest Group on Databases.