=Paper=
{{Paper
|id=Vol-1452/paper18
|storemode=property
|title=Semi-Automated Integration of Legacy Systems Using Linked Data
|pdfUrl=https://ceur-ws.org/Vol-1452/paper18.pdf
|volume=Vol-1452
|dblpUrl=https://dblp.org/rec/conf/aist/SemerhanovM15
}}
==Semi-Automated Integration of Legacy Systems Using Linked Data==
Semi-automated Integration of Legacy Systems Using Linked Data Ilya Semerhanov and Dmitry Mouromtsev1 ITMO University, Saint-Petersburg 197101, Russia, ailab@mail.ifmo.ru Abstract. A lot of valuable data is stored in standalone legacy systems inside enterprise infrastructure across different domains. It was always a big challenge to integrate such systems with each other even on structural level, but with the recent development of Semantic Web technologies its now clear that integration on semantic level could be achieved and data from different sources could be used more effectively. Its now becoming a trend to open data to the public according to Linked Data principals, but there is no common workflow that could be used with legacy systems. In this paper we propose our solution for semi-automated integration of legacy systems using Linked data principals. We analyze the motivation and current state of the art in the domain, present our method and al- gorithms for data extraction, transformation, mapping and interlinking. Finally we show our own implementation of the proposed solution and discuss the results. Keywords: Semantic Web, Linked Data, Database integration, Ontol- ogy, Resource Description Framework 1 Introduction Data integration nowadays is a big and challenging problem, due to the fact that a lot of business and personal data is stored in large amount of different computer systems: Customer Relationship Management systems, Supply Chain Manage- ment systems, Enterprise Resource Planning systems and etc. Also information is stored in web based applications such as intranet portals, blogs, personal web pages and so on. The amount of such data is growing rapidly every year and because of this industry is in need of a solution for accessing and managing distributed data. Data integration approaches can be separated in two differ- ent groups: consolidation approaches and virtualization approaches. Approaches from the first group are meant to physically transfer data from distributed data sources into one unified storage. On other hand approaches from the second group concentrate on providing a virtual way of accessing the data without any physical relocation. In this paper we understand integration according to the approach from the second group, as a unified virtual interface for accessing distributed heterogeneous data sources. But we can go with classification even further and separate virtual data integration approach into several classes: struc- ture based and semantic based integration. The structural integration is based 154 2 on an idea that full integration can be achieved by providing a mapping between different structural parts of integrated systems. A lot of approaches and meth- ods were developed in past years with this idea and the most popular that are used now are usually based on such technologies as Web Services, for example Service Oriented Architecture. For data representation general approach in such a case is to use a markup language, for example XML, and for data transferring - some transport network protocol, like, for example, HTTP. Thus we can say that structure based integration methods are mostly used for representing and trans- ferring data from different systems in a common way and providing a solution for mapping one system structure to another system structure. Semantic data integration, on other hand, is dealing not only with structural mapping, but also trying to define equivalency in semantic meaning of distributed integrated data. This kind of integration, compared to the structural integration, is operating several levels above in DIKW pyramid, using not only simple data structures for integration, but also context of its usage and knowledge of how to use it [1]. This approach can bring several benefits, like for example it can increase level of automatic decision making and provide means for better analytical data search. In other words semantic integration methods can make integration tools more intelligent and help them deal more effectively with big amount of data. This paper consists of 6 sections. Section 2 explains our motivation in this work and why we started the research. Section 3 focus on the state of the art it the area and related work. Section 4 covers our proposed solution for the problem, including method, algorithms for data integration and also implementation of it as a tool. Sections 5 and 6 concludes the paper and focus on discussion of results and future work. 2 Motivation It is an indisputable fact that currently most of the applications and com- puter systems in different domains use traditional technologies such as relational databases for data storage and retrieving. From the perspective of Semantic Web they could be called legacy systems, or in other words outdated computer sys- tems. Applying semantic integration approach to the legacy systems could take a big amount of the effort and manual work, and as a result it could be an obsta- cle for introduction of such approach, regardless the benefits that it could bring. There are already several solutions for mapping relational databases to Resource Description Framework (RDF) datasets available, as well as there is also a World Wide Web Consortium (W3C) R2RML language specification that intends to standardize the approaches for such mapping [2]. Nevertheless we are convinced that they all miss the unified methodology for data retrieval from different types of relational databases and publication on the Web. The level of automation in such tools is still no enough, so they require a lot of manual work through whole data integration life cycle. In this paper we present our own view on the problem and a solution for semi-automated integration of legacy systems. This solution will include the methodology and algorithms for data extraction and 155 3 transformation, as well as a prototype of a tool, that is used by us for evaluation of the results. 3 Related Work Semantic data integration approaches are discussed for a long time by profession- als in data integration domain and we can already say that the most promising solutions are based on metadata usage. Some brief survey of the current state of the art in the domain was presented by Klaus R. Dittrich and Patrick Ziegler [3]. One of the directions of development of metadata approach is closely linked to the idea to use ontology models for data integration and system interoperability. This idea is not really a new one and was already presented for example in the paper [4]. Usually there are 3 main approaches for ontology based integration: single ontology approach, multi ontology approach or hybrid approach. The idea behind single ontology is based on the assumption that its possible to create single ontology that could describe all entities and concepts in integrated sys- tems. This is a straightforward solution that could be applied only if all systems works in one domain and it was implemented in SIMS [5]. In second approach, instead of one ontology each integrated system provide its own ontology. Com- pared to first solution in this case its easier to integrate new system, because ontologies could be developed independently for all integrated systems, like for example in OBSERVER [6]. But without common vocabulary its problematic to interlink concepts in different ontologies. Thats why there is a third solution that uses both ideas: for describing systems it uses several single ontologies; for interlinking them with each other global ontology is used as a vocabulary. But still there are a lot unresolved problems in this approach, for example its still not clear how to get single ontology for every system automatically and how to map them automatically with each other with the use of global ontology. The solu- tions for relational database mapping to RDF data sets are described in a W3C RDB2RDF Incubator Group survey [7] and in survey [8]. In this surveys several tools and techniques for data transformation are described and could be sepa- rated in three classes: direct mapping solutions, semi-automated direct mapping solutions and solutions that use domain semantic for extracting the data from relational database. Although some of them are already a mature software they still lack solutions for stable automated ontology mappings, duplicates discovery and other features that could make data integration process more friendly. 4 Implementation 4.1 Semantic integration with ontology According to Tomas Gruber definition, ontology is an explicit specification of conceptualization [9]. It can describe concepts and relationships that can exist in one domain and basically it is a set of concepts, relations and functions that 156 4 connects them with each other: O = T, R, F , where : (1) O – ontology of the domain; T - set of concepts in described domain; R - set of relationships in the domain; F - set of functions that connects concepts and relationships inside one domain. By using it for data integration concepts and relationships could be described in every integrated subsystem as well as in the whole subject domain. In order to do that every object that has some valuable data in the integrated systems should be described with the use of semantic metadata, in terms of one general ontology of subject domain in which all systems work. Metadata is information presented in special format that describes content of objects, it also could be called data, that describes data. In formal form we can express it as: Mi = Ti ∨ Ei , where : (2) Mi - metadata of object i ; Ti - set of concepts connected to object i ; Ei - set of concept instances in ontology. In other words ontology of subject domain plays a role of coordinate system for all integrated applications. There are a lot of benefits of using ontology for semantic data integration: – Instead of simple structure mapping we have a relationship mapping that describes how to use data. In other word we are moving from data level to information and knowledge level in DIKW pyramid. – Ontology could be parsed automatically and it could provide ways for auto- matic decision making with the use of description logic. – Ontology can be easily extended with new concepts and relations, thus we can integrate new subsystems without additional effort. – One of the big advantages is that ontology can have several levels. Low level ontology could describe every individual system, middle level ontology could describe the set of integrated systems in one subject domain and high level ontology could describe integrated systems even between different domains. In order to use such approach for integration, data that is originally stored in distributed legacy systems should be transformed to semantic friendly format first and then ontology for describing this data and systems should be created. There are numbers of methodologies for manual ontology creating, for example IDEF5, TOVE, METHONTOLOGY [10, 11]. However, there is no standard ap- proach for semi-automatic ontology generation from legacy systems that should be later integrated, therefore we present in this paper our own solution for that. 157 5 4.2 Linked data approach One of the good things behind ontology based semantic integration is that it can be used to integrate not only structured data, but also semi-structured and unstructured. Using Linked Data principals as the basis for integration gives us a possibility to apply the same techniques for integrating any kind of data. Linked Data describes a method of publishing data on the web so that it can be inter- linked and become more useful. It is based on W3C standard technologies, such as HTTP, RDF, Web Ontology Language (OWL), and according to Tom Heath and Christian Bizer this is one of the best solutions for publishing interlinked data on the web [12]. By defining relationships between data, in the way that it can be parsed by the computers, Linked Data gives a possibility to aggregate the information from distributed data sources, create new relations, visualize connections and also extend it by connecting to other external resources. In this approach it is also possible to use ontology and Ontology Web Language for describing relations between objects in order to achieve semantic integration goal. In other words Linked Data will play a role of unified virtual interface for accessing data, stored in distributed legacy systems. The big challenge of this research was a legacy systems data extraction, transformation and load problem. In order to overcome it we developed our own method and several algorithms for ETL (Extract, Transform, Load) procedure. As the overwhelming majority of legacy systems, such as Enterprise Resource Planning systems (ERP), Customer Relationship Management systems (CRM) and custom applications, make use of relational databases to store the data we focused on this kind of data storages. 4.3 Method In legacy computer systems, that use relational databases, data is stored in ta- bles, where rows represent entity instance and columns represent attribute val- ues, describing each instance. To achieve integration with Linked Data principals data should be extracted from tables and published on the Web in appropriate format. Usually in one infrastructure there are several legacy systems, that store different kind if data, but in one subject domain. That allows us to use domain ontology for describing common relations in all systems in the domain. Further- more some general relations are independent from the domain and could be used in any computer system. We intend to combine legacy system data model, do- main ontology and upper ontology in order to automatically extract data from distributed relational databases and publish it as integrated Linked Data on the Web. For this purpose we developed a method, that is based on the IDEF5 method for ontology modeling, but instead of manual ontology creation it pro- vide steps for semi-automated ontology generation from data storage structure. This method consists of four main steps: 1. Individual RDF structure. Extracting information about data model struc- ture of every integrated legacy system and transforming it to RDF model; 2. Common RDF structure. Combining extracted RDF models in a common RDF model; 158 6 3. Common global ontology. Creation of global ontology model on the basis of upper ontology, subject domain ontology and extracted common RDF model of legacy systems; 4. Integrated data ontology. Extracting data from distributed data sources and presenting it as semantic metadata with the use of common global ontology and automated decision making tools. According to the method on the first step there is a primary translation of legacy system data model to the RDF model. In case of relational databases table names transforms to RDF classes, table fields to RDF properties. Then, on the second step extracted RDF models automatically combined into one com- mon RDF model. On this step we also provide a solution for searching for similar properties and classes and providing relations between them. On the next step generated RDF model should be enriched by different concepts and relations from subject domain ontology and upper ontology, such as Friend Of A Friend ontology (FOAF). This step is not automated and should be done manually with the use of ontology editors. On the last step, based on the common global ontology, data is extracted from distributed legacy systems and described with semantic metadata. This metadata is stored together with common global on- tology in OWL format and could be published on the web as Linked Data. Provided method make use of semantic relations, described by combined on- tology, between objects in integrated systems across the domain, for automated data extraction and interlinking with other data. The benefit from this approach is that there is no need for manual interlinking between extracted data, instead semantics relations between objects will be used for this purpose. Semantic re- lations, on other hand, will be extracted automatically from initial data model and then extended manually by the domain experts. 4.4 Algorithms Within the proposed method we also provide several supporting algorithms that should be used for legacy systems integration: – Algorithm for automated common RDF model extraction from legacy sys- tems data model; – Algorithm for data extraction from distributed legacy systems with the use of common global ontology and publishing it on the Web as Linked Data. We also used similarity analysis procedure in our method for comparing entities in integrated systems. Common RDF model extraction algorithm was developed in order to ex- tract data model from each of integrated systems as RDF, and combine it to- gether as unified RDF data model. Given there are two legacy systems LS1 and LS2 in one subject domain, that use relational databases for storing the data. In this case the algorithm goal is to transform LS1 and LS2 database structure 159 7 into common RDF model. In relational databases for description of its structure database schema is used. This schema defines the tables, fields, relationships, views and a lot of other elements, however this is only enough for integration on structural level. In order to achieve semantic integration domain ontology should be used and in this case it will add to the extracted model relations be- tween concepts in the subject domain. The input data for proposed algorithm is database schema of each integrated systems and domain ontology. Legacy system LS1 is using database schema S1 and system LS2 – database schema S2 : S1 = T b1 , . . . , T bn , S2 = T b1 , . . . , T bk , where : (3) S1 , S2 - database schemes, Tbn , Tbk - schema tables. T b1 = At1 , . . . , Ati , where : (4) Ati – table attributes. The algorithm consists of five steps: 1. Structure mapping. Sequential mapping of S1 and S2 into RDF format. T bn → T m , T bk → T m , Ati → Ai where Tm - RDF classes, Ai - RDF properties. 2. Automatic relations creation. Providing semantic properties Pj , by auto- matic similarity analysis of database structure. Analysis is based on several measures: data types similarity, database names similarity, string similarity. 3. Enrichment. Subject domain ontology and upper ontology import with the use of OWL property owl:import. 4. Manual relations creation. Editing of extracted model with the ontology ed- itor. Manual creation of relations between concepts from upper and domain level ontologies and objects in extracted model. 5. Output of created common RDF model into file or in RDF triple store. The output is a common RDF model that describe objects and their relations in legacy systems, as well as concepts and their relations inside subject domain. Data extraction algorithm was designed for data extraction from distributed legacy systems with the use of previously generated common RDF model, and for later publishing on the Web. The input data for this algorithm is common RDF data model and list of tables from which data should be extracted. Suppose in input there are i number of tables with data, then: T bi = V1 , . . . , Vn , where : (5) 160 8 Tbi - table database i ; Vn - table entry. The algorithm consists of five steps: 1. Import of common global model. Import of extracted earlier common global RDF model. 2. Entries extraction. Extraction of every Vn entry from table Tbi in each integrated database. 3. Similarity analysis. Similarity analysis of extracted entries with each other. If there is a match, one of the tree semantic properties should be applied: skos:closeMatch, skos:narrowMatch, skos:exactMatch. 4. Reasoning. Creation of new semantic properties by logical reasoning, that is working because of description logic, which were imported from common global model. 5. Output of created integrated data ontology in OWL format in a file or in RDF store. The result of the algorithm is global meta model that contains objects and its relations in the subject domain and also interlinked data in RDF format. Similarity analysis was done in both algorithms in the method. In common RDF model extraction algorithm it is used for automated creation of relations between objects in different integrated systems. In data extraction algorithm it is used for comparing extracted string values. For automated creation of relations between objects in different systems dur- ing common model extraction, we propose to use complex method of comparison by several parameters: – string comparison of elements names and descriptions, for example attribute names in tables of relational database. – comparison by data type. Different relational databases use different data types, however in the research we created common mapping between all relational databases data types and XML Schema data types. – corpus-based comparison of elements. By using subject domain ontology as thesaurus, we can find relations between objects during extraction. For string similarity comparison there are several approaches available, for example Jaccard similarity coefficient, Tanimoto similarity coefficient, Leven- shtein distance or Sorensen-Dice similarity coefficient [13]. For all approaches we propose to use it not against a single character in a string or a whole line, but against a string, separated in intersecting N-grams. N-gram is a contiguous se- quence of N items from a given sequence of text and it can be of arbitrary length. We propose to select length dynamical, based on the length of the initial string and use w-shingling for tokenizing it in N-grams. For example for Sorensen-Dice similarity coefficient, that originally looks like: 2 · |X ∧ Y | p= , where : (6) |X| + |Y | 161 9 p – similarity coefficient, X,Y – number of characters in string X and Y. The solution with N-grams and Sorensen-Dice coefficient should look like: 2 · |N grams(X) ∧ N grams(Y )| p= , where : (7) |N grams(X)| + |N grams(Y )| p – similarity coefficient, Ngrams(X) – function calculating N-grams sets from string X. Every parameter, that is used for complex comparison has its own weight. In the end every compared element could be described as a set of parameter similarity coefficient and its weight: sim(S, E) = p1 w1 , . . . , pk wk , where : (8) sim(S,E) – final similarity between element S and E in integrated system, pk – similarity coefficient of parameter k, wk – weight of parameter k. In real implementation of the algorithms the final similarity value should be computed as a leaner function or with some more effective approach, for example linear regression [14]. 4.5 Semantic data integration tool For practical implementation and testing of our method and algorithms we devel- oped a prototype of semantic data integration tool. The high-level architecture of the tool, called R2RMapper, is illustrated on figure 1. The tool consists of four main modules: R2RMapperCore, R2RMapperWi, R2RMapperBatch and MatchingDB. R2RMapperCore is the main module that is used for data extrac- tion from distributed legacy systems. It can work like a standalone library or inside R2RMapper tool. Communication with integrated data sources is achieved by web services or by direct JDBC connection. R2RMapperWi module is a web frontend that gives access for the user to the main features. R2RMapperBatch is a module for scheduling of different tasks, for example nightly synchronization with integrated systems. MatchingDB is a Redis based memory caching mech- anism that caches different information, such as similarity analysis results, in memory during ontology extraction. The extracted OWL ontology is stored as RDF in Jena TDB storage from where it is published by Jena Fuseki server on the web as a linked data cloud. This linked data cloud works as a virtual interface, with which client systems or users can access data in distributed legacy systems by SPARQL queries. As the linked data is backed up by the real ontology with the sets of concepts and relations, all benefits of ontology based integration are provided. For testing of the tool we used a CentOS 6.2 server with 16GB RAM and Intel i5 processor 3.10 GHz. We executed it against Oracle 11g database with 50 000 entries. The results of the execution are presented on figure 2. Due to use 162 10 Fig. 1. R2RMapper architecture of Redis as a caching mechanism we managed to decrease time for extraction of data from relational databases two times. As a result of integration, user can work with integrated data through one endpoint and more effectively. For example there is a possibility to do an an- alytical semantic search query which will also include in search results related information about the required resource. Thus we can say that by using such approach users can work not only with the integrated data, but with integrated semantic knowledge of how to use this data. 5 Discussion Today providing of an easy access to the big amount of stored data is becoming a trend, no matter whether it is inside one organisation infrastructure or dis- tributed between different organisations and domains. It is equally important for big enterprise companies, open communities and research centers to open the data and make it available for other internal systems, external clients and of course users. In the research we were developing a unified method that could be applied to every domain for data extraction, transformation, publication and integration. The main goal is to automate the process as much as possible by using hybrid multilevel ontology approach, natural language processing and ma- chine learning for automated decision making during integration. Although the method and its implementation is an already working solution it still has a room for improvement, for example in the area of semi-structured and unstructured data extraction. We also attempt to make global ontology extraction procedure more convenient for the users and domain experts. As one of the first big practical use cases of presented method we intend to develop a platform for publishing of open science data from universities as 163 11 Fig. 2. Time of data extraction with R2RMapper tool Linked Data. The first candidates for opening data by this platform are ITMO University and Leipzig University. 6 Conclusions and future work In the presented paper we discussed semantic data integration approach, based on ontology usage and linked data technology. We showed the main benefits of this idea and presented our solution for providing distributed data in a semantic friendly linked data format. We also presented a developed prototype of a seman- tic data integration tool, which implements our solution. Our method currently works only for the structured data, but we are working on an extension of this method in the direction of working with semi-structured data. In future work we plan to research possibility of applying our solution also for unstructured data in order to parse it and represent as Linked Data. In collaboration with AKSW 1 group from Leipzig we intend to improve the solution and use it in a generic platform for open science data integration, knowl- edge acquisition and collaboration beteen universities. Together with legacy sys- tem integration using ETL procedures this platform will be used for integration of existing RDF datasets by the use of SPARQL federated queries. This topic will be discussed in our future papers. 1 http://aksw.org/ 164 12 References 1. Rowley J. The wisdom hierarchy: representations of the DIKW hierarchy. Journal of Information Science, 33(2):163–180, 2007. 2. R2RML: RDB to RDF mapping language. http://www.w3.org/TR/r2rml/. Ac- cessed: 2015-03-20. 3. Dittrich K. R. Ziegler P. Three decades of data integration - all problems solved? World Computer Congress - IFIP, pages 3–12, 2004. 4. Visser U. Stuckenschmidt . Wache H., Vogele . Ontology-based integration of infor- mation - a survey of existing approaches. IJCAI-01 proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, pages 4–10, aug 2001. 5. Yigal Arens, Chun-Nan Hsu, and Craig A. Knoblock. Readings in agents. chap- ter Query Processing in the SIMS Information Mediator, pages 82–90. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1998. 6. Eduardo Mena, Arantza Illarramendi, Vipul Kashyap, and AmitP. Sheth. Ob- server: An approach for query processing in global information systems based on interoperation across pre-existing ontologies. Distributed and Parallel Databases, 8(2):223–271, 2000. 7. Sebastian Hellmann Kingsley Idehen Ted Thibodeau Jr Sren Auer Juan Sequeda Ahmed Ezzat Satya S. Sahoo, Wolfgang Halb. A survey of current approaches for mapping of relational databases to RDF. Technical report, W3C RDB2RDF Incubator Group, jan 2009. 8. Catherine Faron-Zucke Franck Michel, Johan Montagnat. A survey of RDB to RDF translation approaches and tools. Under review in Semantic Web Journal, 2014. 9. Gruber T. A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2):199–220, 1993. 10. Perakath C. Benjamin, Christopher P. Menzel, Richard J. Mayer, Florence Fillion, Michael T. Futrell, Paula S. deWitte, and Madhavi Lingineni. IDEF5 Method Report, September 1994. 11. Uschold M. King M. Towards a methodology for building ontologies. In Workshop on Basic Ontological Issues in Knowledge Sharing., 1995. 12. Bizer C Heath T. Linked data: Evolving the web into a global data space (1st edition). Synthesis Lectures on the Semantic Web: Theory and Technology, pages 1–136, 2011. 13. Safa’a I. Hajeer. Comparison on the effectiveness of different statistical similarity measures. International Journal of Computer Applications, (8), 2012. 14. Anhai Doan, Jayant Madhavan, Pedro Domingos, and Alon Halevy. Learning to map between ontologies on the semantic web. WWW-02 Proceedings of the 11th international conference on World Wide Web, pages 662–673, 2002. 165