How to use Rete Algorithm

后端 未结 3 1271
耶瑟儿~
耶瑟儿~ 2021-02-09 17:40

How can i use Rete Algorithm in java?

Do i need to write my own algorithm implementation?

Or is there already implemented library available?

相关标签:
3条回答
  • 2021-02-09 18:29

    So this is a pretty old question, but ranks highly if you're googling for Rete Implementations, so I'll leave some info here.

    The wikipedia entry is pretty good and here is a paper about Rete/UL which is according to Doorenbos more efficient than ReteII Doorenbos, 1995.

    Some Implementations include:

    • Drools for java
    • Jess also java
    • Wongi-Engine for ruby (I use this one) based on the same paper as listed above.
    • Ruleby also ruby but defunct
    • Mirmir clojure
    • Clara Rules also clojure (added 4/20/15)
    • Rete for Triples clojure (maybe defunct?)
    • kongra's Rete haskell (wow) based on the same paper as listed above.
    • and all of these

    Its a really useful algorithm if you need to make decisions based on patterns of facts, and as a bonus, you'll have to learn some cool things about graphs and pattern matching.

    Hope this is helpful!

    0 讨论(0)
  • 2021-02-09 18:30

    A simple Google search for "Rete Algorithm Java" showed up this result (among others): http://java-source.net/open-source/rule-engines.

    The first entry reads: Drools is an Object-Oriented Rule Engine for Java. Drools is an augmented implementation of Forgy's Rete algorithm tailored for the Java language.

    So the answer seems to be: Yes, there already is a library that implements the algorithm you're looking for.

    0 讨论(0)
  • See the References section on the Wikipedia entry on the Rete Algorithm, it contains code snippets in both Pascal and LISP (?) style languages - nothing C-like, though.

    Cheers,

    0 讨论(0)
提交回复
热议问题