Skip to main content
Log in

Exchanging Data amongst Linked Data applications

  • Regular Paper
  • Published:
Knowledge and Information Systems Aims and scope Submit manuscript

Abstract

The goal of data exchange is to populate the data model of a target application using data that come from one or more source applications. It is common to address data exchange building on correspondences that are transformed into executable mappings. The problem that we address in this article is how to generate executable mappings in the context of Linked Data applications, that is, applications whose data models are semantic-web ontologies. In the literature, there are many proposals to generate executable mappings. Most of them focus on relational or nested-relational data models, which cannot be applied to our context; unfortunately, the few proposals that focus on ontologies have important drawbacks, namely: they solely work on a subset of taxonomies, they require the target data model to be pre-populated or they interpret correspondences in isolation, not to mention the proposals that actually require the user to handcraft the executable mappings. In this article, we present MostoDE, a new automated proposal to generate SPARQL executable mappings in the context of Linked Data applications. Its salient features are that it does not have any of the previous drawbacks, it is computationally tractable and it has been validated using a series of experiments that prove that it is very efficient and effective in practice.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Alexe B, Chiticariu L, Miller RJ, Pepper D, Tan WC (2008a) Muse: A system for understanding and designing mappings. In: SIGMOD, pp 1281–1284

  2. Alexe B, Tan WC, Velegrakis Y (2008b) STBenchmark: towards a benchmark for mapping systems. PVLDB 1(1):230–244

    Google Scholar 

  3. Antoniou G, van Harmelen F (2008) A semantic web primer, 2nd edn. The MIT Press, Cambridge

    Google Scholar 

  4. Arenas M, Libkin L (2008) XML data exchange: consistency and query answering. J ACM 55(2):1–72

    Article  MathSciNet  Google Scholar 

  5. Arjona JL, Corchuelo R, Ruiz D, Toro M (2007) From wrapping to knowledge. IEEE Trans Knowl Data Eng 19(2):310–323

    Article  Google Scholar 

  6. Bechhofer S, van Harmelen F, Hendler J, Horrocks I, McGuinness DL, Patel-Schneider PF, Stein LA (2004) OWL web ontology language reference. Technical report, W3C. http://www.w3.org/TR/owl-ref/

  7. Bernstein PA, Haas LM (2008) Information integration in the enterprise. Commun ACM 51(9):72–79

    Article  Google Scholar 

  8. Bernstein PA, Melnik S (2007) Model management 2.0: manipulating richer mappings. In: SIGMOD, pp 1–12

  9. Bizer C (2009) The emerging Web of Linked Data. IEEE intelligent systems 5(3):87–92

    Article  Google Scholar 

  10. Bizer C, Lehmann J, Kobilarov G, Auer S, Becker C, Cyganiak R, Hellmann S (2009) DBpedia: a crystallization point for the Web of Data. J Web Semant 7(3):154–165

    Article  Google Scholar 

  11. Bouquet P, Giunchiglia F, van Harmelen F, Serafini L, Stuckenschmidt H (2004) Contextualizing ontologies. J Web Semant 1(4):325–343

    Article  Google Scholar 

  12. Candan KS, Kim JW, Liu H, Suvarna R (2006) Discovering mappings in hierarchical data from multiple sources using the inherent structure. Knowl Inf Syst 10(2):185–210

    Article  Google Scholar 

  13. Choi N, Song I-Y, Han H (2006) A survey on ontology mapping. SIGMOD Rec 35(3):34–41

    Article  Google Scholar 

  14. Deutsch A, Nash A, Remmel JB (2008) The chase revisited. In: PODS, pp 149–158

  15. Dorneles CF, Gonçalves R (2011) Approximate data instance matching: a survey. Knowl Inf Syst 27(1): 1–21

    Google Scholar 

  16. Dou D, McDermott DV, Qi P (2005) Ontology translation on the semantic web. J Data Semant 2:35–57

    Google Scholar 

  17. Euzenat J, Shvaiko P (2007) Ontology matching. Springer, Berlin

    MATH  Google Scholar 

  18. Fagin R, Kolaitis PG, Miller RJ, Popa L (2005) Data exchange: semantics and query answering. Theor Comput Sci 336(1):89–124

    Article  MathSciNet  MATH  Google Scholar 

  19. Flouris G, Konstantinidis G, Antoniou G, Christophides V (2012) Formal foundations for RDF/S KB evolution. Knowl Inf Syst 1–39. doi:10.1007/s10115-012-0500-2

  20. Flouris G, Manakanatas D, Kondylakis H, Plexousakis D, Antoniou G (2008) Ontology change: classification and survey. Knowl Eng Rev 23(2):117–152

    Article  Google Scholar 

  21. Glimm B, Hogan A, Krötzsch M, Polleres A (2012) OWL: yet to arrive on the web of data? In: LDOW

  22. Groza T, Grimnes G, Handschuh S, Decker S (2011) From raw publications to Linked Data. Knowl Inf Syst 1–21. doi:10.1007/s10115-011-0473-6

  23. Haas LM, Hernández MA, Ho H, Popa L, Roth M (2005) Clio grows up: From research prototype to industrial tool. In: SIGMOD, pp 805–810

  24. Halevy AY (2001) Answering queries using views: a survey. VLDB J 10(4):270–294

    Article  MATH  Google Scholar 

  25. Hopcroft JE, Tarjan RE (1973) Efficient algorithms for graph manipulation [H] (Algorithm 447). Commun ACM 16(6):372–378

    Article  Google Scholar 

  26. Jing Y, Jeong D, Baik D-K (2009) SPARQL graph pattern rewriting for OWL-DL inference queries. Knowl Inf Syst 20(2):243–262

    Article  Google Scholar 

  27. Klusch M, Fries B, Sycara KP (2009) OWLS-MX: a hybrid semantic web service matchmaker for OWL-S services. J Web Semant 7(2):121–133

    Article  Google Scholar 

  28. Klyne G, Carroll JJ (2004) Resource description framework (RDF): concepts and abstract syntax. Technical report, W3C. http://www.w3.org/TR/rdf-concepts/

  29. Kobilarov G, Scott T, Raimond Y, Oliver S, Sizemore C, Smethurst M, Bizer C, Lee R (2009) Media meets semantic web: how the BBC uses DBpedia and Linked Data to make connections. In: ESWC, pp 723–737

  30. Leite M, Ricarte I (2012) Relating ontologies with a fuzzy information model. Knowl Inf Syst 1–33. doi:10.1007/s10115-012-0482-0

  31. Lenzerini M (2002) Data integration: A theoretical perspective. In: PODS, pp 233–246

  32. Maedche A, Motik B, Silva N, Volz R (2002) MAFRA: A MApping FRAmework for distributed ontologies. In: EKAW, pp 235–250

  33. Mergen SLS, Heuser CA (2006) Data translation between taxonomies. In: CAiSE, pp 111–124

  34. Mocan A, Cimpian E (2007) An ontology-based data mediation framework for semantic environments. Int. J Semant Web Inf Syst 3(2):69–98

    Article  Google Scholar 

  35. Motik B, Horrocks I, Sattler U (2009) Bridging the gap between OWL and relational databases. J Web Semant 7(2):74–89

    Article  Google Scholar 

  36. Mrissa M, Ghedira C, Benslimane D, Maamar Z, Rosenberg F, Dustdar S (2007) A context-based mediation approach to compose semantic web services. ACM Trans Internet Tech 8(1):4

    Article  Google Scholar 

  37. Noy NF (2004) Semantic integration: a survey of ontology-based approaches. SIGMOD Rec 33(4):65–70

    Article  Google Scholar 

  38. Noy NF, Klein MCA (2004) Ontology evolution: not the same as schema evolution. Knowl Inf Syst 6(4):428–440

    Article  Google Scholar 

  39. Omelayenko B (2002) Integrating vocabularies: discovering and representing vocabulary maps. In: ISWC, pp 206–220

  40. Palopoli L, Rosaci D, Terracina G, Ursino D (2005) A graph-based approach for extracting terminological properties from information sources with heterogeneous formats. Knowl Inf Syst 8(4):462–497

    Article  Google Scholar 

  41. Parreiras FS, Staab S, Schenk S, Winter A (2008) Model driven specification of ontology translations. In: ER, pp 484–497

  42. Pedrinaci C, Domingue J (2010) Toward the next wave of services: linked services for the web of data. J UCS 16(13):1694–1719

    Google Scholar 

  43. Petropoulos M, Deutsch A, Papakonstantinou Y, Katsis Y (2007) Exporting and interactively querying web service-accessed sources: the CLIDE system. ACM Trans Database Syst 32(4):22

    Article  Google Scholar 

  44. Polleres A, Scharffe F, Schindlauer R (2007) SPARQL++ for mapping between RDF vocabularies. In: OTM, pp 878–896

  45. Popa L, Velegrakis Y, Miller RJ, Hernández MA, Fagin R (2002) Translating web data. In: VLDB, pp 598–609

  46. Prud’hommeaux E, Seaborne A (2008) SPARQL query language for RDF. Technical report, W3C. http://www.w3.org/TR/rdf-sparql-query/

  47. Qin H, Dou D, LePendu P (2007) Discovering executable semantic mappings between ontologies. In: ODBASE, pp 832–849

  48. Raffio A, Braga D, Ceri S, Papotti P, Hernández MA (2008) Clip: A visual language for explicit schema mappings. In: ICDE, pp 30–39

  49. Rahm E, Bernstein PA (2001) A survey of approaches to automatic schema matching. VLDB J 10(4): 334–350

    Google Scholar 

  50. Ressler J, Dean M, Benson E, Dorner E, Morris C (2007) Application of ontology translation. In: ISWC, pp 830–842

  51. Rivero CR, Hernández I, Ruiz D, Corchuelo R (2011a) Generating SPARQL executable mappings to integrate ontologies. In: ER, pp 118–131

  52. Rivero CR, Hernández I, Ruiz D, Corchuelo R (2011b) Mosto: Generating SPARQL executable mappings between ontologies. In: ER, pp 345–348

  53. Rivero CR, Hernández I, Ruiz D, Corchuelo R (2011c) On benchmarking data translation systems for semantic-web ontologies. In: CIKM, pp 1613–1618

  54. Rivero CR, Hernández I, Ruiz D, Corchuelo R (2012) Benchmarking data exchange amongst semantic-web ontologies. IEEE Trans Knowl Data Eng PP(99). doi:10.1109/TKDE.2012.175

  55. Rivero CR, Ruiz D, Corchuelo R (2011d) Automatic generation of executable mappings: a semantic-web technologies approach. Technical report TDG-247, University of Sevilla. http://www.tdg-seville.info/Download.ashx?id=247

  56. Serafini L, Tamilin A (2007) Instance migration in heterogeneous ontology environments. In: ISWC, pp 452–465

  57. Shadbolt N, Berners-Lee T, Hall W (2006) The semantic web revisited. IEEE Intell Syst 21(3):96–101

    Article  Google Scholar 

