Capítulo de livro Revisado por pares

Graph Pattern Matching as an Embedded Clojure DSL

2015; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-319-21145-9_12

ISSN

1611-3349

Autores

Tassilo Horn,

Tópico(s)

Semantic Web and Ontologies

Resumo

FunnyQT 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)