Information Technology Reference
In-Depth Information
applications, such as web-oriented data integration, electronic commerce, schema
integration, schema evolution and migration, application evolution, data ware-
housing, database design, web site creation and management, and component-
based development. A mapping is defined as a set of mapping elements, each of
which indicates that certain elements of schema S1 are mapped to certain ele-
ments in S2. Furthermore, each mapping element can have a mapping expression
which specifies how the S1 and S2 elements are related. The mapping expression
may be directional, for example, a certain function from the S1 elements refer-
enced by the mapping element to the S2 elements referenced by the mapping
element, or it may be non-directional, that is, a relation between a combination
of elements of S1 and S2.
The Schema Matcher , previously designed and developed [14], implements a
technique based on syntactic and structural schema matching, among two or
more input ontologies.
The matching procedure takes as input two schemas and determines a map-
ping indicating which elements of the input schemas logically correspond to each
other. The match result is a set of mapping elements specifying the matching
schema elements together with a similarity value between 0 (strong dissimilar-
ity) and 1 (identity) indicating the plausibility of their correspondence. Our
matching procedure combines and integrates a number of matching algorithms,
adopting two of the above described approaches: the structural approach, based
on the application of the following algorithms: Children Matcher [15], Leaves
Matcher, Graph and SubGraph Isomorphism [16]; the linguistic or syntactic ap-
proach, based on application of: Edit Distance (Levenshtein Distance) [17] and
Synonym Matcher ( through WordNet [18] synonyms thesaurus).
4.3 API Ontology Builder
The production of the Candidate API Ontology Graph from the source code is
performed by the API Ontology Builder module by applying graph transfor-
mation patterns defined for the specific programming language or model. We
have defined a series of transformation rules for object oriented model aimed to
extract and transform proper language elements in ontological relation. In [1]
similar set of rules are described. Some of the defined rules are illustrated in the
following:
- (APIClassNodeA)
(OwlNodeA)
A node representing a class A in the API graph becomes an OWL class A
in the candidate ontology graph.
- (APIClassMethodNodeA)
(OwlNodeA)
A node representing a method A in the API graph becomes a class A in the
candidate ontology graph.
- (APIParameterNodeA)
(OwlNodeA)
A node representing a parameter A in the API graph becomes a class A in
the candidate ontology graph.
 
Search WWH ::




Custom Search