Я не смог найти в документации Drools, какие символы (помимо букв алфавита) разрешены/запрещены в имени правила в Drools - кто-нибудь знает или имеет ссылку?
Единственный соответствующий раздел Drools doc, который я обнаружил, пока не указывает:
Каждое правило должно иметь уникальное имя в пакете правил. Если вы используете одно и то же имя правила более одного раза в любом файле DRL в пакете, правила не скомпилируются. Всегда заключайте имена правил в двойные кавычки (имя правила правила), чтобы предотвратить возможные ошибки компиляции, особенно если вы используете пробелы в именах правил.
Кажется, я случайно обнаружил, что некоторые символы группировки не работают в именах правил (похоже, правила с именами не могут быть найдены или не включены) - или, по крайней мере, в правилах extension ( расширенное правило работает с символами группировки, но не с его расширением; пример ниже): символы группировки включают круглые скобки (), квадратные скобки [] и фигурные скобки {}. Хотя работает меньше и больше, чем ‹›, поэтому я пока заменяю первое вторым.
Или есть escape-символы для проблемных группирующих символов?
Пример:
rule "(grouping chars, and commas, work here)"
when
// conditions LHS
then
end
// removing parentheses, or replacing with < >,
// from below line works
rule "(grouping chars DON'T work here)"
extends "(grouping chars, and commas, work here)"
when
then
// consequences RHS
Я еще не обнаружил ни того, ни другого со всеми другими символами (например, другой пунктуацией; кроме того, что я обнаружил запятые, они работают). Но было бы неплохо заранее знать, какие символы разрешены.