RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2019 Volume 31, Issue 4, Pages 211–226 (Mi tisp449)

Path querying on acyclic graphs using Boolean grammars

E. N. Shemetovaa, S. V. Grigorevb

a Saint Petersburg National Research University of Information Technologies, Mechanics and Optics
b Saint Petersburg State University

Abstract: Graph data models are widely used in different areas of computer science such as bioinformatics, graph databases, social networks and static code analysis. One of the problems in graph data analysis is querying for specific paths. Such queries are usually performed by means of a formal grammar that describes the allowed edge-labeling of the paths. Path query is said to be calculated using relational query semantics if it is evaluated to triple $(A,v_1,v_2)$, such that there is a path from $v_1$ to $v_2$ such that the labels on the edges of this path form a string derivable from the nonterminal $A$. As the regular and context-free languages have limited expressive power, we focus on a more expressive languages, namely the Boolean languages that use Boolean grammars to describe the labeling of paths. Although path querying using relational query semantics and Boolean grammars is known to be undecidable, in this work we propose a path querying algorithm on acyclic graphs which uses relational query semantics and Boolean grammars and approximates the exact solution. To achieve better performance in compare with the naive algorithm, considered classes of graphs were limited to acyclic graphs.

Keywords: path querying, Boolean grammars, matrix operations, acyclic graph, DAG, boolean matrix, matrix multiplication.

DOI: 10.15514/ISPRAS-2019-31(4)-14



© Steklov Math. Inst. of RAS, 2024