Download references

Acknowledgments

We would like to thank Dr. Alberto Pan, Dr. Paolo Papotti and Dr. Carlos Pedrinaci for their helpful suggestions on an earlier draft of this article. We also thank our reviewers for their insightful and valuable comments, which helped us improve the paper significantly. The work on which we report was supported by the European Commission (FEDER), the Spanish and the Andalusian R&D&I programmes (grants TIN2007-64119, P07-TIC-2602, P08-TIC-4100, TIN2008-04718-E, TIN2010-21744, TIN2010-09809-E, TIN2010-10811-E, TIN2010-09988-E, and TIN2011-15497-E).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos R. Rivero.

Subset of the OWL 2 Lite profile

Subset of the OWL 2 Lite profile

The OWL 2 Lite profile specification provides a number of constructs that are classified into the following groups [6]: RDFS features, equality, restricted cardinality, property characteristics, general property restrictions, class intersection and meta-information. We analyse them in the following paragraphs. The conclusion is that out of the 43 constructs, the only ones with which our proposal cannot deal are zero-cardinality restrictions, general property restrictions and intersection of classes and restrictions. Our experience proves that this does not hinder its practical applicability since the constructs with which we cannot deal are not so common in real-world applications [21].

RDFS features: This group includes \(owl{:}Class,\,rdfs{:}subClassOf,\,rdf{:}Property,\,rdfs{:}subPropertyOf,\,rdfs{:}domain,\,rdfs{:}range\), and \(owl{:}Individual\). The only one that our proposal ignores is \(owl{:}Individual\), since individuals are retrieved or constructed by means of the executable mappings we generate, but need not be dealt with explicitly in our proposal.

