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 , such that there is a path from to such that the labels on the edges of this path form a string derivable from the nonterminal . 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.

Highlights

  • Path query is said to be calculated using relational query semantics if it is evaluated to triple (A, v, v ), such that there is a path from v to v 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

  • 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

Read more

Summary

Введение

Графовая модель данных широко используется в различных областях, например, в графовых базах данных [1, 2], биоинформатике [3], моделировании и анализе социальных сетей [4, 5], в статическом анализе программного кода [6, 7, 8], а также в задачах на основе статического анализа в контексте проблемы промышленного реинжиниринга устаревших приложений [30]. Что задача поиска путей в произвольных ориентированных графах с ограничениями в виде конъюнктивных и булевых языков неразрешима [15], однако для конъюнктивных языков предложен алгоритм, строящий приближение ответа сверху [20], что делает его применимым для приближённого решения прикладных задач. Возможность построения алгоритма, строящего приближённое решение для задачи поиска путей с ограничениями в виде булевых языков, не исследована. Если исходный граф является ациклическим, то можно воспользоваться известными свойствами ациклических графов, чтобы предоставить более производительный алгоритм для решения задачи поиска путей с ограничениями для данной структуры графа. В данной работе предложен приближённый алгоритм поиска путей в ориентированных графах без циклов (Direct Acyclic Graph, DAG) с ограничениями в виде булевых грамматик. 4 представлена адаптация алгоритма Охотина [22], находящая аппроксимацию решения задачи поиска путей с ограничениями в терминах булевых грамматик с использованием реляционной семантики запросов для ациклических графов.

Основные определения
Алгоритм Охотина
Родственные работы
Алгоритм
Описание алгоритма
Корректность алгоритма и оценка сложности
Пример работы алгоритма
Заключение
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call