Fork me on GitHub

@ryanbrush: so, i suspect this might be considered out of scope for clara, but all the same: any thoughts on rule persistence/versioning? for instance, i might receive rules over the wire.


if this is the case, I may need to for instance, make a function registry so functions within the LHS or RHS are resolvable when I read them in


is this something you or anyone else following along has dealt with? what'd you choose as a method of versioning and mapping rule logic?


@devn We just keep rules in source control and it let it handle versioning. I'd imagine a variety of content management systems would be up to the task. As for a function registry, I just use fully-qualified function names from a library, and just have rules depend on a specific library version to use those functions. So not so much as a "function registry" as just using a versioned dependency JAR and qualified function names.


@devn Of course, a more sophisticated solution could be built, but I've found just using source control and dependency management sufficient for our needs. And, as you know, Clara rules are just data structures that could be stored wherever convenient.


any recommended reading on the subject of rules systems design?


@xandrews: I'm going old school in my reading list


I picked up Expert Systems - Design and Development by John Durkin


Rule-based programming with OPS5, Programming Expert Systems in OPS5


As someone who's still quite the newb, I've been learning from the simpler systems of the past like CLIPS and OPS5


There's another much more official looking book that I have not picked up