Working with Filters
Filters are the entry point of every DAQS rule.
They define which objects are in scope — nothing more, nothing less.
If a filter is wrong:
- the validation will never run correctly
- errors will be hidden or misreported
- performance will suffer
This chapter teaches you how to build filters correctly, deliberately, and safely.
What a filter is (and is not)
A filter:
✔ Selects objects
✔ Reduces scope
✔ Shapes the data for validation
A filter does not:
✖ Fix incorrect data
✖ Enforce correctness
✖ Decide whether something is “right” or “wrong”
Filters select. Validations judge.
Mixing those responsibilities is the fastest way to broken rules.
How this chapter is structured
Filters are introduced incrementally:
- Start with minimal, valid filters
- Learn simple structural filters
- Move to domain-based data filters
- Combine relationships across objects
- End with reusable, production-grade patterns
Each section builds on the previous one. Skipping ahead is possible — but not recommended.
Sections in this chapter
Basics
Learn what the smallest valid filter looks like and why shape matters.
→ 00_basics/index.md
Simple filters
Filtering based on:
- object type
- category
- basic logical conditions
This is where most users start — and where many mistakes are made.
→ 01_simple_filters/index.md