skip to main content
research-article

Design and Analysis of a Query Processor for Brick

Published:27 November 2018Publication History
Skip Abstract Section

Abstract

Brick is a recently proposed metadata schema and ontology for describing building components and the relationships between them. It represents buildings as directed labeled graphs using the RDF data model. Using the SPARQL query language, building-agnostic applications query a Brick graph to discover the set of resources and relationships they require to operate. Latency-sensitive applications, such as user interfaces, demand response, and model-predictive control, require fast queries—conventionally less than 100ms.

We benchmark a set of popular open source and commercial SPARQL databases against three real Brick models using seven application queries and find that none of them meet this performance target. This lack of performance can be attributed to design decisions that optimize for queries over large graphs consisting of billions of triples but give poor spatial locality and join performance on the small dense graphs typical of Brick. We present the design and evaluation of HodDB, a RDF/SPARQL database for Brick built over a node-based index structure. HodDB performs Brick queries 3--700× faster than leading SPARQL databases and consistently meets the 100ms threshold, enabling the portability of important latency-sensitive building applications.

This article is an extension of a previously published work [16].

References

  1. RDF Concepts Namespace. 1999. Retrieved from http://www.w3.org/1999/02/22-rdf-syntax-ns#.Google ScholarGoogle Scholar
  2. RDF Schema Namespace. 2000. Retrieved from https://www.w3.org/2000/01/rdf-schema#.Google ScholarGoogle Scholar
  3. The Go Programming Language. 2017. Retrieved from https://golang.org/.Google ScholarGoogle Scholar
  4. Jans Aasman. 2008. Unification of geospatial reasoning, temporal logic, 8 social network analysis in event-based systems. In Proceedings of the Second International Conference on Distributed Event-Based Systems. ACM, 139--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Michael P. Andersen and David E. Culler. 2016. BTrDB: Optimizing storage system design for timeseries processing. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Grigoris Antoniou and Frank Van Harmelen. 2004. Web ontology language: Owl. In Handbook on Ontologies. Springer, 67--92.Google ScholarGoogle Scholar
  7. Bharathan Balaji, Arka Bhattacharya, Gabriel Fierro, Jingkun Gao, Joshua Gluck, Dezhi Hong, Aslak Johansen, Jason Koh, Joern Ploennigs, Yuvraj Agarwal, et al. 2016. Brick: Towards a unified metadata schema for buildings. In Proceedings of the ACM International Conference on Embedded Systems for Energy-Efficient Built Environments (BuildSys’16). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. David Beckett, T. Berners-Lee, E. Prud’hommeaux, and G. Carothers. 2014. RDF 1.1 Turtle. In Proceedings of the World Wide Web Consortium (2014).Google ScholarGoogle Scholar
  9. Arka Bhattacharya, Joern Ploennigs, and David Culler. 2015. Short paper: Analyzing metadata schemas for buildings: The good, the bad, and the ugly. In Proceedings of the 2nd ACM International Conference on Embedded Systems for Energy-Efficient Built Environments. ACM, 33--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Christian Bizer, Jens Lehmann, Georgi Kobilarov, Sören Auer, Christian Becker, Richard Cyganiak, and Sebastian Hellmann. 2009. DBpedia-A crystallization point for the web of data. Web Semant. 7, 3 (2009), 154--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Christian Bizer and Andreas Schultz. 2009. The berlin sparql benchmark. Retrieved from http://wifo5-03.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/.Google ScholarGoogle Scholar
  12. Cayleygraph. 2017. Cayley. Retrieved from https://cayley.io.Google ScholarGoogle Scholar
  13. Leonidas Deligiannidis, Krys J. Kochut, and Amit P. Sheth. 2007. RDF data exploration and visualization. In Proceedings of the ACM 1st Workshop on CyberInfrastructure: Information Management in eScience. ACM, 39--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Inc Dgraph Labs. 2017. Dgraph. Retrieved from https://dgraph.io/index.html.Google ScholarGoogle Scholar
  15. Orri Erling and Ivan Mikhailov. 2009. RDF support in the Virtuoso DBMS. In Networked Knowledge-Networked Media. Springer, 7--24.Google ScholarGoogle Scholar
  16. Gabriel Fierro and David E. Culler. 2017. Design and analysis of a query processor for brick. In Proceedings of the ACM International Conference on Embedded Systems for Energy-Efficient Built Environments (BuildSys’17). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Franz Inc. 2017. AllegroGraph: Semantic Graph Database. Retrieved from https://allegrograph.com/allegrograph/.Google ScholarGoogle Scholar
  18. Flavius Frasincar, Alexandru Telea, and Geert-Jan Houben. 2006. Adapting graph visualization techniques for the visualization of RDF data. In Visualizing the Semantic Web. Springer, 154--171.Google ScholarGoogle Scholar
  19. Sadayuki Furuhashi. 2017. MessagePack: It’s like JSON. but fast and small, 2014. Retrieved from http://msgpack.org (2017).Google ScholarGoogle Scholar
  20. Google Inc. 2017. Badwolf. Retrieved from https://google.github.io/badwolf/.Google ScholarGoogle Scholar
  21. Steve Harris, Andy Seaborne, and Eric Prud’hommeaux. 2013. SPARQL 1.1 query language. W3C Recommend. 21, 10 (2013).Google ScholarGoogle Scholar
  22. Andreas Harth and Stefan Decker. 2005. Optimized index structures for querying rdf from the web. In Proceedings of the 3rd Latin American Web Congress (LA-WEB’05). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Philipp Heim, Sebastian Hellmann, Jens Lehmann, Steffen Lohmann, and Timo Stegemann. 2009. RelFinder: Revealing relationships in RDF knowledge bases. In International Conference on Semantic and Digital Media Technologies. Springer, 182--187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Ora Lassila and Ralph R. Swick. 1999. Resource Description Framework (RDF) Model and Syntax Specification. Recommendation 22 February 1999 REC-rdf-syntax-19990222. W3C, Cambridge, MA. http://www.w3.org/TR/REC-rdf-syntax/.Google ScholarGoogle Scholar
  25. Kamesh Madduri and Kesheng Wu. 2011. Massive-scale RDF processing using compressed bitmap indexes. In Proceedings of the International Conference on Scientific and Statistical Database Management. Springer, 470--479. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Dirk Merkel. 2014. Docker: Lightweight linux containers for consistent development and deployment. Linux J. 2014, 239 (2014), 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. George A. Miller. 1995. WordNet: A lexical database for English. Commun. ACM 38, 11 (1995), 39--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mohamed Morsey, Jens Lehmann, Sören Auer, and Axel-Cyrille Ngonga Ngomo. 2011. DBpedia SPARQL benchmark--performance assessment with real queries on real data. In International Semantic Web Conference. Springer, 454--469. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Neo Technology Inc. 2017. Neo4j. Retrieved from https://neo4j.com/.Google ScholarGoogle Scholar
  30. Thomas Neumann and Gerhard Weikum. 2008. RDF-3X: A RISC-style engine for RDF. Proc. VLDB Endow. 1, 1 (2008), 647--659. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Jakob Nielsen. 1994. Usability Engineering. Elsevier.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Natalya F. Noy, Michael Sintek, Stefan Decker, Monica Crubézy, Ray W. Fergerson, and Mark A. Musen. 2001. Creating semantic web contents with protege-2000. IEEE Intell. Syst. 16, 2 (2001), 60--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Harshal Patni, Cory Henson, and Amit Sheth. 2010. Linked sensor data. In Proceedings of the 2010 International Symposium on Collaborative Technologies and Systems (CTS’10). IEEE, 362--370.Google ScholarGoogle ScholarCross RefCross Ref
  34. Mary Ann Piette, Sila Kiliccote, and Girish Ghatikar. 2014. Field experience with and potential for multi-time scale grid transactions from responsive commercial buildings. In ACEEE Summer Study on Energy Efficiency in Buildings. Asilomar Convention Center, Pacific Grove, CA.Google ScholarGoogle Scholar
  35. Eric Prud'hommeaux and Andy Seaborne. SPARQL Query Language for RDF. Technical Report. http://www.w3.org/TR/rdf-sparql-query/.Google ScholarGoogle Scholar
  36. Marko A. Rodriguez. 2015. The gremlin graph traversal machine and language (invited talk). In Proceedings of the 15th Symposium on Database Programming Languages. ACM, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Craig Sayers. 2004. Node-centric rdf graph visualization. http://www.hpl.hp.com/techreports/2004/HPL-2004-60.pdf.Google ScholarGoogle Scholar
  38. Michael Schmidt, Thomas Hornung, Georg Lausen, and Christoph Pinkel. 2009. SP2Bench: A SPARQL performance benchmark. In Proceedings of the IEEE 25th International Conference on Data Engineering (ICDE’09). IEEE, 222--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. OpenLink Software. 2017. Virtuoso. Retrieved from https://virtuoso.openlinksw.com/download/.Google ScholarGoogle Scholar
  40. Markus Stocker, Andy Seaborne, Abraham Bernstein, Christoph Kiefer, and Dave Reynolds. 2008. SPARQL basic graph pattern optimization using selectivity estimation. In Proceedings of the 17th International Conference on World Wide Web. ACM, 595--604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. SYSTAP, LLC. 2017. Bigdata Database Architecture Whitepaper. Retrieved from https://www.blazegraph.com/whitepapers/bigdata_architecture_whitepaper.pdf.Google ScholarGoogle Scholar
  42. SYSTAP, LLC. 2017. blazegraph. Retrieved from https://www.blazegraph.com/.Google ScholarGoogle Scholar
  43. The Apache Software Foundation. 2017. A free and open source Java framework for building semantic web and linked data applications. Retrieved from https://jena.apache.org/ (2017).Google ScholarGoogle Scholar
  44. The Apache Software Foundation. 2017. High performance Triple Datastore. Retrieved from https://jena.apache.org/documentation/tdb/.Google ScholarGoogle Scholar
  45. The RDFLib Team. 2017. RDFLib. Retrieved from https://rdflib.readthedocs.io/en/stable/.Google ScholarGoogle Scholar
  46. TopQuadrant. 2017. TopBraid Live. Retrieved from http://www.topquadrant.com/products/topbraid-live/.Google ScholarGoogle Scholar
  47. Kesheng Wu, Sean Ahern, E. Wes Bethel, Jacqueline Chen, Hank Childs, Estelle Cormier-Michel, Cameron Geddes, Junmin Gu, Hans Hagen, Bernd Hamann, et al. 2009. FastBit: Interactively searching massive data. In Journal of Physics: Conference Series, Vol. 180. IOP Publishing, 012053.Google ScholarGoogle Scholar

Index Terms

  1. Design and Analysis of a Query Processor for Brick

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Sensor Networks
          ACM Transactions on Sensor Networks  Volume 14, Issue 3-4
          Special Issue on BuildSys'17
          November 2018
          392 pages
          ISSN:1550-4859
          EISSN:1550-4867
          DOI:10.1145/3294070
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 27 November 2018
          • Accepted: 1 March 2018
          • Received: 1 January 2018
          Published in tosn Volume 14, Issue 3-4

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader