Skip to main content
Log in

The RDF-3X engine for scalable management of RDF data

  • Special Issue Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

RDF is a data model for schema-free structured information that is gaining momentum in the context of Semantic-Web data, life sciences, and also Web 2.0 platforms. The “pay-as-you-go” nature of RDF and the flexible pattern-matching capabilities of its query language SPARQL entail efficiency and scalability challenges for complex queries including long join paths. This paper presents the RDF-3X engine, an implementation of SPARQL that achieves excellent performance by pursuing a RISC-style architecture with streamlined indexing and query processing. The physical design is identical for all RDF-3X databases regardless of their workloads, and completely eliminates the need for index tuning by exhaustive indexes for all permutations of subject-property-object triples and their binary and unary projections. These indexes are highly compressed, and the query processor can aggressively leverage fast merge joins with excellent performance of processor caches. The query optimizer is able to choose optimal join orders even for complex queries, with a cost model that includes statistical synopses for entire join paths. Although RDF-3X is optimized for queries, it also provides good support for efficient online updates by means of a staging architecture: direct updates to the main database indexes are deferred, and instead applied to compact differential indexes which are later merged into the main indexes in a batched manner. Experimental studies with several large-scale datasets with more than 50 million RDF triples and benchmark queries that include pattern matching, manyway star-joins, and long path-joins demonstrate that RDF-3X can outperform the previously best alternatives by one or two orders of magnitude.

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.

Similar content being viewed by others