Equality and inequality: The constructs of this group are \(owl{:}equivalentClass,\,owl{:}equivalentProperty,\,owl{:}sameAs,\,owl{:}differentFrom,\,owl{:}AllDifferent\), and \(owl{:}distinctMembers\). The first two constructs need not be dealt with explicitly, since they are actually abbreviations. If an ontology contains a triple of the form \((c_1, owl{:}equivalentClass, c_2)\), it can be replaced by the following triples, with which we can deal natively:

$$\begin{aligned} \begin{array}{lll} (c_1,&rdfs{:}subClassOf,&c_2) \\ (c_2,&rdfs{:}subClassOf,&c_1) \end{array} \end{aligned}$$

Similarly, if it contains a triple of the form \((p_1, owl{:}equivalentProperty, p_2)\), we may replace it by the following triples, with which we can also deal natively:

$$\begin{aligned} \begin{array}{lll} (p_1,&rdfs{:}subPropertyOf,&p_2) \\ (p_2,&rdfs{:}subPropertyOf,&p_1) \end{array} \end{aligned}$$

The remaining constructs in this category deal with individuals; thus, we may ignore them for data exchange purposes.

Restricted cardinality: The constructs in this group allow to restrict the cardinality of a property, namely: \(owl{:}minCardinality,\,owl{:}maxCardinality\) and \(owl{:}cardinality\).

