In real-world decision models, our customers deal with complex business glossaries. In particular, it is quite common when one business concept refers to other business concept and it is not immediately clear how to define and use such references. I will explain how it’s supposed to be done in OpenRules. let’s consider a simple example “HelloNestedLocation” with the following glossary:

This glossary defines two business concepts “Customer” and “Location” and each Customer refers to a Location using the decision variable “Customer Location”. It is defined by the attribute “location” of the type “Location”. The question is how can we refer to the State or City in our rules and tests.
To do this, we need to explicitly introduce the decision variable “Customer State” within the business concept “Customer” and use a dot-notation in the attribute “location.state” to connect it with the Customer Location.
After this declaration, we can freely use “Customer State” inside the table DecisionData

and in the rules like below

Such simple and intuitive mechanism is quite popular among our customers.