The problem with explicit types
Without class hierarchy, querying building data means knowing every specific type you’re looking for:How is works
The is argument queries by Brick class and automatically includes all subtypes:
HVAC_Equipment in the Brick hierarchy. Add a new type next year? It automatically matches.
Common hierarchies
Equipment
Points (sensors)
Points (setpoints and commands)
Query examples
All sensors on an AHU
All setpoints in a building
Narrow vs broad queries
The broader the class, the more results. Start broad to explore, narrow when you know what you need.
How it works under the hood
When you passis: "HVAC_Equipment", Tacit resolves the Brick class hierarchy to find all subclasses:
- Look up
HVAC_Equipmentin the Brick ontology - Find all classes where
X rdfs:subClassOf* HVAC_Equipment - Match any entity whose class is in that set
a/rdfs:subClassOf* performs, but expressed as a single argument in a GraphQL query.
Combining is with other arguments
Invalid class names
If you pass an unknown class name, the query returns an empty result set. No entities match a class that doesn’t exist in the Brick ontology.Equivalent SPARQL
Theis argument replaces this SPARQL pattern:
Next steps
Relationships & traversal
Follow equipment chains with upstream and downstream queries.
Equipment reference
Full reference for equipment queries with class filtering.
