44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
package drools
|
||
|
||
import static java.lang.String.format;
|
||
import static com.iqser.red.service.redaction.v1.server.document.services.RegexMatcher.anyMatch;
|
||
|
||
|
||
import java.util.List;
|
||
import java.util.LinkedList;
|
||
import java.util.HashSet;
|
||
|
||
import com.iqser.red.service.redaction.v1.server.document.graph.*
|
||
import com.iqser.red.service.redaction.v1.server.document.graph.nodes.*
|
||
import com.iqser.red.service.redaction.v1.server.redaction.model.EntityType;
|
||
import com.iqser.red.service.redaction.v1.model.FileAttribute;
|
||
import com.iqser.red.service.redaction.v1.model.Engine;
|
||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry;
|
||
import com.iqser.red.service.redaction.v1.server.redaction.utils.EntitySearchUtils;
|
||
import java.util.Set;
|
||
|
||
global DocumentGraph document
|
||
|
||
|
||
rule "1: Redact CBI_author"
|
||
|
||
when
|
||
FileAttribute(label == "Vertebrate Study" , value.toLowerCase() == "yes")
|
||
entity: EntityNode(type == "CBI_author")
|
||
then
|
||
entity.setRedact(true);
|
||
update(entity)
|
||
end
|
||
|
||
rule "2: do not redact genitive CBI_author"
|
||
|
||
when
|
||
entity: EntityNode(type == "CBI_author", anyMatch(textAfter, "['’’'ʼˈ´`‘′ʻ’']s"), redact == true)
|
||
then
|
||
entity.setRedact(false);
|
||
entity.setEntityType(EntityType.FALSE_POSITIVE);
|
||
update(entity)
|
||
end
|
||
|
||
|