2012-01-25 122 views
21

Necesito un motor de reglas ligero. Tenemos alrededor de 50 reglas en este momento, pero las reglas cambian constantemente.¿Hay algún motor de reglas implementado en NodeJS/en Javascript?

Podríamos usar Drools, pero supongo que sería excesivo. ¿Hay alguna implementación más ligera, F/OSS?

Soy consciente de la otra pregunta similar, pero eso es 2 años y no tiene una buena respuesta. (y no tengo suficientes representantes para comentar esa pregunta)

+3

relacionado: http://stackoverflow.com/questions/3430885/lightweight-rules-engine-in-javascript http://stackoverflow.com/questions/7661322/rule-engine-in-javascript –

+0

@DanD.Gracias por los enlaces, aunque el primero tiene más de un año (que es el que mencioné en la explicación de la pregunta). El segundo enlace, JSONRules, parece prometedor, aunque parece estar limitado a la manipulación de objetos DOM, a primera vista. Sin embargo, gracias por eso, se había perdido eso antes. – Samudra

Respuesta

5

He creado un nuevo paquete de nodos llamado node-clips que le permite integrar el popular motor de reglas CLIPS (Sistema de producción integrado de lenguaje C) en las aplicaciones de su nodo.

https://github.com/atrniv/node-clips

clips es una herramienta de sistema de desarrollo y experto entrega productivo que proporciona un entorno completo para la construcción de sistemas expertos basados ​​objeto regla y/o. Creado en 1985, CLIPS ahora se usa ampliamente en todo el gobierno, la industria y la academia.

Pedido CLIPS la documentación oficial para más información: http://clipsrules.sourceforge.net/

3

Desarrollo este one. Espero que te haya encontrado interesante.

De Descripción:

reglas de negocio motor es un tipo de software desarrollado para soportar entornos en los que los cambios en las reglas en una base regular, como la evaluación de riesgos, análisis de textos, minería de datos y otros softwares diseñados para la toma de decisiones.

4

Obviamente, llegué muy tarde al juego pero he usado node-rules con cierto éxito.

3

Estoy incluso más tarde en el juego, pero si la gente todavía está buscando, durable_rules es un gran proyecto que he estado usando.

durable_rules almacena estado en redis y usa Rete algorithm that Jesus Ruiz cooked up para hacer inferencia de forma distribuida. El proyecto cuenta con soporte activo e incluso tiene soporte de TypeScript si te gusta este tipo de cosas.

3

Soy mucho más tarde también, pero ya que está pidiendo una opción más ligera, considere json-rules-engine. Autoricé esta biblioteca en un intento de crear un motor de reglas simple y de rendimiento con fácil persistencia de reglas (las reglas se expresan en json).

No es una solución empresarial, y es menos ambiciosa que nools. Muchas empresas tienen necesidades relativamente básicas cuando se trata de motores de reglas: lógica booleana, operadores de comparación e (idealmente) reglas legibles por humanos.

Su caso de uso de tener solo 50 reglas que cambian a menudo (es decir, altamente configurable), es realmente el público objetivo para esta biblioteca.

Cuestiones relacionadas