NGDBench: Towards Neural Graph Data Management
Organizations: HKUST · Beijing Institute of Technology · Hong Kong Baptist University · Guangdong University of Technology
Abstract
Data critical to real-world decision-making is increasingly found within organizations. Such data is heterogeneous, constantly evolving, and only imperfectly captured. However, current data management systems remain largely passive, retrieving what is explicitly stored while offering limited support for uncovering implicit structure or reasoning under noise, incompleteness, and continuous updates. We argue that next-generation data management requires neural capabilities, which can uncover complex latent relationships, distinguish reliable signals from noise, and remain consistent as the underlying data state evolves. To support this direction, we introduce NGDBench, a benchmark across five domains that unifies structured and unstructured sources. NGDBench adopts a graph view because graphs provide a flexible abstraction for modeling complex systems, capturing latent relationships, and subsuming structured formats such as relational tables. Each instance pairs a clean latent graph with a realistically perturbed observed graph. NGDBench supports full Cypher queries and dynamic data management operations. Evaluations of state-of-the-art Text-to-Cypher by LLMs and GraphRAG pipelines reveal that current neural query methods remain sensitive to noise and struggle with dynamic state tracking, highlighting the need for resilient, inference-capable data management. Our code is available at https://github.com/HKUST-KnowComp/NGDBench.
Figures & tables
| Benchmark / Dataset | Data Format | Operators | Multi-variable | Aggregation | Dynamic | General Graph Query |
| Query | Support | Updates | (e.g., Cypher) | |||
| Q2B Ren et al. (2020) | Id-based Triples | EPFO (AND, OR, ) | No | No | No | No |
| LitCQD Demir et al. (2023) | Id-based Triples & Numbers | EPFO + Numeric Operators | No | Yes | No | No |
| NRN Bai et al. (2023) | Id-based Triples & Numbers | FOL + Numeric Operators | No | No | No | No |
| -CQA Wang et al. () | Id-based Triples | FOL (AND, OR, NOT ) | No | No | No | No |
| -CQA Yin et al. (2025) | Id-based Triples | FOL (AND, OR, NOT ) | Yes | No | No | No |
| Category | NGD-BI | NGD-Fin | NGD-Prime | NGD-MCP | NGD-Econ | Summary | |
| Graph Structures (Groundtruth) | #Nodes | 2,997,352 | 10,865 | 129,312 | 181,689 | 33,164 | – |
| #Edges | 17,196,776 | 57,818 | 8,100,498 | 351,263 | 63,757 | – | |
| Graph Structures (Perturbed) | #Nodes | 2,997,352 | 10,865 | 129,312 | 181,689 | 33,164 | – |
| #Edges | 17,971,365 | 60,476 | 8,465,124 | 351,263 | 63,757 | – | |
| Query Categories | #Analytical (No Agg) | 17,880 | 4,264 | 14,043 | 8,336 | 1,707 | 58,321 |
| #Analytical (Agg.) | 9,580 | 4,412 | 6,494 | 4,167 | 1,050 | 25,703 | |
| Baseline | NGD-Fin | NGD-BI | NGD-Prime | ||||||||||||
| NoAgg | Agg | NoAgg | Agg | NoAgg | Agg | ||||||||||
| Jaccard | F1 | MdRE | MSLE | sMAPE | Jaccard | F1 | MdRE | MSLE | sMAPE | Jaccard | F1 | MdRE | MSLE | sMAPE | |
| Oracle Cypher | 0.448 | 0.471 | 0.039 | 0.649 | 0.119 | 0.887 | 0.911 | 0.355 | 8.388 | 0.783 | 0.736 | 0.790 | 0.203 | 7.990 | 0.562 |
| Neo4j-Text2Cypher | 0.319 | 0.319 | 0.660 | 31.877 | 0.975 | 0.212 | 0.213 | —— | 45.582 | 1.681 | 0.208 | 0.195 | —— | 40.760 | 1.481 |
| GPT5.1-Codex | 0.358 | 0.359 | 0.111 | 12.425 | 0.394 | 0.555 | 0.571 | 0.987 | 15.921 | 1.089 | 0.510 | 0.537 | 0.206 | 12.250 | 0.743 |
| DeepseekV3.2 | 0.345 | 0.345 | 0.102 | 5.636 | 0.334 | 0.394 | 0.404 | 0.992 | 20.862 | 1.182 | 0.426 | 0.446 | 0.409 | 12.547 | 0.835 |
| Baseline | NGD-Fin | NGD-BI | NGD-Prime | ||||||
| MLRE | MSLE | sMAPE | MLRE | MSLE | sMAPE | MLRE | MSLE | sMAPE | |
| Neo4j-Text2Cypher | 8.065 | 17.038 | 1.137 | 0.759 | 3.323 | 0.280 | 3.667 | 16.072 | 0.337 |
| GPT5.1-Codex | 3.036 | 11.727 | 0.771 | 0.516 | 2.327 | 0.233 | 3.342 | 15.138 | 0.360 |
| DeepseekV3.2 | 2.778 | 14.940 | 0.716 | 0.455 | 2.330 | 0.171 | 3.665 | 16.130 | 0.352 |
| Qwen3-Coder | 2.676 | 4.619 | 0.610 | 0.562 | 2.656 | 0.239 | 3.403 | 15.619 | 0.309 |
| GraphRAG | 5.129 | 17.510 | 1.518 | 9.043 | 81.106 | 1.979 | 6.337 | 41.776 | 1.958 |
| Baseline | NGD-MCP | NGD-Econ | ||
| Agg | NoAgg | Agg | NoAgg | |
| GraphRAG | 0.169 | 0.194 | 0.673 | 0.242 |
| HippoRAG2 | 1.050 | 0.022 | 2.138 | 0.040 |
| ToG-RAG | 0.359 | 0.013 | 3.809 | 0.212 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Noise Family | What It Simulates | Typical Manifestation | Default Ratio |
| Incomplete edges | Missing facts or partial records | Removed relations in transactional, social, or biomedical graphs | 0.10 |
| False edges | Spurious joins or extraction mistakes | Incorrect links introduced by integration or inference pipelines | 0.15 |
| Relation-type noise | Ambiguous relation semantics | A valid edge assigned the wrong relation label | 0.20 |
| Node-type noise | Entity typing ambiguity | A node assigned an incorrect semantic type | 0.20 |
| Attribute noise | Local textual or numerical corruption | Typos, OCR artifacts, malformed values, or numeric deviations | 0.25 |
| Source | Erroneous Attribute | Incompleteness | Type Inconsistency | Erroneous Links |
| Real-world datasets | 0.55%–26.9% in reported medical settings | Over 70% missing born_in ; about 90% missing ethnicity in Freebase-style settings | 8.0%–38.5% across reported semantic domains | 10%–25% in reported financial settings |
| Prior synthetic injection | 10%–50% | 2.9% and 10.4% in representative studies | 10%–50% | 10%, 20%, and 30% |
| Category | Core Operators | Function Description |
| Data Access | Scan , Seek | Entry operators (e.g., node scan, index seek). |
| Traversal & Matching | Expand , VarLengthExpand , ShortestPath , Repeat , Optional , Anti , Triadic | Topology navigation, variable-length paths, and pattern matching (incl. anti/optional). |
| Join & Set Operations | HashJoin , Apply , CartesianProduct , Argument , Union | Combine intermediate results (hash / nested loop); includes unions. |
| Filter & Projection | Filter , Project , Distinct | Predicates, expressions, field selection, and deduplication. |
| Aggregation & Control | Aggregate , Unwind , Sort , Limit , Skip , Top | Grouping, list flattening, and output control (order/limit). |
| Data Modification | Create , Merge , Delete , Set , Foreach | Graph mutations: creation, deletion, property updates. |
| Baseline | NGD-Fin | NGD-BI | NGD-Prime | ||||||
| MdRE | MSLE | sMAPE | MdRE | MSLE | sMAPE | MdRE | MSLE | sMAPE | |
| Neo4j-Text2Cypher | 0.000 | 0.055 | 0.021 | 0.000 | 0.000 | 0.001 | 0.965 | 9.495 | 1.155 |
| GPT5.1-Codex | 0.000 | 0.001 | 0.001 | 0.000 | 3.060 | 0.615 | 0.000 | 11.476 | 0.541 |
| DeepseekV3.2 | 0.000 | 0.001 | 0.003 | 0.000 | 5.148 | 0.763 | 0.000 | 8.115 | 0.614 |
| Qwen3-Coder | 0.000 | 0.048 | 0.018 | 0.000 | 2.801 | 0.756 | 0.000 | 7.623 | 0.639 |
| GraphRAG | 0.000 | 0.588 | 0.904 | —— | 0.480 | 1.998 | 0.875 | 2.400 | 1.201 |
| Baseline | NGD-Fin | NGD-BI | NGD-Prime | ||||||
| MdRE | MSLE | sMAPE | MdRE | MSLE | sMAPE | MdRE | MSLE | sMAPE | |
| Neo4j-Text2Cypher | 0.179 | 27.846 | 0.810 | —— | 16.082 | 16.509 | —— | 46.272 | 1.541 |
| GPT5.1-Codex | 0.131 | 14.940 | 0.771 | 0.992 | 19.820 | 1.233 | 0.237 | 12.341 | 0.766 |
| DeepseekV3.2 | 0.113 | 7.629 | 0.451 | 0.995 | 25.755 | 1.312 | 0.582 | 13.345 | 0.875 |
| Qwen3-Coder | 0.116 | 8.231 | 0.446 | 1.000 | 28.878 | 1.337 | 0.578 | 14.185 | 0.891 |
| GraphRAG | 254.333 | 36.515 | 1.777 | —— | 61.688 | 1.979 | 993.563 | 47.204 | 1.814 |
| Baseline | NGD-MCP | NGD-Econ | ||||||||||||
| Ex. | 1 | Null | RMSE | MdRE | MSLE | sMAPE | Ex. | 1 | Null | RMSE | MdRE | MSLE | sMAPE | |
| HippoRAG2 | 0.088 | 0.250 | 0.619 | 53.012 | 1.000 | 1.051 | 1.196 | 0.012 | 0.038 | 0.097 | 158.308 | 1.000 | 2.138 | 0.926 |
| GraphRAG | 0.493 | 0.624 | 0.047 | 1.795 | 0.000 | 0.170 | 0.396 | 0.241 | 0.458 | 0.154 | 363623.864 | 0.667 | 0.673 | 0.637 |
| TOG | 0.266 | 0.342 | 0.044 | 16.169 | 0.000 | 0.359 | 0.380 | 0.260 | 0.323 | 0.125 | 18730.315 | 0.000 | 3.809 | 0.371 |