A Neighborhood Encoding for Subgraph Queries in Graph Databases
Résumé
Subgraph isomorphism search is a fundamental problem in querying graph-like structured data. It consists to enumerate the subgraphs of a data graph that match a query graph. It is an NP-complete problem that knows several investigations. Most of them extend Ullmann's backtracking algorithm and rely on filtering and pruning mechanisms to reduce the search space. Most of these solutions focus on how to alleviate the searching step of the algorithm, identified as the most costly part, with various techniques and data structures. However, little effort is devoted to reduce the cost of the filtering step.
In this paper, we take a completely different approach that relies on a constant time pruning mechanism while keeping Ullman's backtracking subgraph search subroutine. The main idea is to aggregate the semantic and topological information that surround a vertex into a simple integer. This simple neighbourhood encoding reduces the time complexity of vertex filtering from cubic to quadratic. We evaluate our approach on several real-word datasets and compare it with the state of the art algorithms.