The \(owl{:}minCardinality\) construct can restrict the minimum cardinality of a property \(p\) with respect to a class \(c\) to be zero as follows:

$$\begin{aligned} \begin{array}{l} (c, rdfs{:}subClassOf, \_{:}x) \\ (\_{:}x, rdf{:}type, owl{:}Restriction) \\ (\_{:}x, owl{:}minCardinality, \text{`}0\text{'}\hat{~}\hat{~}xsd{:}int) \\ (\_{:}x, owl{:}onProperty, p) \end{array} \end{aligned}$$

Note that, by default, all data and object properties have a minimum cardinality of zero. Therefore, it does not require any special treatment. Similarly, construct \(owl{:}minCardinality\) can restrict the minimum cardinality of a property \(p\) with respect to a class \(c\) to be one as follows:

$$\begin{aligned} \begin{array}{l} (c, rdfs{:}subClassOf, \_{:}x) \\ (\_{:}x, rdf{:}type, owl{:}Restriction) \\ (\_{:}x, owl{:}minCardinality, \text{`}1\text{'}\hat{~}\hat{~}xsd{:}int) \\ (\_{:}x, owl{:}onProperty, p) \end{array} \end{aligned}$$

The previous set of triples can be replaced by \((c, mosto{:}strongDomain, p)\), if property \(p\) has class \(c\) as domain, or by \((c, mosto{:}strongRange, p)\), if property \(p\) has class \(c\) as range.

Construct \(owl{:}maxCardinality\) can be used to restrict the maximum cardinality of a property to zero or one. In the former case, the property is annulated, which is a case with which our proposal cannot deal; we, however, have not found this to be a practical limitation since it is not common at all to annulate a property. The later case is the default in the OWL 2 Lite profile; thus, it does not require a special treatment.

Construct \(owl{:}cardinality\) is a shorthand to combine the previous constructs; thus, neither does it require special treatment.

Property characteristics: This group includes constructs \(owl{:}ObjectProperty\) and \(owl{:}DatatypeProperty\), with which we deal natively; \(owl{:}TransitiveProperty\) must actually be dealt with by a semantic-web reasoner, that is, we can assume that their semantics have been made explicit before using our technique; the rest of constructs are shorthands, namely: \(owl{:}inverseOf,\,owl{:}SymmetricProperty,\,owl{:}FunctionalProperty\), and \(owl{:}InverseFunctionalProperty\).

If an ontology contains a subset of triples of the form:

$$\begin{aligned} \begin{array}{l} (p_1, rdfs{:}domain, c_1) \\ (p_1, rdfs{:}range, c_2) \\ (p_1, owl{:}inverseOf, p_2) \end{array} \end{aligned}$$

we can transform them into the following triples, with which we can deal natively:

$$\begin{aligned} \begin{array}{l} (p_2, rdfs{:}domain, c_2) \\ (p_2, rdfs{:}range, c_1) \end{array} \end{aligned}$$

Furthermore, we can transform \((p, rdf{:}type, owl{:}SymmetricProperty)\) into a triple of the form \((p, owl{:}inverseOf, p)\). Similarly, we can transform a triple of the form \((p, rdf{:}type, owl{:}FunctionalProperty)\) into the following triples before using our technique:

$$\begin{aligned} \begin{array}{l} (\_{:}x, rdf{:}type, owl{:}Restriction) \\ (\_{:}x, owl{:}minCardinality, \text{`}0\text{'}\hat{~}\hat{~}xsd{:}int) \\ (\_{:}x, owl{:}maxCardinality, \text{`}1\text{'}\hat{~}\hat{~}xsd{:}int) \\ (\_{:}x, owl{:}onProperty, p) \end{array} \end{aligned}$$

Finally, if we find a subset of triples of the form:

$$\begin{aligned} \begin{array}{l} (p_1, owl{:}inverseOf, p_2) \\ (p_2, rdf{:}type, owl{:}InverseFunctionalProperty) \end{array} \end{aligned}$$

we can transform it into the following triples before applying our technique:

$$\begin{aligned} \begin{array}{lll} (p_1,&rdf{:}type,&owl{:}FunctionalProperty) \\ (p_2,&rdf{:}type,&owl{:}FunctionalProperty) \end{array} \end{aligned}$$

General property restrictions: This group includes a number of constructors that allow to express general constraints on properties, namely: \(owl{:}Restriction,\,owl{:}onProperty,\,owl{:}allValuesFrom\) and \(owl{:}someValuesFrom\). We cannot deal with these constructs in a general problem, but only in the cases that we have mentioned in the previous paragraphs, that is, functional properties and cardinality restrictions.

Class intersection: This group includes a single construct: \(owl{:}intersectionOf\). We cannot deal with these constructs.

Meta-information: This category comprises three groups of constructs in the OWL 2 Lite profile, namely: header information, versioning and annotation types. They include constructs like \(owl{:}Ontology,\,owl{:}imports,\,owl{:}versionInfo\) or \(owl{:}backwardCompatibleWith\), to mention a few. They provide meta-information about an ontology, which make them irrelevant for data exchange purposes.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rivero, C.R., Hernández, I., Ruiz, D. et al. Exchanging Data amongst Linked Data applications. Knowl Inf Syst 37, 693–729 (2013). https://doi.org/10.1007/s10115-012-0587-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10115-012-0587-5

Keywords

Navigation