Самый оптимальный способ сравнения данных без повторного сравнения

Я использую движок правил для нескольких узлов. При запуске правил, если он находит результаты, он создает больше узлов, классифицированных как "результаты".

Мой вопрос: если я захочу снова запустить механизм правил, это может быть с новыми данными, старыми данными, которые уже были выполнены, или с сочетанием того и другого, что является оптимальным способом не повторять правила на узлах, которые уже сравнивали?

Как работает механизм правил:

Вы передаете набор данных, узлы в этом случае. Это "факты". Затем вы определяете правило для двух "фактов", например, nodeA.name == nodeB.name. если это возвращает true, это добавляет это к результатам.

Теперь, если у меня есть огромный набор данных, не стоит перезапускать правила для данных, которые уже сравнивались.

Сейчас есть много факторов для этого. Что если я сравнил два узла, но впервые сравнил их "имя", а в следующий раз хочу сравнить их "цвет"? Я хочу перезапустить правила на этих узлах в этом случае. Я не могу просто разместить массив на узле того, какие другие узлы сравнивались с этим.

Интересно, есть ли какая-либо теория, написанная по этому поводу? Или у кого-нибудь есть представление о наилучшем способе обработки, в основном проверяющем, сравнивались ли уже две части данных.

0 ответов

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