Skip to content

[Subtask] Introduce query builder for composable graph filtering #221

@oxy86

Description

@oxy86

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:
    • AND
    • OR

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:
    • nodes
    • edges
  • Results update graph visibility (non-destructive)

UI Suggestions

  • Dedicated "Filter / Query Panel"
  • Ability to:
    • add/remove conditions
    • group conditions
    • preview results

Implementation Notes


Edge Cases

  • Invalid queries
  • Type mismatches (string vs numeric)
  • Empty results

Relation to Feature

Part of:
#215 Graph filtering, querying & subgraph extraction

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions