[rules-users] Deploy package across several Drools-Guvnor servers (unattended)
Hi, I have a application that will be installed in several locations, and because of connection constraints, each location will run its own Drools-Guvnor server with a deployed package consisting of decision tables and BPMN processes. I want to make possible that when some asset is changed centrally, this change can be deployed (or replicated) across all Drools servers. I read about KnowledgeAgent to make hot deployments, but as far as I understood someone has to still build the package in each of the servers. Is it possible to do what I want? If yes please give me some tips on how to do it. If not what can I do to solve the deployment across multiple servers problem? -- View this message in context: http://drools.46999.n3.nabble.com/Deploy-package-across-several-Drools-Guvnor-servers-unattended-tp4023348.html Sent from the Drools: User forum mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] How to count the number of events that happened in the last X minutes and fire if is greater than Y
Hi Adrian, nice to see you here, you can do something like: Number(intValue Y ) from accumulate ( $e: MyEvent() over window:time(x m), sum($e)) On Mon, Apr 15, 2013 at 1:26 PM, Adrián Paredes adri...@epidataconsulting.com wrote: People, I'm new at Drools Fusion and I found a problem when I'm tryin to implement a Rule. I need to count the number of events that happened in the last X minutes, and fire the rule if the count is greater than Y. When I use window:time(Xm), each event slide the window, and does not help. ¿What should I do to solve my problem? Thx in advance. Regards. -- *Epidata Consulting | Deploying Ideas Ing. Adrián M. Paredes | Arquitecto Desarrollador adri...@epidataconsulting.com | Cel: (54911) 3297 1713 Argentina: Maipú 521 Piso 7 | Buenos Aires | Of: (5411) 5031 0060 Chile: Apoquindo 3600 Piso 7 y 9 | Las Condes - Santiago | Of: (+56) 2 495 8450 --- www.epidataconsulting.com Linkedin http://bit.ly/epidatalinkedin | Facebookhttp://www.facebook.com/epidata.consulting | Twitter http://twitter.com/epidata * ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- - MyJourney @ http://salaboy.com http://salaboy.wordpress.com - Co-Founder @ http://www.jugargentina.org - Co-Founder @ http://www.jbug.com.ar - Salatino Salaboy Mauricio - ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] How to count the number of events that happened in the last X minutes and fire if is greater than Y
count($e) rather than sum($e) Also: when accumulate( $e: MyEvent() over window:time(X m); $c: count( $e ); $c Y ) then -W -W On 15 April 2013 19:17, Mauricio Salatino sala...@gmail.com wrote: Hi Adrian, nice to see you here, you can do something like: Number(intValue Y ) from accumulate ( $e: MyEvent() over window:time(x m), sum($e)) On Mon, Apr 15, 2013 at 1:26 PM, Adrián Paredes adri...@epidataconsulting.com wrote: People, I'm new at Drools Fusion and I found a problem when I'm tryin to implement a Rule. I need to count the number of events that happened in the last X minutes, and fire the rule if the count is greater than Y. When I use window:time(Xm), each event slide the window, and does not help. ¿What should I do to solve my problem? Thx in advance. Regards. -- *Epidata Consulting | Deploying Ideas Ing. Adrián M. Paredes | Arquitecto Desarrollador adri...@epidataconsulting.com | Cel: (54911) 3297 1713 Argentina: Maipú 521 Piso 7 | Buenos Aires | Of: (5411) 5031 0060 Chile: Apoquindo 3600 Piso 7 y 9 | Las Condes - Santiago | Of: (+56) 2 495 8450 --- www.epidataconsulting.com Linkedin http://bit.ly/epidatalinkedin | Facebookhttp://www.facebook.com/epidata.consulting | Twitter http://twitter.com/epidata * ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- - MyJourney @ http://salaboy.com http://salaboy.wordpress.com - Co-Founder @ http://www.jugargentina.org - Co-Founder @ http://www.jbug.com.ar - Salatino Salaboy Mauricio - ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] How to count the number of events that happened in the last X minutes and fire if is greater than Y
Thank you Mauricio, Thank you Wolfgang!! Indeed, it was the way I had solved, but my problem was in another place (one of those silly mistakes). Thanks for your answers I could fix my other mistake. Thanks!! 2013/4/15 Wolfgang Laun wolfgang.l...@gmail.com count($e) rather than sum($e) Also: when accumulate( $e: MyEvent() over window:time(X m); $c: count( $e ); $c Y ) then -W -W On 15 April 2013 19:17, Mauricio Salatino sala...@gmail.com wrote: Hi Adrian, nice to see you here, you can do something like: Number(intValue Y ) from accumulate ( $e: MyEvent() over window:time(x m), sum($e)) On Mon, Apr 15, 2013 at 1:26 PM, Adrián Paredes adri...@epidataconsulting.com wrote: People, I'm new at Drools Fusion and I found a problem when I'm tryin to implement a Rule. I need to count the number of events that happened in the last X minutes, and fire the rule if the count is greater than Y. When I use window:time(Xm), each event slide the window, and does not help. ¿What should I do to solve my problem? Thx in advance. Regards. -- *Epidata Consulting | Deploying Ideas Ing. Adrián M. Paredes | Arquitecto Desarrollador adri...@epidataconsulting.com | Cel: (54911) 3297 1713 Argentina: Maipú 521 Piso 7 | Buenos Aires | Of: (5411) 5031 0060 Chile: Apoquindo 3600 Piso 7 y 9 | Las Condes - Santiago | Of: (+56) 2 495 8450 --- www.epidataconsulting.com Linkedin http://bit.ly/epidatalinkedin | Facebookhttp://www.facebook.com/epidata.consulting | Twitter http://twitter.com/epidata * ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- - MyJourney @ http://salaboy.com http://salaboy.wordpress.com - Co-Founder @ http://www.jugargentina.org - Co-Founder @ http://www.jbug.com.ar - Salatino Salaboy Mauricio - ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- *Epidata Consulting | Deploying Ideas Ing. Adrián M. Paredes | Arquitecto Desarrollador adri...@epidataconsulting.com | Cel: (54911) 3297 1713 Argentina: Maipú 521 Piso 7 | Buenos Aires | Of: (5411) 5031 0060 Chile: Apoquindo 3600 Piso 7 y 9 | Las Condes - Santiago | Of: (+56) 2 495 8450 --- www.epidataconsulting.com Linkedin http://bit.ly/epidatalinkedin | Facebookhttp://www.facebook.com/epidata.consulting | Twitter http://twitter.com/epidata * ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Drools Fusion: Finding an event that occuring after an event but not before it
I am trying to track when an event object Foo with a distinguishing identifier of Status. I want to try and identify a list of events when a Foo event with Status 2 happens after an event with Status 1 but at the same time a Status 1 has not happened before. fight now I've come up with: $foo1 : Foo($status : Status) not(Foo(Status == $status. this before $foo1)) $foos : ArrayList (size0) from collect ( Foo(Status != $status, this after $foo1)) Part of the problem I am having, is that a Foo event with the same Status can happen at the same timestamp. How do I get it to work so the rule only triggers once for multiple events on the same timestamp? -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Finding-an-event-that-occuring-after-an-event-but-not-before-it-tp4023352.html Sent from the Drools: User forum mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Drools Fusion: Finding an event that occuring after an event but not before it
If there is no other attribute that distinguishes between the two Foo objects at the same time and with the same status, then the theory says that there is just one fact/event and you just happen to have the data duplicated. Getting rid of the duplicate may be one way of solving your problem. Another approach would be to create a marker fact saying that you've dealt with a Foo at a certain time, and check for its absence, both in the rule you've (almost) shown. -W On 16/04/2013, burmanator alexbur...@gmail.com wrote: I am trying to track when an event object Foo with a distinguishing identifier of Status. I want to try and identify a list of events when a Foo event with Status 2 happens after an event with Status 1 but at the same time a Status 1 has not happened before. fight now I've come up with: $foo1 : Foo($status : Status) not(Foo(Status == $status. this before $foo1)) $foos : ArrayList (size0) from collect ( Foo(Status != $status, this after $foo1)) Part of the problem I am having, is that a Foo event with the same Status can happen at the same timestamp. How do I get it to work so the rule only triggers once for multiple events on the same timestamp? -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-Finding-an-event-that-occuring-after-an-event-but-not-before-it-tp4023352.html Sent from the Drools: User forum mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] drools queries: strange dependency
hi Davide, Your summary is quite accurate about my case. Thanks for the pointer, I will look in to hybrid chaining once I do a little investigation on why exactly the original problem occurred. I'm still having little issues with the 5.5.1 source compilation (for which your help worked flawlessly to get the source working, but there were test fails during the compilation. I will try myself to fix them before asking questions on that). As i said, the bigger problem is with the rules that are transitive in nature. Let's say there is a is_in rule which is used to derive spacial relationships. For instance, a concrete example is_in (uni_of_michigan, ann_arbor). is_in(ann_arbor, MI). is_in(MI, USA). is_in(A, C) - is_in(A, B), is_in(B, C). I want to deduce (in general course of reasoning) such stuff as is_in(uni_of_michigan, USA), but if I do it in the regular drools way, I'd end up with a load of unnecessary deductions. This is the biggest problem I have. If you want a more involved concrete example, say I define (for the sake of simplicity) romantic(A) - scenic(A), secluded(A). scenic(A) - next_to(A, B), scenic_artefact(B). scenic_artefact(B) - lake(B) or waterfall(B) or ... and so on secluded(A) - [ situated further than N km from the nearest city ] Now this last rule is where logic gives way to POJO and databases. It seems to me that this is the most sensible thing to do. Also, this is as far as I want to go at the moment. (Having known the non-boolean reasoning ability of drools from your mail, I can think of many ways I want to use it :) ) I looked into your profile and saw that you have a background on the ontologies. Especially what you have mentioned under Drools - Open Source Knowledge Integration and Reasoning Platform in your university profile seems quite intersting and seems to be exactly the things I might be needing in the near future. I was thinking that I'll have to implement non-boolean reasoning using some fuzzy toolkit, if it becomes available with drools I'll be really happy to give it a try. If you have any material to share for further reading on your drools research, I'd be grateful. Thanks, Upali On 15/04/2013 03:10, Davide Sottara wrote: Correct me if I'm wrong, I would summarize your requirements as follows: - you need some A-box reasoning, but you are fine with a rule-based approach - the object-oriented integration Drools provides is quite convenient - you have large data sets for which an opportunistic, query-oriented approach would work better rather than a fully generative forward chaining approach Drools hybrid-chaining approach could be very useful here - I'm not sure how well documented it is, and how you are planning to use it, but it would be interesting to see one of your rules - even stripped of the details you don't want to show - to discuss the behaviour of the engine and its implications. I had a use case apparently very similar to yours some time ago.. I'm working even now on some experimental forms of rule/object/ontology integration. The trait feature might be an alternative to the explicit addition of classes to objects .. it was enhanced a few days ago to support updates and modifications. If you have an ontology to begin with, you might also be interested in the ontology - class conversion tool I'm working on even now Davide ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users