Relationships
The connections that form the Semantic Graph.
In Balarhinos, no object is an island. Relationships define how Smart Geometry objects interact with each other to form a cohesive Semantic Graph.
Types of Relationships
Relationships can be categorized into three main types:
1. Spatial Relationships
These are automatically computed based on geometry proximity:
adjacent-to: Objects that share an edge or are within a certain distance.intersects: Geometry that overlaps in space.closest-to: Finding the nearest neighbor (e.g., the closest road to a plot).
2. Hierarchical Relationships
These define ownership and containment:
contained-by: A plot is contained by a block.part-of: A facade is part of a building mass.parent-of/child-of: The primary way parameters are inherited.
3. Functional Relationships
Manual connections defined by the user:
references: A viewpoint sensor that references a specific landmark target.grouped-with: Logical grouping for analysis or visibility.
How Relationships are Created
- Automatic Discovery: The Intelligence Kernel constantly scans for spatial relationships (e.g., detecting which building is on which plot).
- Procedural Generation: Services like Plot Division create relationships automatically as they generate geometry.
- Manual Assignment: Users can link objects together using the Relationship Manager in the UI.
Why Relationships are Powerful
Relationships are what enable Contextual Intelligence:
- Reactive Updates: If you move a road, all buildings
adjacent-toit can be notified to update their setbacks. - Data Inheritance: A building can automatically know its zoning rules by looking up its
contained-byrelationship with a plot. - Advanced Analysis: View studies use relationships to identify which occluders are most critical to a specific viewpoint.
graph LR
Block[Block] -->|contains| Plot[Plot]
Plot -->|adjacent-to| Road[Road]
Plot -->|parent-of| Building[Building]
Building -->|has| Facade[Facade]