Bridging Database Applications and Declarative Similarity Matching - Andrade Ribeiro, Leonardo; Schneider, Natália Cristina; de Souza Inácio, Andrei; Wagner, Harley Michel; von Wangenheim, Aldo (Journal of Information and Data Management, 2017)
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.