Una regola di duplicato viene definita da uno schema di duplicato. Esso conta gli eventi secondi e successivi accettati all'interno di un intervallo di tempo specificato ma ignora l'elaborazione della serie di regole per questi eventi. Essa è una regola stateful.
Lo schema di duplicato è in genere utilizzato per isolare eventi simili (duplicati) in un periodo di tempo. Un evento duplicato è simile in qualche modo ad un evento precedente, ma non è necessariamente una copia esatta di quell'evento. Gli eventi sono duplicati semplicemente se essi rispondono ai criteri di selezione evento per la regola. Il periodo è indicato da una finestra definita dall'elemento <timeWindow> nella lingua della regola.
Il primo evento attiva l'azione <onDetection> anche se non sono stati ricevuti eventi duplicati. Il motivo di questo comportamento è che è possibile inoltrare il primo evento e ignorare l'elaborazione della serie di regole per gli eventi duplicati. In questo caso, è possibile aggiungere un'azione di risposta della regola che inoltra il primo evento quando viene attivata l'azione <onDetection> per la regola.
L'elaborazione predefinita per gli eventi duplicati (gli eventi secondi e susseguenti) è di conteggiare un evento duplicato ma di ignorare l'elaborazione della serie di regole per un evento duplicato. Per eseguire ulteriori azioni su un evento duplicato, è possibile definire in modo esplicito un'azione <onNextEvent>. Ad esempio, in certi casi, l'evento duplicato rappresenta un evento che può già essere registrato in un database o in altro contenitore. Di conseguenza, è possibile codificare un'azione <onNextEvent> per rimuovere l'evento duplicato da queste altre ubicazioni.
Un'azione <onTimeWindowComplete> può essere utilizzata per creare un record di riepilogo per tutti gli eventi duplicati che includa il numero di duplicati elaborati.
Dopo l'emissione di un messaggio "Servizio negato" dal monitor della sicurezza, tutti i duplicati di quell'evento che si verificano durante un periodo di tempo di 30 secondi vengono conteggiati ma non inviati alla console dell'operatore. Inoltre, alla fine del periodo di tempo di 30 secondi, la regola genera un evento che indica il numero di messaggi "Servizio negato" che si sono verificati in quel periodo di tempo.