Overview
Introduce a query builder system that allows users to define complex filtering conditions using a structured interface instead of isolated dialogs.
This is the long-term UI and UX layer for the filtering system introduced in #215.
Motivation
Current filtering mechanisms are:
- dialog-based
- single-condition
- not composable
Users need to express richer queries such as:
(type = "investor") AND (degree > 5) AND (weight ≥ 10)
This requires a unified and extensible query system.
Scope
Phase 1 — Visual Query Builder (no-code)
- UI to define conditions:
- attribute / metric selector
- operator (=, >, <, etc.)
- value input
- Support logical operators:
Phase 2 — Internal Query Representation
- Define a query model (tree or expression-based)
- Reusable across:
- filtering
- subgraph extraction
- future features
Phase 3 — Optional DSL (advanced)
- Simple textual query language
Example:
degree > 5 AND type = "investor"
Behavior
- Queries act on:
- Results update graph visibility (non-destructive)
UI Suggestions
- Dedicated "Filter / Query Panel"
- Ability to:
- add/remove conditions
- group conditions
- preview results
Implementation Notes
- Build on top of:
- Avoid duplicating logic already implemented in dialogs
- Query system should evaluate against current graph state
Edge Cases
- Invalid queries
- Type mismatches (string vs numeric)
- Empty results
Relation to Feature
Part of:
#215 Graph filtering, querying & subgraph extraction
Overview
Introduce a query builder system that allows users to define complex filtering conditions using a structured interface instead of isolated dialogs.
This is the long-term UI and UX layer for the filtering system introduced in #215.
Motivation
Current filtering mechanisms are:
Users need to express richer queries such as:
(type = "investor") AND (degree > 5) AND (weight ≥ 10)
This requires a unified and extensible query system.
Scope
Phase 1 — Visual Query Builder (no-code)
Phase 2 — Internal Query Representation
Phase 3 — Optional DSL (advanced)
Example:
degree > 5 AND type = "investor"
Behavior
UI Suggestions
Implementation Notes
Edge Cases
Relation to Feature
Part of:
#215 Graph filtering, querying & subgraph extraction