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

Yuhan Sun, Mohamed Elsayed

Research output: Contribution to journalArticle

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)
JournalGeoInformatica
DOIs
StatePublished - Jan 1 2019

Fingerprint

Titan
spatial data
Data structures
Global positioning system
GPS
social media
Semantics
semantics
experiment
Experiments
management
attribute
time

Keywords

  • Graph database
  • Spatial data
  • Spatial index

ASJC Scopus subject areas

  • Information Systems
  • Geography, Planning and Development

Cite this

A spatially-pruned vertex expansion operator in the Neo4j graph database system. / Sun, Yuhan; Elsayed, Mohamed.

In: GeoInformatica, 01.01.2019.

Research output: Contribution to journalArticle

@article{f183f98da68d478da063008896ea32ac,
title = "A spatially-pruned vertex expansion operator in the Neo4j graph database system",
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.",
keywords = "Graph database, Spatial data, Spatial index",
author = "Yuhan Sun and Mohamed Elsayed",
year = "2019",
month = "1",
day = "1",
doi = "10.1007/s10707-019-00361-2",
language = "English (US)",
journal = "GeoInformatica",
issn = "1384-6175",
publisher = "Kluwer Academic Publishers",

}

TY - JOUR

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

AU - Sun, Yuhan

AU - Elsayed, Mohamed

PY - 2019/1/1

Y1 - 2019/1/1

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

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

KW - Graph database

KW - Spatial data

KW - Spatial index

UR - http://www.scopus.com/inward/record.url?scp=85067011522&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85067011522&partnerID=8YFLogxK

U2 - 10.1007/s10707-019-00361-2

DO - 10.1007/s10707-019-00361-2

M3 - Article

JO - GeoInformatica

JF - GeoInformatica

SN - 1384-6175

ER -