BRMS and RMI
by Blanco Emanuele
Hi there,
I'm trying to modify the BRMS to use a RMI-exposed implementation of Apache Jackrabbit. But, when I deploy my modified WAR, I come to this:
13:16:03,298 INFO [STDOUT] Setting up the repository, registering node types et
c.
13:16:03,359 INFO [STDOUT] DEBUG 10-10 13:16:03,328 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: nt:folder named: drools:repository to
parent node named
13:16:03,400 INFO [STDOUT] DEBUG 10-10 13:16:03,389 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: nt:folder named: drools:package_area t
o parent node named drools:repository
13:16:03,436 INFO [STDOUT] DEBUG 10-10 13:16:03,435 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: nt:folder named: drools:packagesnapsho
t_area to parent node named drools:repository
13:16:03,455 INFO [STDOUT] DEBUG 10-10 13:16:03,454 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: nt:folder named: drools:tag_area to pa
rent node named drools:repository
13:16:03,475 INFO [STDOUT] DEBUG 10-10 13:16:03,474 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: nt:folder named: drools:state_area to
parent node named drools:repository
13:16:03,505 INFO [STDOUT] DEBUG 10-10 13:16:03,503 (RulesRepository.java:addNo
deIfNew:131) Adding new node of type: drools:stateNodeType named: Draft to p
arent node named drools:state_area
13:16:03,532 INFO [STDOUT] ERROR 10-10 13:16:03,528 (RulesRepository.java:addNo
deIfNew:135) Caught Exception
javax.jcr.PathNotFoundException: Draft
at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(
ServerObject.java:126)
at org.apache.jackrabbit.rmi.server.ServerNode.getNode(ServerNode.java:2
29)...
I'm using Drools 4.0.7 on JBoss 4.2.1. Anyone has tried this modify or have something to suggest me? Thank you.
--
Emanuele Blanco
Open Reply s.r.l.
C.so Francia 110, Torino
* e-mail: e.blanco(a)reply.it
________________________________
--
The information transmitted is intended for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
16 years, 2 months
fact base storage?
by Evans, Jess
I'm trying to come up to speed on the drools capabilities. I see that
drools supports loading rules from a decision table in a spreadsheet. I
have a set of conversion tables that I'd like to represent as facts
asserted when the rule base has been loaded, but before processing user
requests. I could always model lookup tables in a database, but I'd
rather not have to build the CRUD interface to manage them. I'd rather
represent them so that each row in a spreadsheet represents a fact
(based upon a predefined java bean). Of course, I could custom
implement this functionality. However, I was wondering if drools
supports some OOTB means of loading facts from Excel or other resource?
thanks,
-Jess
16 years, 2 months
newbie - dynamic rules in java and db design
by techluver
I'm very new to drools world.. so please bear with me my beginner question..
I've following requirements in
*store the rules in database and load them dynamically.
*.provide the editor to the business user where they can add/edt the rules.
I think for this requirement, either i can go with BRMS or implement it my
own.
IF I use BRMS, Then my understanding is that it will have its set of
tables(no explicit db design is required) and we can manage the rules using
web editor.
1. Will it easy for business user to manager rules on their own without
interruption of developers?
2. Can we run BRMS 4.x in tomcat 5.5 version?
If I dont use BRMS, then i have to come up with own way of managing rules.
In this case, I'm planning to store the rules in GUI friendly format (I've
not decided on the format..)in the database(and provide my own GUI to manage
the rules) . Then Application will convert those rules into drools specific
language and load dynamically.
3. Is this right approach? if not, please give your suggestion.
4. I think rules can be written in java or drools native language. In my
case, When I read the rules from db which is in GUI friendly format,Will it
be easy to convert that to java rules or drools native language?
Thanks in advance for your help.
--
View this message in context: http://www.nabble.com/newbie---dynamic-rules-in-java-and-db-design-tp1974...
Sent from the drools - user mailing list archive at Nabble.com.
16 years, 2 months
BRMS and JCR over JNDI
by Blanco Emanuele
Hi there,
I'm in need to modify the Drools BRMS to use a JCR exposed over JNDI.
I successfully deployed Jackrabbit over JNDI (I can access it via an EJB and making a context.lookup()), but I can't get it to work in JBRMS. I modified the BRMSRepositoryConfiguration.create() to instantiate a context and to make a lookup on it, but my lookup returns null (with no naming exceptions), even if I'm deploying the war on the same application server where the Jackrabbit rar is deployed.
I wonder if anybody on this mailing list has similar experiences to share, and/or can suggest me some tricks. Google didn't helped a lot.
I'm using Drools 4.0.7 on JBoss 4.2.1.
Thank you.
--
Emanuele Blanco
________________________________
--
The information transmitted is intended for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
16 years, 2 months
Fwd: Special Journal Issue IEEE TKDE: Call for Contributions
by paschke@mi.fu-berlin.de
Dear Colleagues,
Please consider to participate in RuleML-2008
(http://2008.ruleml.org/) which will be in about 3 weeks in Orlando,
Florida, collocated with the world largest Business Rules Forum.
We have a very interesting program with renowned speakers, a
prestigious rules Challenge, a special session + panel about Rule
standards, etc.
We are also editing a special issue of IEEE TKDE. Please consider to
contribute to this issue and forward the open call for contributions
(below) to your interested colleagues.
Thanks,
Adrian
[ our apologies should you receive this message more than one time ]
===========================================================================
CALL FOR Contributions
Rule Representation, Interchange and Reasoning in Distributed,
Heterogeneous Environments
Special Issue of IEEE Transactions on Knowledge and Data Engineering
Guest Editors: N. Bassiliades, G. Governatori, A. Paschke, J.
Dix
===========================================================================
In recent years rule based technologies have enjoyed remarkable
adoption in two areas: (1) Business Rule Processing and (2)
Web-Centered Reasoning. The first trend is caused by the software
development life cycle, which needs to be accelerated at reduced cost.
The second trend is related to the Semantic Web and Service-oriented
technologies, which aim to turn the Web into a huge repository of
cross-referenced, machine-understandable data and processes. For both
trends, rules can be used to extract, derive, transform, and integrate
information in a platform-independent manner.
While early rule engines and environments were complex, expensive to
maintain, and not very user friendly, the current generation of rule
technology provides enhanced usability, scalability and performance,
and is less costly. A general advantage of using rules is that they
are usually represented in a platform independent manner, often using
XML. This fits well into today's distributed, heterogeneous Web-based
system environments.
Rules represented in standardized Web formats can be discovered,
interchanged and invoked at runtime within and across Web systems, and
can be interpreted and executed on any platform.
This special issue solicits state-of-the-art approaches, solutions and
applications in the area of Rule Representation, Reasoning and
Interchange in the context of distributed, (partially) open,
heterogeneous environments, such as the Semantic Web, Intelligent
Multi-Agent Systems, Event-Driven Architectures and Service-Oriented
Computing. We strongly advise that solicited contributions should
clearly identify the target class of applications they enable.
=======
Topics
=======
Original contributions, not currently under review or accepted by
another journal, are solicited in relevant areas including (but not
limited to) the
following:
- Rule Representation and Languages
* Rule languages for exchanging and processing information through the
web
* Representation and meta-annotation of rules and rule sets for
publication and interchange
* Event-driven/action rule languages and models
* Rule-based event processing languages and rule-based complex event
processing
* Modeling of executable rule specifications and tool support
* Natural-language processing of rules
* Graphical processing, modeling and rendering of rules
* Rules in web 2.0, web 3.0, semantic web technologies and web
intelligence research
- Reasoning and Rule Engines
* Execution models, rule engines, and environments
* Rule-based (multi-valued) reasoning with and representing uncertain
and fuzzy information
* Rule-based reasoning with non-monotonic negation, modalities, deontic,
temporal, priority, scoped or other rule qualifications
* Rule-based default reasoning with default logic, defeasible logic, and
answer set programming
* Compilation vs. interpretation approaches of rules
* Hybrid rule systems
- Rule Interchange and Integration
* Interchange and refactoring of rule bases in heterogeneous execution
environments
* Rule-based agility and its role in middleware
* Communication between rule based systems using interchange formats and
processing / communication middleware
* Information integration of external data and domain knowledge into rules
* Homogeneous and heterogeneous integration of rules and ontologies
* Extraction and reengineering of platform-independent, interchangeable
rules and rule models from existing platform-specific resources
* Rule interchange standards and related industry interchange formats
* Incorporation of rule technology into distributed enterprise
application architectures
* Interoperation between different rule formats and ontological domain
conceptualization
* Translation of interchangeable and domain-independent rule formats and
rule models into executable technical rule specifications
- Rule Engineering and Repositories
* Verification and validation of interchanged rule bases in
heterogeneous execution environments
* Practical solutions tackling the real-world software engineering
requirements of rule-based systems in open, distributed environments
* Collaborative authoring, modeling and engineering of rule
specifications and rule repositories
* Management and maintenance of distributed rule bases and rule
repositories during their lifecycle
- Web Rule Applications
* Applications and integration of rules in web standards
* Applications of rules in the semantic web and pragmatic web
* Applications based on (semantic) web rule standardization or
standards-proposing efforts
* Applications of rules in e.g. legal reasoning, compliance rules,
security, government, security, risk management, trust and proof
reasoning, etc.
* E-contracting and automated negotiations with rule-based declarative
strategies
* Specification, execution and management of rule-based policies and
electronic contracts
* Rule-based software agents and (web) services
* Theoretical and/or empirical evaluation of rule-based system
performance and scalability
=======================
Submission Guidelines
=======================
Prospective authors should prepare manuscripts according to the Information
for Authors as published in recent issues of the journal or at
http://www.computer.org/tkde/. Note that mandatory over-length page charges
and color charges will apply.
Manuscripts should be submitted through the online IEEE manuscript
submission system at https://mc.manuscriptcentral.com/cs-ieee.
Updated information of this call can be found at
http://lpis.csd.auth.gr/publications/tkde-si/.
=======================
Schedule
=======================
Deadline for paper submission: March 1, 2009
Completion of first review: June 19, 2009
Minor/Major revision due: August 21, 2009
Final decision notification: November 6, 2009
Publication materials due: December 4, 2009
Publication date (tentative): July 2010
=======================
Guest Editors
=======================
Nick Bassiliades, Aristotle University of Thessaloniki, Greece
nbassili AT csd.auth.gr
Guido Governatori, NICTA, Australia
guido.governatori AT nicta.com.au
Adrian Paschke, Free University Berlin, Corporate Semantic Web, Germany
paschke AT inf.fu-berlin.de
Jurgen Dix, Clausthal University of Technology, Germany
dix AT tu-clausthal.de
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
16 years, 2 months
Re: not exists / forall(not) logically equivalent, behave differently
by tim tim
edson,
thanks a lot for your answer.
now i came to a new problem.
i stated the rule as you said:
rule "no dog without a tail"
when
$dog :Dog()
not( Tail(dog == $dog) )
then
// fire rule
end
but now, if i do
workingMemory.insert(dog);
workingMemory.insert(dog.getTail());
workingMemory.fireAllRules();
modifyRetract(dogHandle);
dog.changeHashCode(); // do something that changes the hashCode of the dog
modifyInsert(dogHandle);
workingMemory.fireAllRules();
in the second fireAllRules() the rule fires, even though there is a
tail for the dog.
am i not allowed to do an opperation that changes the hashCode of the
modified object between the
modifyRetract() and modifyInsert() ?
should i totally retract the object, and insert it again instead?
thank you, tim
> I believe there is an open ticket for a bug when using "not(exists())" in 5.0. I did not investigated yet, but I believe this is a regression in the new asymmetric matching algorithm in 5.0. Anyway, we will fix it before releasing the final version.
>
> Meantime, just use:
>
>not( Tail(dog == $dog) )
>
> Since the "exists" is redundant there because "not" is the existential operator, not the "boolean" operator.
>
> []s
> Edson
2008/10/6 tim tim <timbaermannextra@...>
hello there,
i have a rule, that should fire, when a required part of a whole is missing.
lets say the whole is a dog, and the required part the tail.
then the rule should fire, when there is a dog without a tail.
i stated the rule in two logically equivalent ways.
1) when we have a dog, and all existing tails belong to other
peoples dogs, the rule should fire:
rule "no dog without a tail; forall"
when
$dog :Dog()
forall($t : Tail()
Tail(dog != $dog))
then
// fire rule
end
2) when we have a dog and no tail exists that belongs to this dog
the rule should fire:
rule "no dog without a tail; not exists"
when
$dog :Dog()
not( exists( Tail(dog == $dog)))
then
// fire rule
end
and they really do behave similar, but not the same..
workingMemory.insert(dog);
workingMemory.insert(dog.getTail());
workingMemory.fireAllRules();
// here both did not fire, but when i go on:
workingMemory.modifyRetract(dogHandle)
workingMemory.modifyInsert(dogHandle, dog)
workingMemory.fireAllRules();
// now the not(exists(..)) version did fire, whereas the
forall(..) version did not.
of course both rules should not have fired, nothing changed for
the dogs relationship
with its tail.
i am using the 5.0.0.snapshot version of drools but i can not
imagine that this is an
unknown bug, as this is rather basic predicate logic.
what am i missing?
best, tim
16 years, 2 months
Writing rules using java..
by Kolla, Sandeep
Hi Rahul,
Its not about storing the whole file into the database.
I would have a Table representing the parameteres required to construct
a rule.
For example.
Tables:
RuleSetTable:
Ruleset_id
Ruleset_name
RuleTable:
Rule_id
Rule_name
Rule_saliance
Rule_condition
Rule_consequence
Ruleset_id
Now while loading the rules the application basically should read from
the DB, and construct the rules, as everything required to construct the
rules is avaliable in the tables.
This requirement had come up because as the rules keep changing quite
frequently, we don't want to bring down the application to load a new
DRL file.
Hope you understood what I want to achieve.
Thanks much,
Sandeep.
16 years, 2 months