DOI

Transparent integration of a domain-specific language for specification of context-free path queries (CFPQs) into a general-purpose programming language as well as static checking of errors in queries may greatly simplify the development of applications using CFPQs. LINQ and ORM can be used for the integration, but they have issues with flexibility: query decomposition and reusing of subqueries are a challenge. Adaptation of parser combinators technique for paths querying may solve these problems. Conventional parser combinators process linear input, and only the Trails library is known to apply this technique for path querying. Trails suffers the common parser combinators issue: it does not support left-recursive grammars and also experiences problems in cycles handling. We demonstrate that it is possible to create general parser combinators for CFPQ which support arbitrary context-free grammars and arbitrary input graphs. We implement a library of such parser combinators and show that it is applicable for realistic tasks.

Original languageEnglish
Title of host publicationScala 2018 - Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, co-located with ICFP 2018
EditorsSebastian Erdweg, Bruno C. D. S. Oliveira
PublisherAssociation for Computing Machinery
Pages13-23
Number of pages11
ISBN (Electronic)9781450358361
DOIs
StatePublished - 17 Sep 2018
Event9th ACM SIGPLAN International Symposium on Scala, Scala 2018, Part of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2018 - St. Louis, United States
Duration: 28 Sep 2018 → …

Publication series

NameScala 2018 - Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, co-located with ICFP 2018

Conference

Conference9th ACM SIGPLAN International Symposium on Scala, Scala 2018, Part of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2018
Country/TerritoryUnited States
CitySt. Louis
Period28/09/18 → …

    Research areas

  • Context-Free Language Reachability, Context-Free Path Querying, Generalized LL, GLL, Graph Databases, Language-Constrained Path Problem, Neo4j, Parser Combinators, Scala

    Scopus subject areas

  • Software
  • Computer Science Applications
  • Computational Theory and Mathematics

ID: 48534826