# Rule Language

The *Rule Language* is a powerful feature which we use in the *Recommender Platform* to process event streams, test condition rules, and produce relevant and precise recommendation messages.

Expressions in *Rule Language* look similar to expressions in Excel or other comparable tools or script/program languages.

To give a first impression, have a look at the following examples, which give an idea how the language can be used:

## Examples

Example of a boolean expression which compares multiple values and uses AND/OR operators:

<pre class="language-java" data-full-width="false"><code class="lang-java"><strong>$GridPowerConsumption > 500 AND ($CarChargingMode = 0 OR $CarChargingMode = 4) 
</strong>AND $IsLowTariffHours = 0
</code></pre>

Example of a text expression, which concatenates static text and dynamic data:

```java
"Heat: " + $HeatCelsius::Value + " °C / " + ($HeatCelsius::Value - 273.15) + " K"
```

## Details

Read in the next sub-chapters about the language [syntax](https://doc.moost.io/platform-manual/rules/rule-language/syntax), the [data types](https://doc.moost.io/platform-manual/rules/rule-language/data-types) and [structures](https://doc.moost.io/platform-manual/rules/rule-language/data-structures), and how to process these with the help of [functions](https://doc.moost.io/platform-manual/rules/rule-language/functions) and [operations](https://doc.moost.io/platform-manual/rules/rule-language/operations).&#x20;
