JSONata Course for DAQS
This course teaches you how to write DAQS rules — JSON-based rules that read Revit data, filter elements, and validate their properties.
Rules are used inside the DAQS Revit plugin to check BIM data quality. When a rule fails, the plugin shows the user an error message that explains what is wrong and how to fix it.
What you will learn
By the end of this course, you will be able to:
- Understand how DAQS represents Revit data as JSON
- Write JSONata filters that select the right elements
- Write validations that check data quality
- Compose clear error messages shown to users in the plugin
- Use Scriban to build dynamic tables in error messages
- Debug rules that produce unexpected results
- Apply best practices that keep rules maintainable
How this course is structured
Introduction ← you are here
What DAQS does, why it exists, and the mental model you need before writing your first rule.
Core Concepts
How Revit data is structured, where properties live, and how DAQS represents that data as JSON. This chapter prevents the most common category of mistakes.
Getting Started
Your first working rule, step by step. Includes a minimal test model and the most common beginner mistakes.
Filters
How to select the right objects using JSONata — from simple category filters to advanced cross-object patterns.
Validating
How to check data quality using DAQS validators. Covers all validator types and how to match them to filter output.
Writing Rules
How to put filters and validations together into a complete rule. Covers rule anatomy, descriptions, error messages, and Scriban tables.
Debugging and Testing
How to test rules safely and diagnose problems when output is unexpected.
Best Practices
Principles for writing rules that stay correct when models change.
Working with Revit
Revit-specific behaviour that affects rule writing — quirks, parameter types, and edge cases.
Reference
Syntax reference, rule schema, validator types, and Revit category lists.