แนวคิดหลัก
The authors propose an efficient algorithm for handling distinct shortest walks in graph databases with multiple labels, achieving satisfactory complexity bounds.
บทคัดย่อ
The content discusses the problem of enumerating distinct shortest walks in graph databases with multiple labels. The authors introduce an efficient algorithm that precomputes necessary information and then performs enumeration with minimal delay.
The Distinct Shortest Walks problem is crucial for query languages over graph databases, especially in real-life scenarios where edges may carry multiple labels. The proposed algorithm aims to efficiently handle duplicates and nondeterminism in both queries and data.
Previous literature has shown limited attention to this problem, with existing solutions offering only polynomial delay bounds. The new algorithm presented achieves linear preprocessing time and a delay proportional to the length of a shortest walk.
Key concepts include the use of backward-search trees, annotations on vertices, and queues for efficient traversal during enumeration. The algorithm's approach involves depth-first traversal while reconstructing a tree of answers on-the-fly.
สถิติ
Preprocessing runs in O|E| × |Δ|
Total runtime of Annotate is O|E| × |Δ|
Creating all maps in Trim takes O|V| × |Q|
Total runtime of Trim is O|E| × |Q|
Enumerate produces an output every O휆 × |Δ|