{"title":"Host-graph-sensitive RETE nets for incremental graph pattern matching with nested graph conditions","authors":"Matthias Barkowsky, Holger Giese","doi":"10.1016/j.jlamp.2022.100841","DOIUrl":null,"url":null,"abstract":"<div><h3>Background</h3><p>Efficient querying of large graph structures is a problem at the heart of several application domains such as social networks and model driven engineering. In particular in the context of model driven engineering, where the same query is executed frequently over an evolving graph structure, incremental techniques based on RETE nets are a popular solution. However, the construction of adequate RETE nets for a specific problem instance is a challenge in and of itself.</p></div><div><h3>Methods</h3><p>In this article, we propose an approach to RETE net construction for queries in the form of graph patterns equipped with nested graph conditions that considers not only the structure of the query, but also the structure of the host graph to improve the net's performance regarding execution time and memory consumption. Furthermore, we suggest a technique for adapting the net structure to changing host graph characteristics. We evaluate the presented concepts empirically based on queries and data from two independent benchmarks, using a mature tool for incremental graph pattern matching as a reference.</p></div><div><h3>Results</h3><p>Our evaluation results indicate that considering host graph structure during RETE net construction can improve performance of the resulting net. The experiments also demonstrate that adapting the net structure to changing host graph characteristics can be performed with an acceptable execution time overhead for our examples and may yield more adequate RETE nets. Overall, our approach never performed worse than the reference by more than factor 1.2 regarding execution time and achieved an improvement by up to factor 20.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"131 ","pages":"Article 100841"},"PeriodicalIF":0.7000,"publicationDate":"2023-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Logical and Algebraic Methods in Programming","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352220822000943","RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
Background
Efficient querying of large graph structures is a problem at the heart of several application domains such as social networks and model driven engineering. In particular in the context of model driven engineering, where the same query is executed frequently over an evolving graph structure, incremental techniques based on RETE nets are a popular solution. However, the construction of adequate RETE nets for a specific problem instance is a challenge in and of itself.
Methods
In this article, we propose an approach to RETE net construction for queries in the form of graph patterns equipped with nested graph conditions that considers not only the structure of the query, but also the structure of the host graph to improve the net's performance regarding execution time and memory consumption. Furthermore, we suggest a technique for adapting the net structure to changing host graph characteristics. We evaluate the presented concepts empirically based on queries and data from two independent benchmarks, using a mature tool for incremental graph pattern matching as a reference.
Results
Our evaluation results indicate that considering host graph structure during RETE net construction can improve performance of the resulting net. The experiments also demonstrate that adapting the net structure to changing host graph characteristics can be performed with an acceptable execution time overhead for our examples and may yield more adequate RETE nets. Overall, our approach never performed worse than the reference by more than factor 1.2 regarding execution time and achieved an improvement by up to factor 20.
期刊介绍:
The Journal of Logical and Algebraic Methods in Programming is an international journal whose aim is to publish high quality, original research papers, survey and review articles, tutorial expositions, and historical studies in the areas of logical and algebraic methods and techniques for guaranteeing correctness and performability of programs and in general of computing systems. All aspects will be covered, especially theory and foundations, implementation issues, and applications involving novel ideas.