Advertisement

Comunica: A Modular SPARQL Query Engine for the Web

  • Ruben TaelmanEmail author
  • Joachim Van Herwegen
  • Miel Vander Sande
  • Ruben Verborgh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11137)

Abstract

Query evaluation over Linked Data sources has become a complex story, given the multitude of algorithms and techniques for single- and multi-source querying, as well as the heterogeneity of Web interfaces through which data is published online. Today’s query processors are insufficiently adaptable to test multiple query engine aspects in combination, such as evaluating the performance of a certain join algorithm over a federation of heterogeneous interfaces. The Semantic Web research community is in need of a flexible query engine that allows plugging in new components such as different algorithms, new or experimental SPARQL features, and support for new Web interfaces. We designed and developed a Web-friendly and modular meta query engine called Open image in new window that meets these specifications. In this article, we introduce this query engine and explain the architectural choices behind its design. We show how its modular nature makes it an ideal research platform for investigating new kinds of Linked Data interfaces and querying algorithms. Comunica facilitates the development, testing, and evaluation of new query processing capabilities, both in isolation and in combination with others.

Notes

Acknowledgements

The described research activities were funded by Ghent University, imec, Flanders Innovation & Entrepreneurship (AIO), and the European Union. Ruben Verborgh is a postdoctoral fellow of the Research Foundation - Flanders.

