DOI: 10.1145/3603287.3651199
Terbit pada 18 April 2024 Pada ACM Southeast Regional Conference

Encoding Feature Models in Neo4j Graph Database

Jamil Saquer Hazim Shatnawi

Abstrak

This study introduces an innovative approach to encoding and analyzing feature models within the Network Exploration and Optimization for Java (Neo4j) graph database, significantly enhancing the management of complex Software Product Lines (SPLs). We present a comparative analysis of traditional loading techniques against Neo4j's batch importer and the Awesome Procedures on Cypher (APOC) library, demonstrating the superior efficiency and effectiveness of our proposed methods, especially in handling large datasets. Our methodology extends beyond mere encoding; it capitalizes on Neo4j's Graph Data Science (GDS) library, employing Depth-First Search (DFS) and other advanced traversal techniques to navigate and manipulate these complex structures. The findings reveal not only a significant enhancement in the processing and analysis of feature models but also underscore the potential for more sophisticated SPL management strategies. By integrating innovative loading techniques, encoding strategies, and GDS traversal methods, this study lays a robust foundation for future advancements in the field.

Artikel Ilmiah Terkait

Leveraging Neo4j for Data Science: Evaluating Traversal Efficiency in GDS and APOC for Directed Acyclic Graphs

Jamil Saquer Hazim Shatnawi

20 Desember 2024

This paper presents a benchmark study of Breadth-First Search (BFS) and Depth-First Search (DFS) traversal algorithms applied to complex Directed Acyclic Graphs (DAGs) within Neo4j, utilizing the Graph Data Science (GDS) and Awesome Procedures on Cypher (APOC) libraries. DAGs are widely used in fields like data science, project management, software engineering, and bioinformatics to manage dependencies without cycles. Our experiments evaluate the performance of GDS and APOC on DAGs generated from Feature Models representing dependencies in Software Product Lines (SPL). Results indicate that GDS consistently outperforms APOC, particularly for large and intricate graph structures. These findings highlight the importance of optimized traversal techniques for managing complex DAGs efficiently, offering insights into scalability and performance improvements for real-world applications.

Variability-aware Neo4j for Analyzing a Graphical Model of a Software Product Line

Xiang Chen J. Atlee

1 Oktober 2023

Comprehensive analysis of a software product line (SPL) is expensive because the number of products to be analyzed is exponential in the number of the SPL’s features. To compensate, we analyze a model of the SPL rather than the source code, thereby reducing the size of the artifact under analysis. In this paper, we facilitate SPL analysis by lifting the Neo4j query engine to apply to an SPL model, so that a Neo4j query returns variability-aware results that cover all the SPL’s products. We used the lifted Neo4j to analyze five nontrivial SPLs (with respect to dataflows, control-flows, component interactions, etc.) and found that the overhead for returning variability-aware results for the full SPL, versus the results for just one product, ranges from 1.88% to 456%. In comparison to related work V-Soufflé (a lifted Datalog engine), lifted Neo4j is able to report complete path results whereas V-Soufflé reports only endpoints of paths. When both analyzers report the same results (e.g., endpoints of paths), lifted Neo4j is usually more efficient.

$\widehat{Neo4j}$ Browser: Visualizing Variable-Aware Analysis Results

Rafael F. Toledo Mingyu Liu Rui Ming Xiong + 1 lainnya

14 April 2024

A software product line (SPL) implements a family of related soft-ware products. As such, analyzing a software produce line produces variable results that apply to some SPL variants and not to others. Typically, such results are annotated with presence conditions, which are logical expressions that represent the product variants to which the results apply. When analyzing large SPLs, these expressions that annotate results can become overwhelmingly large and difficult to reason about. In this paper, we present $\widehat{Neo4j}$ Browser for visualizing and exploring the results of an SPL analysis. $\widehat{Neo4j}$ Browser provides an interactive and customiz-able interface that allows the user to highlight results according to product variants of interest. Previous evaluations show that the $\widehat{Neo4j}$ Browser improves the correctness and efficiency of the user's work and reduces the user's cognitive load in working with variable results. The tool can be downloaded at https://vault.cs.uwaterloo.ca/s/Rqy2f56PeC6s4XD, and a demo video pre-senting its features is at https://youtu.be/CoweflQQFWU.

Towards View Management in Graph Databases

Mohanna Shahrad Yunjia Zheng Yu Ting Gu + 1 lainnya

13 Mei 2024

Views are widely used in relational databases to facilitate query writing, give individualized abstractions to different user groups, and improve query execution time with materialization techniques. This paper explores how views could be defined and used in graph database systems (GDBS) with a similar purpose to what can be found in relational systems. We perform our analysis using Neo4j and its query language Cypher which has many of the features typically found in graph query languages, aiming to pave the way for integrating view management into a wider range of GDBS.

Graphix: “One User's JSON is Another User's Graph”

Michael J. Carey Glenn Galvizo

13 Mei 2024

The increasing prevalence of large graph data has produced a variety of research and applications tailored toward graph data management. Users aiming to perform graph analytics will typically start by importing existing data into a separate graph-purposed storage engine. The cost of maintaining a separate system (e.g., the data copy, the associated queries, etc …) just for graph analytics may be prohibitive for users with Big Data. In this paper, we introduce Graphix and show how it enables property graph views of existing document data in AsterixDB, a Big Data management system boasting a partitioned-parallel query execution engine. We explain a) the graph view user model of Graphix, b) $\text{gSQL}^{++}$, a novel query language extension for synergistic document-based navigational pattern matching, and c) how edge hops are evaluated in a parallel fashion. We then compare queries authored in $\text{gSQL}^{++}$ against versions in other leading query languages. Finally, we evaluate our approach against a leading native graph database, Neo4j, and show that Graphix is appropriate for operational and analytical workloads, especially at scale.

Daftar Referensi

0 referensi

Tidak ada referensi ditemukan.

Artikel yang Mensitasi

0 sitasi

Tidak ada artikel yang mensitasi.