References

  1. Abadi, D.J., Marcus, A., Madden, S., Hollenbach, K.J.: Scalable semantic web data management using vertical partitioning. In: VLDB, pp. 411–422 (2007)

  2. Alexaki, S., Christophides, V., Karvounarakis, G., Plexousakis, D., Tolle, K.: The ICS-FORTH RDFSuite: Managing voluminous RDF description bases. In: SemWeb (2001)

  3. Anyanwu, K., Maduko, A., Sheth, A.P.: SPARQ2L: towards support for subgraph extraction queries in rdf databases. In: WWW, pp. 797–806 (2007)

  4. Auer, S., Bizer, C., Kobilarov, G., Lehmann, J., Cyganiak, R., Ives, Z.G.: Dbpedia: a nucleus for a web of open data. In: ISWC/ASWC, pp. 722–735 (2007)

  5. Bayardo, R.J., Jr.: Efficiently mining long patterns from databases. In: SIGMOD, pp. 85–93 (1998)

  6. Baolin, L., Bo, H.: Path queries based RDF index (2005)

  7. Baolin, L., Bo, H.: HPRD: A high performance RDF database. In: NPC, pp. 364–374 (2007)

  8. BioPAX: Biological Pathways Exchange. http://www.biopax.org/

  9. Broekstra, J., Kampman, A., van Harmelen, F.: Sesame: an architecture for storing and querying RDF data and schema information. In: Spinning the Semantic Web, pp. 197–222 (2003)

  10. C-Store. http://db.csail.mit.edu/projects/cstore/

  11. Chaudhuri F., Shim K.: Optimization of queries with user-defined predicates. ACM Trans. Database Syst. 24(2), 177–228 (1999)

    Article  Google Scholar 

  12. Chaudhuri, S., Weikum, G.: Rethinking database system architecture: towards a self-tuning RISC-style database system. In: VLDB, pp. 1–10 (2000)

  13. Chong, E.I., Das, S., Eadon, G., Srinivasan, J.: An efficient SQL-based RDF querying scheme. In: VLDB, pp. 1216–1227 (2005)

  14. Chu, E., Beckmann, J.L., Naughton, J.F.: The case for a wide-table approach to manage sparse relational data sets. In: SIGMOD, pp. 821–832 (2007)

  15. DeHaan, D., Tompa, F.W.: Optimal top-down join enumeration. In: SIGMOD, pp. 785–796 (2007)

  16. den Bercken, J.V., Seeger, B.: An evaluation of generic bulk loading techniques. In: VLDB, pp. 461–470 (2001)

  17. Eickler, A., Gerlhof, C.A., Kossmann, D.: A performance evaluation of OID mapping techniques. In: Dayal, U., Gray, P.M.D., Nishio, S. (eds.) VLDB, pp. 18–29. Morgan Kaufmann (1995)

  18. Galindo-Legaria, C.A., Pellenkoft, A., Kersten, M.L.: Fast, randomized join-order selection—why use transformations? In: Bocca, J.B., Jarke, M., Zaniolo, C. (eds) VLDB, pp. 85–95. Morgan Kaufmann (1994)

  19. Getoor L., Diehl C.P.: Link mining: a survey. SIGKDD Explor. 7(2), 3–12 (2005)

    Article  Google Scholar 

  20. Graefe G.: Query evaluation techniques for large databases. ACM Comput. Surv. 25(2), 73–170 (1993)

    Article  Google Scholar 

  21. Halevy, A.Y., Franklin, M.J., Maier, D.: Principles of dataspace systems. In: PODS, pp. 1–9 (2006)

  22. Hart T.E., McKenney P.E., Brown A.D., Walpole J.: Performance of memory reclamation for lockless synchronization. J. Parall. Distrib. Comput. 67(12), 1270–1285 (2007)

    Google Scholar 

  23. Harth, A., Umbrich, J., Hogan, A., Decker, S.: YARS2: A federated repository for querying graph structured data from the web. In: ISWC/ASWC, pp. 211–224 (2007)

  24. Hartig, O., Heese, R.: The SPARQL query graph model for query optimization. In: ESWC, pp. 564–578 (2007)

  25. Hogan, A., Harth, A.: The ExpertFinder corpus 2007 for the benchmarking development of expert-finding systems. In: International ExpertFinder Workshop (2007)

  26. Huynh D., Mazzocchi S., Karger D.R.: Piggy bank: experience the semantic web inside your web browser. J. Web Sem. 5(1), 16–27 (2007)

    Google Scholar 

  27. ICS-FORTH RDF suite. http://athena.ics.forth.gr:9090/RDF/

  28. Jena: a Semantic Web Framework for Java. http://jena.sourceforge.net/

  29. Jermaine C.M., Omiecinski E., Yee W.G.: The partitioned exponential file for database storage management. VLDB J. 16(4), 417–437 (2007)

    Article  Google Scholar 

  30. Kersten, M., Siebes, A.P.: An organic database system. Technical report, CWI (1999)

  31. LibraryThing. http://www.librarything.com

  32. Lomet D.B., Salzberg B.: Concurrency and recovery for index trees. VLDB J. 6(3), 224–240 (1997)

    Article  Google Scholar 

  33. Maduko, A., Anyanwu, K., Sheth, A.P., Schliekelman, P.: Estimating the cardinality of RDF graph patterns. In: WWW, pp. 1233–1234 (2007)

  34. Maduko, A., Anyanwu, K., Sheth, A.P., Schliekelman, P.: Graph summaries for subgraph frequency estimation. In: ESWC, pp. 508–523 (2008)

  35. Moerkotte, G., Neumann, T.: Analysis of two existing and one new dynamic programming algorithm for the generation of optimal bushy join trees without cross products. In: VLDB, pp. 930–941 (2006)

  36. MonetDB. http://monetdb.cwi.nl/

  37. Muth P., O’Neil P.E., Pick A., Weikum G.: The LHAM log-structured history data access method. VLDB J. 8(3–4), 199–221 (2000)

    Google Scholar 

  38. Neumann, T., Moerkotte, G.: An efficient framework for order optimization. In: ICDE, pp. 461–472 (2004)

  39. Neumann T., Weikum G.: RDF-3X: a RISC-style engine for RDF. PVLDB 1(1), 647–659 (2008)

    Google Scholar 

  40. O’Neil P.E., Cheng E., Gawlick D., O’Neil E.J.: The log-structured merge-tree (LSM-tree). Acta Inf. 33(4), 351–385 (1996)

    Article  Google Scholar 

  41. OpenRDF. http://www.openrdf.org/index.jsp

  42. Oracle technical network, semantic technologies center. http://www.oracle.com/technology/tech/semantic_technologies/index.html

  43. RDF-3X. http://www.mpi-inf.mpg.de/~neumann/rdf3x

  44. RDFizers. http://simile.mit.edu/wiki/RDFizers

  45. Schmidt, M., Hornung, T., Knchlin, N., Lausen, G., Pinkel, C.: An experimental comparison of RDF data management approaches in a SPARQL benchmark scenario. In: International Semantic Web Conference, pp. 82–97 (2008)

  46. Scholer, F., Williams, H.E., Yiannis, J., Zobel, J.: Compression of inverted indexes for fast query evaluation. In: SIGIR, pp. 222–229 (2002)

  47. Sears R., Callaghan M., Brewer E.: Rose: compressed, log-structured replication. PVLDB 1(1), 526–537 (2008)

    Google Scholar 

  48. Selinger, P.G., Astrahan, M.M., Chamberlin, D.D., Lorie, R.A., Price, T.G.: Access path selection in a relational database management system. In: Bernstein, P.A. (ed.) SIGMOD, pp. 23–34. ACM (1979)

  49. Semantic web challenge. http://challenge.semanticweb.org

  50. Sidirourgos L., Goncalves R., Kersten M.L., Nes N., Manegold S.: Column-store support for RDF data management: not all swans are white. PVLDB 1(2), 1553–1563 (2008)

    Google Scholar 

  51. Simmen, D.E., Shekita, E.J., Malkemus, T.: Fundamental techniques for order optimization. In: SIGMOD, pp. 57–67 (1996)

  52. Steinbrunn, M., Peithner, K., Moerkotte, G., Kemper, A.: Bypassing joins in disjunctive queries. In: Dayal, U., Gray, P.M.D., Nishio, S. (eds.) VLDB, pp. 228–238. Morgan Kaufmann (1995)

  53. Stocker, M., Seaborne, A., Bernstein, A., Kiefer, C., Reynolds, D.: Sparql basic graph pattern optimization using selectivity estimation. In: WWW, New York, NY, USA, April 2008. ACM Press, to appear

  54. Stonebraker, M., Bear, C., Çetintemel, U., Cherniack, M., Ge, T., Hachem, N., Harizopoulos, S., Lifter, J., Rogers, J., Zdonik, S.B.: One size fits all? part 2: Benchmarking studies. In: CIDR, pp. 173–184 (2007)

  55. Suchanek F.M., Kasneci G., Weikum G.: Yago: a large ontology from wikipedia and wordNet. J. Web Sem. 6(3), 203–217 (2008)

    Google Scholar 

  56. Theoharis, Y., Christophides, V., Karvounarakis, G.: Benchmarking database representations of rdf/s stores. In: International Semantic Web Conference, pp. 685–701 (2005)

  57. Udrea, O., Pugliese, A., Subrahmanian, V.S.: GRIN: A graph based RDF index. In: AAAI, pp. 1465–1470 (2007)

  58. uniprot RDF. http://dev.isb-sib.ch/projects/uniprot-rdf/

  59. Vanetik, N., Gudes, E.: Mining frequent labeled and partially labeled graph patterns. In: ICDE, pp. 91–102 (2004)

  60. Weiss C., Karras P., Bernstein A.: Hexastore: sextuple indexing for semantic web data management. PVLDB 1(1), 1008–1019 (2008)

    Google Scholar 

  61. W3C: Resource Description Framework (RDF). http://www.w3.org/RDF/.

  62. W3C: SPARQL Query Language for RDF. http://www.w3.org/TR/rdf-sparql-query/

  63. Westmann T., Kossmann D., Helmer S., Moerkotte G.: The implementation and performance of compressed databases. SIGMOD Rec. 29(3), 55–67 (2000)

    Article  Google Scholar 

  64. Wilkinson, K., Sayers, C., Kuno, H.A., Reynolds, D.: Efficient RDF storage and retrieval in Jena2. In: SWDB, pp. 131–150 (2003)

  65. W3C: RDF/OWL representation of WordNet. http://www.w3.org/TR/wordnet-rdf/

  66. Yars2. http://sw.deri.org/svn/sw/2004/06/yars

  67. Zhu, F., Yan, X., Han, J., Yu, P.S.: gPrune: A constraint pushing framework for graph pattern mining. In: PAKDD, pp. 388–400 (2007)

  68. Zobel, J., Moffat, A.: Inverted files for text search engines. ACM Comput. Surv. 38(2). http://doi.acm.org/10.1145/1132956.1132959 (2006)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Neumann.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Neumann, T., Weikum, G. The RDF-3X engine for scalable management of RDF data. The VLDB Journal 19, 91–113 (2010). https://doi.org/10.1007/s00778-009-0165-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-009-0165-y

Keywords

Navigation