Semantic Web Drools Module, Request for Feedbak
by Xavier Breton
Hi,
I'm looking for feedback, I'll develop a Semantic Web Drools Module that
will be the subject of my Master Degree Tesis.
The idea is to use Eclipse Modelling Framework (EMF) for prototyping and
follow a Model Driven Architecture (MDA) where the source language is
Semantic of Business Vocabularies and Business Rules (SBVR) and the target
language is Drools DRL.
The mapping could be (PIM level):
- Semantic Web Rule Language (SWRL)
- Ontology Web Language (OWL)
- RuleML
- Rule Interchange Format (RIF)
- REWERSE Rule Markup Language (R2ML)
It could be added to the module at the source UML or Entity Relationship
like models to transform the models into SBVR.
Regards
Xavier Breton
10 years, 10 months
Guided Editor in BRMS / Guvnor Version 5 (Snapshot of 26 June)
by Paul Browne
Folks,
For various reasons I'm trying out the Guided Editor for Business Rules in
the Guvnor Version 5 (Snapshot of 26 June from Hudson, deployed on JBoss App
Server 4.2.2GA).
I've created the Package / Category and uploaded a simple fact model (as
works in BRMS version 4). I create a new business rule using the guided
editor and the screen shows successfully with both 'When' and 'Then'
parts.Assume the next question is due to me missing something, but wanted to
double check:
When I press the green '+' to the right of the screen I am shown the message
/ dialog layer saying '
*Add a condition to the rule... *or* Add an action to the rule.
*Problem is that there doesn't appear to be a way of adding a condition or
action. The only thing I'm seeing in the logs is
* (Contexts.java:flushAndDestroyContexts:335) could not discover
transaction status
*Am I missing something or should I come back to Guvnor later in the
development Cycle?
Thanks
Paul
12 years, 9 months
unknown error while parsing
by Boschung Daniel
hi folks
drools prompt me to contact the development team. the following error apears, whithout stacktrace, while developing
a rule. maybe the error is known to you?!
thanks for a little statement
daniel
14 years, 1 month
Drools + Spring
by Abu Rasheed
Are there any plans to have Spring support in drools-api? The last mail that
I saw in searching the topic is dated last year, and there are no new
postings related to this.
Does anyone have any success in injecting KnowledgeBase into their apps
using Spring? Is there any examples out there that I can refer to?
Thanks
14 years, 8 months
Trouble using constants to access Maps
by @ndré
Hi all!
I'm writing a rule that contains the following statement:
$agreementOffer:AgreementOffer($logicalFixedNumber:configurationParameters["6410"])
This results of this is not surprisingly that both $agreementOffer and
$logicalFixedNumber get assigned a value.
Instead of using the "magic value" 6410, I want to use ParameterId constant
class, which implements the toString() to return the value.
I have tried several different ways to refer to the constant but without
luck. The errors says:
Unable to create Field Extractor for
'configurationParameters[ParameterId.LOGICAL_NUMBER_FIXED]
I have also tried to extract the value of the
ParameterId.LOGICAL_NUMBER_FIXED into a local variable, which I can see
prints the correct value, but the error says the same:
Unable to create Field Extractor for
'configurationParameters[$logicalNumberFixedConstant]
Do anyone understand what is happening here and what I do wrong?
I'm are still on the JKD 1.4, and uses MVEL 1.3
Thanks,
@ndré
--
View this message in context: http://n3.nabble.com/Trouble-using-constants-to-access-Maps-tp178720p1787...
Sent from the Drools - Dev mailing list archive at Nabble.com.
14 years, 10 months
Problems with latests 5.1.SNAPSHOT
by Barry Kaplan
Before the lastest snapshot I had rules like:
rule "Device is NotOperating" dialect "mvel"
when
device: Device(connected == true)
...
then
insertLogical(
DeviceOperatingStateTimeline.start(new DeviceOperatingState(device.id,
NotOperating()))
)
end
Now I get the error:
Caused by: [Error: unable to access property (null parent): device]
[Near : {... Unknown ....}]
If I simply reference the 'device' variable before the insertLogical then
the rule compiles and works:
then
Device d = device // System.out.println(device) works as well
insertLogical(
DeviceOperatingStateTimeline.start(new DeviceOperatingState(device.id,
NotOperating()))
)
end
I don't even know where to begin to look for such a cause. I've debugged
deep in the MVEL compilation but no joy.
Also, many of my other rules no longer compiler, also seemingly mvel
related. I've thunked back to 5.0.1 and now I have green bars again.
-barry
--
View this message in context: http://n3.nabble.com/Problems-with-latests-5-1-SNAPSHOT-tp140043p140043.html
Sent from the Drools - Dev mailing list archive at Nabble.com.
14 years, 11 months
Drools trunk build issue - any info?
by Peter Sellars
I have been trying to synchronize and get my patch to work with the latest
version of Drools 5.1.0.SNAPSHOT code from
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk without success.
I tried the same snapshot build on another of the Tohu projects that didn't
use the new patched code and got the same error.
I had tried to build the whole JBoss snapshot from the root pom. Had
encountered several issues due to dependency issues. What would you advise
in these circumstances? I can roll back my local version to a version that
works with the patched code (but then this will not work with the next
version containing the current changes as it is).
I have included the error below....(may give someone more info about the
issue).
org.drools.runtime.rule.ConsequenceException: rule: LoyaltyCard
at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handl
eException(DefaultConsequenceExceptionHandler.java:23)
at org.drools.common.DefaultAgenda.fireActivation
(DefaultAgenda.java:981
)
at org.drools.common.DefaultAgenda.fireNextItem
(DefaultAgenda.java:918)
at org.drools.common.DefaultAgenda.fireAllRules
(DefaultAgenda.java:1130)
at org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingM
emory.java:739)
at org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingM
emory.java:705)
at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules
(StatefulKno
wledgeSessionImpl.java:200)
at org.drools.command.runtime.rule.FireAllRulesCommand.execute
(FireAllRu
lesCommand.java:56)
at org.drools.command.runtime.rule.FireAllRulesCommand.execute
(FireAllRu
lesCommand.java:13)
at org.drools.runtime.impl.BatchExecutionImpl.execute
(BatchExecutionImpl
.java:35)
at org.drools.runtime.impl.BatchExecutionImpl.execute
(BatchExecutionImpl
.java:15)
at org.drools.impl.StatefulKnowledgeSessionImpl.execute
(StatefulKnowledg
eSessionImpl.java:826)
at org.drools.impl.StatefulKnowledgeSessionImpl.execute
(StatefulKnowledg
eSessionImpl.java:811)
at org.drools.runtime.pipeline.impl.ExecutorStage.execute
(ExecutorStage.
java:29)
at org.drools.runtime.pipeline.impl.ExecutorStage.receive
(ExecutorStage.
java:19)
at org.drools.runtime.pipeline.impl.BaseEmitter.emit
(BaseEmitter.java:31
)
at
org.drools.runtime.pipeline.impl.XStreamFromXmlTransformer.receive(XS
treamFromXmlTransformer.java:47)
at org.drools.runtime.pipeline.impl.BaseEmitter.emit
(BaseEmitter.java:31
)
at
org.drools.runtime.pipeline.impl.StatefulKnowledgeSessionPipelineImpl
.insert(StatefulKnowledgeSessionPipelineImpl.java:40)
at drools.rex.SessionExecutor$.execute(SessionExecutor.scala:26)
at drools.rex.Server.execute(Server.scala:32)
at drools.rex.StatefulServer.doPost(Server.scala:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle
(ServletHolder.java:487
)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:3
62)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.jav
a:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:1
81)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:7
26)
at org.mortbay.jetty.webapp.WebAppContext.handle
(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle
(ContextHand
lerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle
(HandlerCollection.
java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:1
52)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest
(HttpConnection.java:50
5)
at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnectio
n.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.ja
va:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run
(QueuedThreadPool.j
ava:488)
Caused by: [Error: drools.insertLogical(questionnaire): null]
[Near : {... Unknown ....}]
^
[Line: 1, Column: 0]
at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGet
Chain(ReflectiveAccessorOptimizer.java:373)
at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAc
cessor(ReflectiveAccessorOptimizer.java:138)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated
(ASTNode.java:133)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue
(CompiledExpression.jav
a:104)
at org.mvel2.MVEL.executeExpression(MVEL.java:995)
at org.drools.base.mvel.MVELConsequence.evaluate
(MVELConsequence.java:87
)
at org.drools.common.DefaultAgenda.fireActivation
(DefaultAgenda.java:972
)
... 39 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(
ReflectiveAccessorOptimizer.java:930)
at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGet
Chain(ReflectiveAccessorOptimizer.java:315)
... 46 more
Caused by: java.lang.NullPointerException
at org.drools.reteoo.CollectNode.modifyTuple(CollectNode.java:354)
at org.drools.reteoo.CollectNode.assertObject(CollectNode.java:259)
at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject
(Singl
eObjectSinkAdapter.java:42)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147)
at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(
CompositeObjectSinkAdapter.java:360)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Co
mpositeObjectSinkAdapter.java:337)
at org.drools.reteoo.ObjectTypeNode.assertObject
(ObjectTypeNode.java:184
)
at org.drools.reteoo.EntryPointNode.assertObject
(EntryPointNode.java:147
)
at org.drools.common.AbstractWorkingMemory.insert
(AbstractWorkingMemory.
java:1135)
at org.drools.common.AbstractWorkingMemory.insert
(AbstractWorkingMemory.
java:1086)
at org.drools.base.DefaultKnowledgeHelper.insertLogical
(DefaultKnowledge
Helper.java:129)
at org.drools.base.DefaultKnowledgeHelper.insertLogical
(DefaultKnowledge
Helper.java:123)
... 52 more
Regards,
Peter Sellars
Senior Developer
Solnet Solutions Limited
Level 7, Brookfields House
19 Victoria Street, Auckland 1010, New Zealand
PO Box 6619, Auckland 1141, New Zealand
DDI: +64 9 977 5808 Mobile: +64 21 809 009
Main: +64 9 977 5800 Fax: +64 9 977 5801
www.solnetsolutions.co.nz
A Solnet Group Company
Attention:
This email may contain information intended for the sole use of
the original recipient. Please respect this when sharing or
disclosing this email's contents with any third party. If you
believe you have received this email in error, please delete it
and notify the sender or postmaster(a)solnetsolutions.co.nz as
soon as possible. The content of this email does not necessarily
reflect the views of Solnet Solutions Ltd.
14 years, 11 months
OSGi ready commit gives problems
by Geoffrey De Smet
Hi guys,
The OSGi ready commit on trunk of a couple of days ago, changed many
pom.xml files, including the Drools core and Drools Planner pom.xml's.
For example, something like this:
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
Became:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.lang</artifactId>
</dependency>
See for example this pom.xml file:
http://fisheye.jboss.org/browse/JBossRules/trunk/drools-planner/drools-pl...
This gives rise to 2 problems:
1) It uses different groupId:artifactId's!
The ramifications of this are big & very backward incompatible:
Lets say project X depends on drools:
- X excludes commons-lang:commons-lang from the drools dependency, now
he'll get it anyway, because
org.apache.commons:com.springsource.org.apache.commons.lang is something
else
- X depends on commons-lang:commons-lang, now he'll get it twice
- X depends on commons-lang:commons-lang in a different version, now
he'll get it twice and maven will not get a change to do version
conflict resolution (picking the highest), now he'll get it twice
and drools might end up being run with a too low commons-lang version!
Remember: most users don't use OSGi and don't like a "com.springsource"
in their artifactId's.
2) Build problems too apparently:
<nheron> Project ID: org.drools.planner:drools-planner-core
<nheron> POM Location:
/home/nheron/workspace-IntellJ-planner/drools-planner-core/pom.xml
<nheron> Validation Messages:
<nheron> [0] 'dependencies.dependency.version' is missing for
org.apache.commons:com.springsource.org.apache.commons.lang
<nheron> [1] 'dependencies.dependency.version' is missing for
org.apache.commons:com.springsource.org.apache.commons.io
<nheron> [2] 'dependencies.dependency.version' is missing for
com.thoughtworks.xstream:com.springsource.com.thoughtworks.xstream
Because it is backward incompatible, I propose to shelve the OSGi ready
changes till drools 6.0?
--
With kind regards,
Geoffrey De Smet
14 years, 11 months