XML Grammar Matching and Comparison: Technical Report

XML grammar matching has found considerable interest recently, due to the growing number of heterogeneous XML documents on the web, and the increasing need to integrate, and consequently search and retrieve XML data originated from different data sources. In this study, we provide an approach for automatic DTD matching and comparison a DTD being the simplest form of XML grammars aiming to minimize the amount of user effort required to perform the match task. Our method consists of two main contributions. First, we introduce a tree model that considers the hierarchical aspect, semantic richness and various constraints of DTD elements, thus handling the expressive power of DTD grammars. We then propose an open DTD matching framework based on the concept of tree edit distance, integrating different matching criterions so as to capture DTD element semantic and syntactic similarities, cardinality and alternativeness constraints, as well as data-type correspondences and relative ordering. User constraints and user feedback are equally considered in order to adjust matching results to the user’s individual perception of correct matches. A prototype has been developed to test and evaluate our method. Experiments, on real and synthetic DTDs, demonstrate the efficiency of our matching strategy in identifying mappings, while timing results underline the impact of semantic similarity evaluation on overall system performance. Hereunder, we develop the various matchers exploited in our study and present detailed experimental matching results (summarized in the main paper). I. DTD Elements Matchers In our system, we make use of dedicated matchers to evaluate the similarities between DTD node labels, constraints, data-types, and ordering scores, their results being integrated in the tree edit distance framework to produce DTD element mappings. In fact, we designed our DTD comparison approach in such a way to combine features of both hybrid and composite schema matching methods. It is hybrid in that various match criteria are incorporated within a global algorithm (tree edit distance). Nonetheless, these criterions are not fixed nor utilized in a particular manner. They are evaluated via independent matchers, their results being integrated in the matching framework. Thus, similarly to composite approaches, the use of independent matchers provides flexibility in performing the match operation since it is possible to select or disregard different matchers (i.e., different match criterions) following the task at hand. Table 5 presents the matchers we have included in our DTD matching approach so far, along with the different kinds of auxiliary information they exploit. Tab. 1. DTD element matchers. Matcher Type Target Auxiliary Information Composite Element labels Knowledge base and related corpus based statistics Syntactic Composite Element labels --StringED Simple Element labels --N-Gram Simple Element labels --Semantic Simple Element labels Knowledge base and related corpus statistics Lin Simple Element labels Knowledge base and related corpus statistics Label WuPalmer Simple Element labels Knowledge base Cardinality Constraint Simple Element cardinality constraints Cardinality constraint compatibility table Data-Type Simple Element data-Types Data-type compatibility table OrdScore Simple Element ordering score --Alternativeness Constraint ED AC Hybrid Element alternativeness constraint vectors Cardinality constraint compatibility table Note that matcher results can be combined in several different ways, using for instance the maximum, minimum, average or weighted sum functions [Do H.H. and Rahm E. , 2002]. In our approach, we make use of the weighted sum function since it enables the user to choose the weight of each simple matcher in accordance with her notion of label similarity (similarly to computing the similarity between two DTD nodes). Thus, for a given composite matcher CM and its component ones Mi=1.n, similarity is evaluated as follow. SimCM = i=1.n i i M w Sim × ∑ ∈[0, 1] (1) where i=1.n i = 1 w ∑ , (wi=1.n) ≥ 0 and (SimM i=1.n) ∈[0, 1]