Graph Pattern Matching as an Embedded Clojure DSL
2015; Springer Science+Business Media; Linguagem: Inglês
10.1007/978-3-319-21145-9_12
ISSN1611-3349
Autores Tópico(s)Semantic Web and Ontologies
ResumoFunnyQT is a Clojure library supplying a comprehensive set of model querying and transformation services to the user. These are provided as APIs and embedded DSLs. This paper introduces FunnyQT's embedded graph pattern matching DSL which allows users to define patterns using a convenient textual notation that can be applied to graphs. The result of applying a pattern to a graph is the lazy sequence of all matches of the pattern in the graph. FunnyQT's pattern matching DSL is quite expressive. It supports positive and negative application conditions, arbitrary constraints, patterns with alternatives, nested patterns, and more. In case a pattern is defined to be evaluated eagerly instead of lazily, the search induced by the pattern is automatically parallelized on multi-core machines for improved performance.
Referência(s)