I have historical transaction data. The requirement is to run rules to evaluate if the new transaction is evaluating as true based on the historical data.
For eg: A new Payment transaction will evaluate the following rules:
- If payment is made by credit card
- If there were multiple payment failures (considering historical data)
- If the credit card in the payment is used by some other account.
I will need to know all the rules that is evaluated as true.
There are above 100 relationship based rules that need to run on such historical data (for several years). Thus, I was assuming to use a Graph DB to store the data, but not sure how to run 100s of rules on the full data set each time performantly?
One option was: Store the data in Graph-based DB, Run complex SparQL (covering all the rules) each time, but in this case, I would not know which rule returned true.
Any ideas, please? Also is it possible to create such rules graphically (by end-users instead of hard coding such as Drools)