References

  1. 1.
    Harris, S., Seaborne, A., Prud’hommeaux, E.: SPARQL 1.1 Query Language. W3C (2013). https://www.w3.org/TR/2013/REC-sparql11-query-20130321/
  2. 2.
    Schmidt, M., Meier, M., Lausen, G.: Foundations of SPARQL query optimization. In: Proceedings of the 13th International Conference on Database Theory, pp. 4–33 (2010)Google Scholar
  3. 3.
    Stocker, M., Seaborne, A., Bernstein, A., Kiefer, C., Reynolds, D.: SPARQL basic graph pattern optimization using selectivity estimation. In: Proceedings of the 17th International Conference on World Wide Web, pp. 595–604 (2008)Google Scholar
  4. 4.
    Erling, O., Mikhailov, I.: RDF support in the virtuoso DBMS. In: Pellegrini, T., Auer, S., Tochtermann, K., Schaffert, S. (eds.) Networked Knowledge - Networked Media: Integrating Knowledge Management, New Media Technologies and Semantic Systems, vol. 221, pp. 7–24. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02184-8_2CrossRefGoogle Scholar
  5. 5.
    Cheng, J., Ma, Z.M., Yan, L.: f-SPARQL: a flexible extension of SPARQL. In: Bringas, P.G., Hameurlain, A., Quirchmayr, G. (eds.) DEXA 2010. LNCS, vol. 6261, pp. 487–494. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-15364-8_41CrossRefGoogle Scholar
  6. 6.
    Berners-Lee, T.: Linked Data (2009). https://www.w3.org/DesignIssues/LinkedData.html
  7. 7.
    Feigenbaum, L., Todd Williams, G., Grant Clark, K., Torres, E.: SPARQL 1.1 Protocol. W3C (2013). https://www.w3.org/TR/2013/REC-sparql11-protocol-20130321/
  8. 8.
    Verborgh, R., et al.: Triple pattern fragments: a low-cost knowledge graph interface for the web. J. Web Semantics 37(38), 184–206 (2016)CrossRefGoogle Scholar
  9. 9.
    Hartig, O.: An overview on execution strategies for Linked Data queries. Datenbank-Spektrum 13, 89–99 (2013)CrossRefGoogle Scholar
  10. 10.
    Van Herwegen, J., Verborgh, R., Mannens, E., Van de Walle, R.: Query execution optimization for clients of triple pattern fragments. In: Gandon, F., Sabou, M., Sack, H., d’Amato, C., Cudré-Mauroux, P., Zimmermann, A. (eds.) ESWC 2015. LNCS, vol. 9088, pp. 302–318. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-18818-8_19CrossRefGoogle Scholar
  11. 11.
    Vander Sande, M., Verborgh, R., Van Herwegen, J., Mannens, E., Van de Walle, R.: Opportunistic linked data querying through approximate membership metadata. In: Arenas, M., et al. (eds.) ISWC 2015. LNCS, vol. 9366, pp. 92–110. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-25007-6_6CrossRefGoogle Scholar
  12. 12.
    Van Herwegen, J., De Vocht, L., Verborgh, R., Mannens, E., Van de Walle, R.: Substring filtering for low-cost linked data interfaces. In: Arenas, M., et al. (eds.) ISWC 2015. LNCS, vol. 9366, pp. 128–143. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-25007-6_8CrossRefGoogle Scholar
  13. 13.
    Acosta, M., Vidal, M.-E.: Networks of linked data eddies: an adaptive web query processing engine for RDF data. In: Arenas, M., et al. (eds.) ISWC 2015. LNCS, vol. 9366, pp. 111–127. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-25007-6_7CrossRefGoogle Scholar
  14. 14.
    Hartig, O., Buil-Aranda, C.: Bindings-restricted triple pattern fragments. In: Debruyne, C. (ed.) OTM 2016. LNCS, vol. 10033, pp. 762–779. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-48472-3_48CrossRefGoogle Scholar
  15. 15.
    Taelman, R., Vander Sande, M., Verborgh, R., Mannens, E.: Versioned triple pattern fragments: a low-cost linked data interface feature for web archives. In: Proceedings of the 3rd Workshop on Managing the Evolution and Preservation of the Data Web (2017)Google Scholar
  16. 16.
    Folz, P., Skaf-Molli, H., Molli, P.: CyCLaDEs: a decentralized cache for triple pattern fragments. In: Sack, H., Blomqvist, E., d’Aquin, M., Ghidini, C., Ponzetto, S.P., Lange, C. (eds.) ESWC 2016. LNCS, vol. 9678, pp. 455–469. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-34129-3_28CrossRefGoogle Scholar
  17. 17.
    Taelman, R., Verborgh, R., Colpaert, P., Mannens, E.: Continuous client-side query evaluation over dynamic Linked Data. In: Sack, H., Rizzo, G., Steinmetz, N., Mladenić, D., Auer, S., Lange, C. (eds.) ESWC 2016. LNCS, vol. 9989, pp. 273–289. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47602-5_44CrossRefGoogle Scholar
  18. 18.
    Aasman, J.: AllegroGraph: RDF Triple Database, vol. 17. Oakland Franz Incorporated, Cidade (2006)Google Scholar
  19. 19.
    Thompson, B.B., Personick, M., Cutcher, M.: The Bigdata\({\textregistered }\) RDF graph database. In: Linked Data Management, pp. 193–237 (2014)Google Scholar
  20. 20.
    Erling, O., Mikhailov, I.: Virtuoso: RDF support in a native RDBMS. In: de Virgilio, R., Giunchiglia, F., Tanca, L. (eds.) Semantic Web Information Management, pp. 501–519. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-04329-1_21CrossRefGoogle Scholar
  21. 21.
  22. 22.
  23. 23.
  24. 24.
  25. 25.
    Verborgh, R., Dumontier, M.: A Web API ecosystem through feature-based reuse. CoRR. abs/1609.07108 (2016)Google Scholar
  26. 26.
    Lanthaler, M., Gütl, C.: Hydra: a vocabulary for hypermedia-driven web APIs. In: LDOW, vol. 996 (2013)Google Scholar
  27. 27.
    Taelman, R., Verborgh, R.: Declaratively describing responses of hypermedia-driven web APIs. In: Proceedings of the 9th International Conference on Knowledge Capture (2017)Google Scholar
  28. 28.
    Birman, K., Joseph, T.: Exploiting virtual synchrony in distributed systems. ACM (1987)Google Scholar
  29. 29.
    Hewitt, C., Bishop, P., Steiger, R.: Session 8 formalisms for artificial intelligence a universal modular actor formalism for artificial intelligence. In: Advance Papers of the Conference, p. 235. Stanford Research Institute (1973)Google Scholar
  30. 30.
    Gamma, E.: Design Patterns: Elements of Reusable Object-oriented Software. Pearson Education India, Delhi (1995)Google Scholar
  31. 31.
    Fowler, M.: Inversion of Control Containers and the Dependency Injection pattern (2004). https://martinfowler.com/articles/injection.html
  32. 32.
  33. 33.
    Van Herwegen, J., Taelman, R., Capadisli, S., Verborgh, R.: Describing configurations of software experiments as Linked Data. In: Proceedings of the 1st Workshop on Enabling Open Semantic Science (2017)Google Scholar
  34. 34.
    World Wide Web Consortium, et al.: JSON-LD 1.0: a JSON-based serialization for linked data (2014)Google Scholar
  35. 35.
    Grant Clark, K., Feigenbaum, L., Torres, E.: SPARQL 1.1 Query Results JSON Format. W3C (2013). https://www.w3.org/TR/2013/REC-sparql11-results-json-20130321/
  36. 36.
    Hawke, S.: SPARQL Query Results XML Format (Second Edition). W3C (2013). https://www.w3.org/TR/rdf-sparql-XMLres/
  37. 37.
    Prud’hommeaux, E., Seaborne, A.: SPARQL Query Language for RDF. W3C (2008). https://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/
  38. 38.
    Fernández, J.D., Martínez-Prieto, M.A., Gutiérrez, C., Polleres, A., Arias, M.: Binary RDF representation for publication and exchange (HDT). Web Semant. Sci. Serv. Agents World Wide Web 19, 22–41 (2013)CrossRefGoogle Scholar
  39. 39.
    Taelman, R., Vander Sande, M., Verborgh, R.: OSTRICH: versioned random-access triple store. In: Proceedings of the 27th International Conference Companion on World Wide Web (2018)Google Scholar
  40. 40.
    Aluç, G., Hartig, O., Özsu, M.T., Daudjee, K.: Diversified stress testing of RDF data management systems. In: Mika, P., et al. (eds.) ISWC 2014. LNCS, vol. 8796, pp. 197–212. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11964-9_13CrossRefGoogle Scholar
  41. 41.
    Facebook, Inc.: GraphQL. Working Draft, October 2016. http://facebook.github.io/graphql/October2016/

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Ruben Taelman
    • 1
    Email author
  • Joachim Van Herwegen
    • 1
  • Miel Vander Sande
    • 1
  • Ruben Verborgh
    • 1
  1. 1.Ghent University – imec – IDLabGhentBelgium

Personalised recommendations