protocol
ripple_down_rules_common_protocol
Common orotocol for Ripple-Down Rules models.
logtalk_load(ripple_down_rules(loader))staticPublic predicates
new/1
Creates an empty Ripple-Down Rules model using default options.
staticnew(Model)new(-compound) - onenew/2
Creates an empty Ripple-Down Rules model using the given options.
staticnew(Model,Options)new(-compound,+list(compound)) - one_or_errorOptions is a variable or a partial list:instantiation_errorOptions is neither a variable nor a list:type_error(list,Options)Option of the list Options is neither a variable nor a compound term:type_error(compound,Option)Option of the list Options is a compound term but not a valid option:domain_error(option,Option)classify/3
Classifies a case using a Ripple-Down Rules model.
staticclassify(Model,Case,Conclusion)classify(+compound,@term,--term) - oneclassify/4
Classifies a case and returns an ordered inference trace.
staticclassify(Model,Case,Conclusion,Trace)classify(+compound,@term,--term,-list(compound)) - onerevise/6
Returns a new model after applying one correction. The scrdr implementation accepts the correction atom replace. The mcrdr implementation accepts the correction atoms add, remove, and filter. The grdr implementation accepts the correction atoms supported by the keyed submodel and requires the second argument to be a Key-Case pair. The condition closure is called with the case and current conclusions. The conclusion closure is called with the case and current conclusions plus an output argument.
staticrevise(Model,Case,Correction,Condition,Conclusion,NewRDR)revise(*,*,*,2,3,*)revise(+compound,@term,+atom,+callable,+callable,-compound) - one_or_errorCorrection is a variable:instantiation_errorCorrection is not supported by the receiving implementation or keyed submodel:domain_error(ripple_down_rule_correction,Correction)as_list/2
Returns stable preorder descriptors for all rules in a model.
staticas_list(Model,Rules)as_list(+compound,-list(compound)) - onesize/2
Returns the number of rules in a model.
staticsize(Model,Size)size(+compound,-integer) - onecheck_model/1
Checks that a term is a structurally valid model for the receiving implementation.
staticcheck_model(Model)check_model(@compound) - one_or_errorModel is a variable:instantiation_errorModel is neither a variable nor a valid model:domain_error(ripple_down_rules_model,Model)valid_model/1
True iff the argument is a structurally valid model for the receiving implementation.
staticvalid_model(Model)valid_model(@compound) - zero_or_oneProtected predicates
(none)
Private predicates
(none)
Operators
(none)