Слюни RETE алгоритм путаницы

У меня возникли проблемы с пониманием алгоритма RETE бета-узла JoinNode, а не узла?

введите описание изображения здесь

Документация гласит:

Есть два узла с двумя входами, JoinNode и NotNode, и оба являются типами BetaNodes. BetaNodes используются для сравнения 2 объектов и их полей друг с другом. Объекты могут быть одинаковыми или разными. По соглашению, мы называем два входа слева и справа. Левый вход для BetaNode, как правило, представляет собой список объектов; в Drools это кортеж Правильный ввод - это один объект. Два узла могут использоваться для реализации проверок "существует". Бета-узлы также имеют память. Левый вход называется бета-памятью и запоминает все входящие кортежи. Правильный вход называется альфа-памятью и запоминает все входящие объекты.

Я понял, Alpha Node: различные буквальные условия для правил drl, но приведенная выше документация для BetaNodes меня немного смущает.

скажем ниже условие drl для приведенной выше диаграммы:

$ person: Person (favouriteCheese == $ чеддер)

Запрос: 1) каковы эти левый и правый входы для бета-узлов с двумя входами в точности так, как описано в документации выше? Я полагаю, что это относится к фактам и правилам, когда я считаю, что кортежи будут фактами?

2) notNode будет в основном условием drl, соответствующим буквальному условию not?

Обновленный вопрос по 6Sep17:

3) Я полагаю, что вышеприведенная диаграмма представляет joinNode, как не будет представлен Node, если вышеуказанный рабочий процесс будет изменен в соответствии с notNode?

1 ответ

Условие, соответствующее диаграмме, будет

Cheese( $name: name == "Cheddar" )
Person( favouriteCheese == $name )

После совпадения создается новый кортеж, состоящий из совпадающих Сыра и Человека, который может выступать в качестве нового кортежа для дальнейших совпадений, если в условии есть третий шаблон.

Неузел был бы тем, который утверждает несуществование некоторого факта. Это будет стрелять только один раз.

Вы можете найти гораздо лучшее описание "rete" в Интернете.

Другие вопросы по тегам