<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Implementing Matching in ALN</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Sebastian</forename><surname>Brandt</surname></persName>
							<email>brandt@tcs.inf.tu-dresden.de</email>
							<affiliation key="aff0">
								<orgName type="department">Theoretical Computer Science</orgName>
								<orgName type="institution">TU Dresden</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hongkai</forename><surname>Liu</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Theoretical Computer Science</orgName>
								<orgName type="institution">TU Dresden</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Implementing Matching in ALN</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">AFB067B3084E13480A176C7DB546B14B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T17:11+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Although matching in Description Logics (DLs) is theoretically wellinvestigated, an implementation of a matching algorithm exists only for the DL ALE. The present paper presents an implementation of an existing polynomial time matching algorithm for the DL ALN . Benchmarks using randomly generated matching problems indicate a relatively good performance even on large matching problems. Nevertheless, striking differences are revealed by direct comparison of the ALN -and the ALE-algorithm w.r.t. FL ¬ -matching problems.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Motivation</head><p>Matching in Description Logics (DLs) has been first introduced by <ref type="bibr">Borgida and</ref> McGuinness in the context of the Classic system <ref type="bibr" target="#b4">[5]</ref> as a means to filter out irrelevant aspects of large concept descriptions. A matching problem (modulo equivalence) consists of a concept description C and a concept pattern D, i.e., a concept description with variables. Matching D against C means finding a substitution of the variables in D by concept descriptions such that C is equivalent to the instantiated concept pattern D.</p><p>To some extent, matching can help to find redundancies in or to integrate Knowledge Bases (KBs) <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b5">6]</ref>. Matching can also be employed for queries over KBs: a domain expert unable to specify uniquely the concept he is looking for in a KB can use a concept pattern to retrieve all those concepts for which a matcher exists. The structural constraints expressible by patterns exceed the capabilities of simple "wildcards" familiar from ordinary searches <ref type="bibr" target="#b6">[7]</ref>.</p><p>Matching algorithms are well-investigated for the DLs ALN , ALE, and respective sublanguages <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b0">1]</ref>. Only the ALE-matching algorithm, however, has Table <ref type="table">1</ref>: Syntax and semantics of concept descriptions.</p><p>been implemented <ref type="bibr" target="#b7">[8]</ref>. In the present paper, we present an implementation of the ALN -matching algorithm defined in <ref type="bibr" target="#b1">[2]</ref>. While matching in ALE is NPhard, matching in ALN is polynomial. This relation gives rise to the question whether the implementations of both matching algorithms reflect the difference in computational complexity of the theoretical problems.</p><p>In order to answer this question, we have conducted benchmarks on randomly generated matching problems. In addition to testing the ALN -matching algorithm individually, we have directly compared the performance of both matching algorithms, i.e., the existing one for ALE and the new one for ALN . To this end, randomly generated FL ¬ -matching problems have been used, FL ¬ being the largest intersection between ALE and ALN .</p><p>The present paper is structured as follows. Basic notions related to the DLs under consideration are defined in Section 2. The existing ALN -matching algorithm is discussed in Section 3. The actual implementation is presented in Section 4. The results of our benchmarks can be found in Sections 4.1 and 4.2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Preliminaries</head><p>Concept descriptions are inductively defined with the help of a set of concept constructors, starting with a set N con of concept names and a set N role of role names. In this paper, we consider concept descriptions built from the constructors shown in Table <ref type="table">1</ref>. The DL FL ¬ provides the constructors top-concept ( ), bottom-concept (⊥), primitive negation (¬P ), conjunction (C D), and value restriction (∀r.C). ALE extends FL ¬ by existential restrictions (∃r.C) while ALN extends FL ¬ by number restrictions ((≤ n r) and (≥ n r)).</p><p>In order to define matching problems we also need to introduce concept patterns. These are defined w.r.t. a finite set N var of concept variables distinct from N con and N role . Concept patterns are an extension of concept descriptions in the sense that they allow for primitive concepts A ∈ N con and concept variables X ∈ N var as atomic constructors. The only restriction is that concept variables may not be negated.</p><p>A concept description C 1 is subsumed by a description</p><formula xml:id="formula_0">C 2 (C 1 C 2 ) iff C I 1 ⊆ C I<label>2</label></formula><p>holds for all interpretations I. The concept descriptions C 1 and C 2 are equivalent (C 1 ≡ C 2 ) iff they subsume each other.</p><p>An L-substitution σ is a mapping from N var into the set of all L-concept descriptions. Substitutions are extended to concept patterns by induction on the structure of the pattern, modifying only the occurrences of variables in the pattern. The notion of subsumption is extended to L-substitutions as follows. An L-substitution σ is subsumed by an L-substitution τ (σ τ ) iff σ(X) τ (X) for all X ∈ N var . With these preliminaries we can define matching problems.</p><p>Definition 1 Let C be an L-concept description and D be an L-concept pattern. Then, C ≡ ? D is an L-matching problem<ref type="foot" target="#foot_0">1</ref> . An L-substitution σ is a matcher iff C ≡ σ(D). A matcher σ is the least matcher to C ≡ ? D iff for every matcher τ to C ≡ ? D it holds that σ τ .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Matching in ALN</head><p>Matching in ALN has been well-investigated in <ref type="bibr" target="#b1">[2]</ref>. In particular, it has been shown that solvable ALN -matching problems always have exactly one least matcher unique up to equivalence that can be computed in polynomial time. As the focus of this work is on implementation rather than theory, we will present the relevant matching algorithm only as detailed as necessary. For further details, see <ref type="bibr" target="#b1">[2]</ref>. The algorithm relies on the so-called FL 0 -normal form of ALN -concept descriptions which must be introduced first.</p><p>Consider an arbitrary ALN -concept description C over N con , N role , and over sets N ≥ and N ≤ of number restrictions of the form (≥ n r) and (≤ n r), respectively. Exhaustively applying the equivalence ∀r.(C 1 C 2 ) ≡ ∀r.C 1 ∀r.C 2 from left to right, we can represent C as a conjunction of concepts of the form ∀r 1 . • • • ∀r n .Π, where Π is the bottom-concept, a (negated) primitive concept, or a number restriction. Abbreviating ∀r 1 . • • • ∀r n .Π by ∀r 1 . . . r n .Π, we can interpret r 1 . . . r n as a word over the alphabet N role . Collecting all these words separately for the bottom-concept, for every (negated) primitive concept, and for every number restriction, we obtain a representation of C of the form</p><formula xml:id="formula_1">C ≡ Π∈{⊥}∪Ncon∪{¬P |P ∈Ncon}∪N ≥ ∪N ≤ ∀U Π .Π,</formula><p>where every U Π is a formal language over N role . Note that the occurrence of Π on top-level can be represented by including ε in the corresponding role language.</p><p>Moreover, if Π does not occur in C at all then U Π = ∅. ALN -concept patterns can be represented in FL 0 -normal form by treating variables like primitive concepts. Hence, it suffices to extend the above representation by role languages U X for every variable X ∈ N var . The following example illustrates this. By means of the FL 0 -normal form, a matching problem can be viewed as a problem over formal languages. In order to simplify the presentation of the ALNmatching algorithm, we introduce two auxiliary functions on formal languages.</p><formula xml:id="formula_2">Definition 3 For arbitrary formal languages U , V over N role and r ∈ N role , define U • −V := u∈U {v | uv ∈ V } and U • r −1 := {u | u r ∈ U }.</formula><p>We can now introduce one main result from <ref type="bibr" target="#b1">[2]</ref> which shows how the least matcher to a solvable ALN -matching problem can be constructed. To simplify notation, let</p><formula xml:id="formula_3">¬N con := {¬A | A ∈ N con }.</formula><p>Lemma 4 Let C ≡ ? D be an ALN -matching problem over N con , N role , and over number restrictions N ≥ and N ≤ . Let the FL 0 -normal form of C be represented by role languages of the form U Π quantified over every Π ∈ {⊥} ∪ N con ∪ ¬N con ∪ N ≥ ∪ N ≤ ∪ N var . Analogously, let D be represented by role languages V Π .</p><p>Then, either C ≡ ? D is not solvable or it has a least matcher σ that assigns to each variable X the concept description σ(X) defined by</p><formula xml:id="formula_4">σ(X) := ∀W X ⊥ .⊥ Π∈Ncon∪¬Ncon∪N ≥ ∪N ≤ ∀((V X • −W X Π ) \ (V X • −E C )).Π,</formula><p>where</p><formula xml:id="formula_5">E C = {w ∈ N * role | C ∀w.⊥}, W X ⊥ is a role language of polynomial size in C with W X ⊥ • N * role = V X • −E C</formula><p>, and all other role languages of the form W X Π are defined as follows.</p><formula xml:id="formula_6">W X Π :=            U Π ∪ E C if Π ∈ N con ∪ ¬N con m≥n U (≥mr) ∪ E C if Π =: (≥ n r) ∈ N ≥ m≤n U (≤mr) ∪ E C • r −1 if Π =: (≤ n r) ∈ N ≤</formula><p>There are two obvious strategies to decide whether the substitution σ defined above actually solves the matching problem C ≡ ? D. We might either ascertain the solvability of C ≡ ? D before computing σ, or we might compute σ first and decide the equivalence C ≡ σ(D) afterwards. In <ref type="bibr" target="#b1">[2]</ref>, the former strategy is taken: a system of formal language equations, so-called 'solvability equations', is proposed which is solvable iff C ≡ ? D is solvable. To decide solvability of these equations, however, necessitates computing exactly those role languages which occur in the FL 0 -normal form of σ(X) constructed in Lemma 4.</p><p>As the second strategy is computationally equivalent but more easily explained, we deviate from the original in <ref type="bibr" target="#b1">[2]</ref> by computing a candidate solution first and testing for equivalence afterwards. To this end, we utilize a characterization of equivalence from <ref type="bibr" target="#b1">[2]</ref> based on FL 0 -normal forms.</p><p>Lemma 5 Let C 1 and C 2 be ALN -concept descriptions over N con , N role , and over number restrictions N ≥ and N ≤ . Let the FL 0 -normal forms of C 1 and C 2 be represented by role languages of the form U Π and V Π , respectively. Then, C ≡ D iff for every Π ∈ N con ∪ ¬N con , for every (≥ n r) ∈ N ≥ , and for every (≤ n r) ∈ N ≤ it holds that</p><formula xml:id="formula_7">E C 1 = E C 2 (⊥) U Π ∪ E C 1 = V Π ∪ E C 2 (Π) m≥n U (≥mr) ∪ E C 1 = m≥n V (≥mr) ∪ E C 2 m≤n U (≤mr) ∪ E C 1 • r −1 = m≤n V (≤mr) ∪ E C 2 • r −1 ,</formula><p>where</p><formula xml:id="formula_8">E C i = {w ∈ N * role | C i ∀w.⊥} for i = 1, 2.</formula><p>Informally, the ALN -matching algorithm can now be described as follows. Upon input C ≡ ? D, (i) transform C and D into FL 0 -normal form, (ii) construct the candidate solution σ defined in Lemma 4, and (iii) test whether C and σ(D) satisfy the formal language equations shown in Lemma 5. If they do, return the least matcher σ, otherwise return 'fail'. It remains to provide a method by which to solve Steps (ii) and (iii) in polynomial time.</p><p>To this end, so-called 'tree-like automata' <ref type="bibr" target="#b1">[2]</ref>, can be utilized. Intuitively, these are deterministic finite automata whose structure differs from a tree only in that they either have ordinary leaves or leaves with an r-transition to themselves for every r ∈ N role . Consider the following example. It has been shown in <ref type="bibr" target="#b1">[2]</ref> that tree-like automata have the following properties.</p><p>• A tree-like automaton A that accepts E C can be constructed in polynomial time in the size of C. From A, a language U of polynomial size in C with E C = U • N * role can be constructed in linear time.</p><p>• The operations union, intersection, and complement on treelike automata can be defined in such a way that the size of the resulting automaton does not exceed the maximum of the sizes of the input automata. Moreover, all operations can be performed in linear time.</p><p>• If U, V, W are finite languages, then a tree-like automaton that accepts</p><formula xml:id="formula_9">U • − (V ∪ W • N * role</formula><p>) can be constructed in polynomial time in the size of the input.</p><p>As a consequence, tree-like automata can be used to construct the candidate solution σ defined in Lemma 4 in polynomial time. It remains to show how tree-like automata can be used to test whether σ actually is a solution.</p><p>Consider a matching problem C ≡ ? D in FL 0 -normal form with a candidate solution σ as defined in Lemma 4. Instantiating the entire system of equations from Lemma 5 by C and σ(D) is beyond the scope of this paper. Nevertheless, as a typical example, we discuss Equation (Π) defined for every Π ∈ N con ∪ ¬N con . Inserting the role languages from C and σ(D), we obtain the following equation.</p><formula xml:id="formula_10">U Π ∪ E C = V Π ∪ E σ(D) ∪ X∈Nvar V X • V X • −(U Π ∪ E C ) ( * )</formula><p>Assume that Equation (⊥) has already been tested, i.e., E C = E σ(D) . By definition of • −, the union over all X ∈ N var on the right-hand side of ( * ) is always a subset of the left-hand side of the equation. Hence, Equation ( * ) holds iff (i)</p><formula xml:id="formula_11">V Π ⊆ U A ∪ E C and (ii) for all u ∈ U Π either (iia) u ∈ V X ∪ E σ(D) or (iib) u ∈ V X •V X • −U Π or (iic) u ∈ V Π •V X • −E C</formula><p>. Condition (i) can be decided by testing the tree-like automaton of V Π ∩ (U Π ∪ E C ) for emptyness. For Condition (iia), merely the word problem w.r.t. the tree-like automaton for V Π ∪ E σ(D) must be decided for every u ∈ U Π . Since there is no concatenation defined for tree-like automata, the remaining Conditions (iib) and (iic) cannot be solved by means of one single treelike automaton. Nevertheless, one can show that u ∈</p><formula xml:id="formula_12">V X • V X • −U Π iff {u} • −V X ∩ V X • −U Π is</formula><p>not empty, which again can be decided by a tree-like automaton in polynomial time. Case (iic) is analogous. The other equations from Lemma 4 can be decided similarly.</p><p>This completes our overview of matching in ALN . In the following section, we will explain how the theoretical algorithm described above can be implemented.</p><p>In order to implement the ALN -matching algorithm introduced previously, appropriate data structures for the representation of concept descriptions, concept patterns, and tree-like automata are necessary.</p><p>As the algorithm is defined w.r.t. the role languages of the FL 0 -normal form of its input, it seems expedient to begin by translating the input matching problem into an array of sets of lists over symbols, the symbols representing the alphabet N role . Our data structure for tree-like automata resembles the inductive representation of trees: a vector the elements of which are either atomic objects or again vectors. In our case, we only additionally have to discriminate nonfinal from final nodes and ordinary leaves from those accepting N * role . In order to decide word-problems more quickly, vectors representing non-leaf nodes are implemented as arrays instead of lists.</p><p>The overall strategy of the implementation corresponds to the steps described in Section 3. As implementation language, we chose Common LISP because it proved well-suited to realize our representation of tree-like automata. Moreover choosing LISP makes our implementation compatible to the system Sonic <ref type="bibr" target="#b8">[9]</ref> which provides an interface between the KB editor OilEd <ref type="bibr" target="#b3">[4]</ref> and non-standard reasoning services. This may help to make our algorithm available to users.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Benchmarks</head><p>In order to test the performance of our implementation on a sufficiently large set of data, we had to resort to randomly generated matching problems. A similar approach was used for the implementation of an ALE-matching algorithm <ref type="bibr" target="#b7">[8]</ref>.</p><p>Randomly generating C and D independently of each other makes it very unlikely that a matcher for C ≡ ? D exists. Hence, we randomly generate a concept C and then construct a concept pattern D from C by randomly replacing sub-concepts of C by variables. Matching problems obtained thus are not necessarily solvable because of multiple occurrences of the same variable. As a simple example, consider C := ∀r.A ∀s.B and D := ∀r.X ∀s.X. Then, C ≡ ? D has no solution. Note also that assuming the concept pattern D to be smaller than C seems justified especially when viewing matching as querying over KBs.</p><p>The generated random matching problems were influenced by a vector of probabilities controlling the depth and width of the resulting concept C as well as the frequency of the different constructors available in ALN and the variables in D. Our benchmarks comprise a total of about 22,000 matching problems in 220 groups, each of which was generated with a unique probability vector. Moreover, we have generated another 12,000 matching problems which, though random, were constructed to be always solvable. The maximum problem size, i.e., the sum of the sizes of C and D, was limited by 1000. The benchmarks were  The fitting function in Figure <ref type="figure" target="#fig_3">1</ref>(a) not only matches the overall average fairly well, but also shows the general trend of the expected computation time for larger problems. A problem of size, e.g., 800 increases the computation time to about 1.5 seconds. Nevertheless, the 'darker' cluster below the fitting function indicates that the majority of the problems are solved in less than one second.</p><p>Astonished by the strong dispersion of the scatterplot in Figure <ref type="figure" target="#fig_3">1</ref>(a), we have rearranged the plot so that the horizontal position of every dot representing a matching problem C ≡ ? D is determined by the size of C alone, thus ignoring the size of D. This rearrangement produces the scatterplot in Figure <ref type="figure" target="#fig_4">1(b)</ref>.</p><p>Comparing diagrams (a) and (b), the first immediate observation is that the the size of C influences the computation time stronger than the size of Dalthough on average the size of D is two thirds the size of C. Moreover, we observe one cluster of simpler matching problems and another cluster of 'hard' ones, where a problem of size 400 on average already seems to take 2 seconds to solve. Analysis of our data revealed that the 'hard' cases comprise exactly those problems which, though random, were designed to be solvable.</p><p>As we do not have the means to verify these findings by matching problems from realistic applications, we cannot rule out that the above findings are specific to randomly generated matching problems. Nevertheless, it seems expedient to aim future optimizations of the ALN -matching algorithm at improving the computation time for solvable matching problems.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">A comparison to the ALE-matching algorithm</head><p>The fact that a matching algorithm for the DL ALE has already been implemented offers the unique opportunity to compare the ALN -to the ALE-matching algorithm head-to-head on FL ¬ -matching problems, the largest intersection of ALN and ALE. This comparison might be interesting for two reasons. Firstly, both algorithms take a totally different approach to solving a matching problem C ≡ ? D. While the ALN -algorithm solves a system of formal language equations, the ALE-algorithm tries to construct homomorphisms from the description tree of D into that of C. Secondly, the ALN -algorithm exploits the fact that an ALN -matching problem has at most one solution while the ALE-algorithm might look for several ones. For our comparison, we have generated a set of 34.000 FL ¬ -matching problems in the manner described above. The results for the ALN -algorithm are similar to the ones discussed in Section 4.1. On average, a problem of size 539 was solved in 1.2 seconds by the ALN -algorithm, compared to just 0.25 seconds by the algorithm for ALE. The resulting scatterplots for the ALN -algorithm are not shown here because they closely resemble the ones in Figure <ref type="figure" target="#fig_3">1</ref>. The scatterplots for the ALE-algorithm are shown in Figure <ref type="figure" target="#fig_1">2</ref>.</p><p>The plot in Figure <ref type="figure" target="#fig_1">2</ref>(a) shows that the majority of matching problems is solved in less than 0.25 seconds with relatively fewer cases strongly deviating upwards. Moreover, the fitting function indicates that even a problem of size 1000 is usually solved in about 0.5 seconds.</p><p>The discrimination by ordinary matching problems and those designed to be solvable, see Figure <ref type="figure" target="#fig_1">2</ref>(b), shows that our findings from the ALN -algorithm are exactly reversed. The ALE-algorithm apparently had no difficulty with solvable matching problems while the 'hard' cases are comprised of those problems of which many have no solution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>In the present paper, we have presented an implementation of the ALN -matching algorithm defined in <ref type="bibr" target="#b1">[2]</ref>. Upon input C ≡ ? D, the algorithm first computes a candidate solution σ and verifies its validity afterwards. More precisely, the algorithm reduces matching problems to problems over formal languages and decides them in polynomial time with the help of tree-like automata.</p><p>Our benchmarks show that even large ALN -matching problems can be solved relatively quickly. Analysis indicates that solvable matching problems tend to consume much more time than those without a solution. This suggests for potential optimizations to aim at constructing solutions more quickly and not at trying to identify unsolvable problems earlier.</p><p>The validity of our findings is weakened by the fact that only randomly generated data was available for benchmarks. It is an open questions whether both implementations, the one for ALN as well as the one for ALE, behave similar on matching problems from realistic applications. Nevertheless, our comparison suggest that without major optimization the ALE-matching algorithm seems the more auspicious starting point for an extension to matching in ALEN .</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>{x ∈ ∆ I | ∀y : (x, y) ∈ r I ⇒ y ∈ C I } x x x ∃r.C {x ∈ ∆ I | ∃y : (x, y) ∈ r I ∧ y ∈ C I } x (≤ n r), n ∈ {x ∈ ∆ I | #{y | (x, y) ∈ r I } ≤ n} x (≥ n r), n ∈ {x ∈ ∆ I | #{y | (x, y) ∈ r I } ≥ n} x</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Example 2</head><label>2</label><figDesc>Let N con := {A}, N role := {r, s}, N ≥ := {(≥ 3 r)}, N ≤ := ∅, and N var := {X, Y }. Then the pattern D := A ∀r.⊥ ∀s.(∀r.A (≥ 3 r) X) X can be represented in FL 0 -normal form as ∀{r}.⊥ ∀{ε, sr}.A ∀∅.¬A ∀{s}.(≥ 3 r) ∀{ε, s}.X ∀∅.Y .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Example 6</head><label>6</label><figDesc>Let N role = {r, s}. Then the role language {ε, s} ∪ {rs} • N * role can be represented by a tree-like automaton A of the form initial state and double circles denote final states.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Benchmarks for matching in ALN</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 1</head><label>1</label><figDesc>gives a more detailed account of our findings. Diagram (a) shows the result of our benchmarks as a scatterplot together with a fitting function computed by the least-squares method. One dot in the diagram represents one matching problem C ≡ ? D. In the diagram, the horizontal position of every dot represents the sum of the sizes C and D while the vertical position represents the time necessary to solve the problem.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Benchmarks for the ALE-matching algorithm in FL ¬</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">In contrast to<ref type="bibr" target="#b1">[2]</ref> we do not introduce matching modulo equivalence and matching modulo subsumption separately. Note that C σ(D) iff C ≡ C σ(D).</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>* Supported by the DFG under grant BA 1122/4-3</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Matching in description logics with existential restrictions</title>
		<author>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Küsters</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of KR2000</title>
				<meeting>of KR2000</meeting>
		<imprint>
			<publisher>Morgan Kaufmann Publishers</publisher>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Matching in description logics</title>
		<author>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Küsters</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Borgida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcguinness</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Logic and Computation</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="411" to="447" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Unification of concept terms in description logics</title>
		<author>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Narendran</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ECAI-98</title>
				<meeting>of ECAI-98</meeting>
		<imprint>
			<publisher>John Wiley &amp; Sons Ltd</publisher>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">OilEd: A reason-able ontology editor for the semantic Web</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Goble</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Stevens</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<biblScope unit="volume">2174</biblScope>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">CLASSIC: A Structural Data Model for Objects</title>
		<author>
			<persName><forename type="first">A</forename><surname>Borgida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">J</forename><surname>Brachman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Mcguinness</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">A</forename><surname>Resnick</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ACM SIGMOD</title>
				<meeting>of ACM SIGMOD</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="1989">1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">What&apos;s not in a name: Some Properties of a Purely Structural Approach to Integrating Large DL Knowledge Bases</title>
		<author>
			<persName><forename type="first">A</forename><surname>Borgida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Küsters</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of DL2000</title>
				<meeting>of DL2000</meeting>
		<imprint>
			<publisher>CEUR-WS</publisher>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Using non-standard inferences in description logics-what does it buy me?</title>
		<author>
			<persName><forename type="first">S</forename><surname>Brandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-Y</forename><surname>Turhan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of KIDLWS&apos;01</title>
				<meeting>of KIDLWS&apos;01</meeting>
		<imprint>
			<publisher>CEUR-WS</publisher>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Implementing matching in ALE-first results</title>
		<author>
			<persName><forename type="first">S</forename><surname>Brandt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of DL2003</title>
				<meeting>of DL2003</meeting>
		<imprint>
			<publisher>CEUR-WS</publisher>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Sonic-non-standard inferences go OilEd</title>
		<author>
			<persName><forename type="first">A.-Y</forename><surname>Turhan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kissig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of IJCAR&apos;04</title>
				<meeting>of IJCAR&apos;04</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2004">2004. 2004</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
