Design and Analysis of a Query Processor for Brick

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].

[1]  David E. Culler,et al.  Design and analysis of a query processor for brick , 2017, BuildSys@SenSys.

[2]  Mani Srivastava,et al.  Brick: Towards a Unified Metadata Schema For Buildings , 2016, BuildSys@SenSys.

[3]  David E. Culler,et al.  BTrDB: Optimizing Storage System Design for Timeseries Processing , 2016, FAST.

[4]  Brian W. Kernighan,et al.  The Go Programming Language , 2015 .

[5]  D. Culler,et al.  Short Paper: Analyzing Metadata Schemas for Buildings: The Good, the Bad, and the Ugly , 2015, BuildSys@SenSys.

[6]  Marko A. Rodriguez,et al.  The Gremlin graph traversal machine and language (invited talk) , 2015, DBPL.

[7]  Sila Kiliccote,et al.  Field Experience with and Potential for Multi-time Scale Grid Transactions from Responsive Commercial Buildings: , 2014 .

[8]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[9]  Kesheng Wu,et al.  Massive-Scale RDF Processing Using Compressed Bitmap Indexes , 2011, SSDBM.

[10]  Amit P. Sheth,et al.  Linked sensor data , 2010, 2010 International Symposium on Collaborative Technologies and Systems.

[11]  Jens Lehmann,et al.  RelFinder: Revealing Relationships in RDF Knowledge Bases , 2009, SAMT.

[12]  Jens Lehmann,et al.  DBpedia - A crystallization point for the Web of Data , 2009, J. Web Semant..

[13]  Prabhat,et al.  FastBit: interactively searching massive data , 2009 .

[14]  Christian Bizer,et al.  The Berlin SPARQL Benchmark , 2009, Int. J. Semantic Web Inf. Syst..

[15]  Georg Lausen,et al.  SP^2Bench: A SPARQL Performance Benchmark , 2008, 2009 IEEE 25th International Conference on Data Engineering.

[16]  Gerhard Weikum,et al.  RDF-3X: a RISC-style engine for RDF , 2008, Proc. VLDB Endow..

[17]  Jans Aasman Unification of geospatial reasoning, temporal logic, & social network analysis in event-based systems , 2008, DEBS.

[18]  Dave Reynolds,et al.  SPARQL basic graph pattern optimization using selectivity estimation , 2008, WWW.

[19]  Amit P. Sheth,et al.  RDF data exploration and visualization , 2007, CIMS '07.

[20]  Orri Erling,et al.  RDF Support in the Virtuoso DBMS , 2007, CSSW.

[21]  Flavius Frasincar,et al.  Adapting Graph Visualization Techniques for the Visualization of RDF Data , 2006, Visualizing the Semantic Web, 2nd Edition.

[22]  Andreas Harth,et al.  Optimized index structures for querying RDF from the Web , 2005, Third Latin American Web Congress (LA-WEB'2005).

[23]  Frank van Harmelen,et al.  Web Ontology Language: OWL , 2004, Handbook on Ontologies.

[24]  Craig Peter Sayers,et al.  Node-centric RDF Graph Visualization , 2004 .

[25]  Stefan Decker,et al.  Creating Semantic Web Contents with Protégé-2000 , 2001, IEEE Intell. Syst..

[26]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[27]  Jakob Nielsen,et al.  Chapter 4 – The Usability Engineering Lifecycle , 1993 .

[28]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.