A spatially-pruned vertex expansion operator in the Neo4j graph database system

Yuhan Sun, Mohamed Sarwat

Research output: Contribution to journalArticle

1 Scopus citations

Abstract

Graphs are widely used to model data in many application domains. Thanks to the wide spread use of GPS-enabled devices, many applications assign spatial attributes to graph vertexes (e.g., geographic knowledge bases, geo-tagged social media). Graph database systems such as Neo4j and Titan are commonly used to manage and query graph data. Even though an off-the-shelf graph database system allows users to define spatial location semantics on vertexes and edges, existing graph query processors are not natively optimized for spatial predicates. The paper proposes GeoExpand—a query operator that adds spatial data awareness to a graph database management system. GeoExpand allows efficient execution of graph queries that involve spatial predicates. The proposed operator makes use of spatial bitmap entries stored as properties in the graph. GeoExpand leverages such bitmap entries to possibly terminate the graph traversal process early and hence reduces the query latency. Since the spatial bitmap entries are represented using a light-weight data structure, they do not add a lot of storage or maintenance overhead. That makes GeoExpand a practical solution. Experiments based on implementation inside the core kernel of Neo4j prove that the GeoExpand operator exhibits up to two orders of magnitude better query response time than the classic Expand operator used in Neo4j.

Original languageEnglish (US)
Pages (from-to)397-423
Number of pages27
JournalGeoInformatica
Volume23
Issue number3
DOIs
StatePublished - Jul 15 2019

Keywords

  • Graph database
  • Spatial data
  • Spatial index

ASJC Scopus subject areas

  • Information Systems
  • Geography, Planning and Development

Fingerprint Dive into the research topics of 'A spatially-pruned vertex expansion operator in the Neo4j graph database system'. Together they form a unique fingerprint.

  • Cite this