[rules-users] Hello and my first question

Bojan Janisch bojan.janisch at scai.fraunhofer.de
Mon Jan 14 07:37:02 EST 2013


Solution:

So I've decided for a third solution. First was using the named consequence feature, 
but I did not want to have multiple consequence-blocks, that would only make confusing 
code. The second solution was extending the rule, that would have been a nice solution, 
but also confusing by growing optionally conditions. So I used the third solution, 
I've splitted the rule into two rules. It's almost the same as the extending version 
with a slight difference in the time when it comes for passing the condition.

I think the hierarchy will give a better overview by understanding the rules, thats 
why I choosed separation instead of extension rules.

State of my rules:

rule "Annotate Anatomy"
when
    $NE1 : NE(Type.contains("body"))
    $NE2 : NE(Type.contains("anatomy"))
then
    $anno : Annotation($NE1 + " " $NE2);
    anno.setType("Anatomy");
    list.add(anno);
end


rule "Add AnatomicSide to Anatomy"
when
    $AN : Annotation(Type.contains("Anatomy"))
    $NE : NE(Type.contains("anatomic"))
then
    $anno : Annotation($AN + " " $NE)
    anno.setType("Anatomy");
    list.add(anno);
    list.remove(AN);
end


Thanks for solving this problem.
Janisch

----- Ursprüngliche Mail -----
Von: "Wolfgang Laun" <wolfgang.laun at gmail.com>
An: "Rules Users List" <rules-users at lists.jboss.org>
Gesendet: Montag, 14. Januar 2013 12:56:58
Betreff: Re: [rules-users] Hello and my first question

Then the approach depends on the way $NE1, $NE2 and $NE3 are to be added
to the structured object. If the two or three values need to be
combined (e.g., concatenated in some specific order), you might use
two distinct rules as extensions of the common part:

rule "body-anatomy"
when
   $NE1 : NE(Type.contains("body"))
   $NE2 : NE(Type.contains("anatomy"))
then
end

rule "body-anatomy anatomic"
extends  "body-anatomy"
when
   $NE3: NE(Type.contains("anatomic"))
then
    combine $NE1, $NE2, $NE3 as required, add to...
end

rule "body-anatomy no anatomic"
extends  "body-anatomy"
when
    not NE(Type.contains("anatomic"))
then
    combine $NE1, $NE2 as required, add to...
end

If $NE1 + $NE2 and $NE3 can be added individually, you might omit the
third rule and add $NE1 + $NE2 in the first rule. Or use the named
consequence feature.

-W



On 14/01/2013, Bojan Janisch <bojan.janisch at scai.fraunhofer.de> wrote:
> Because the annotation should extract most of the unstructured information,
> into a structured object. So if there is optionally such an information like
> an anatomic side, I would want to add this information to my structured
> object.
>
> ----- Ursprüngliche Mail -----
> Von: "Wolfgang Laun" <wolfgang.laun at gmail.com>
> An: "Rules Users List" <rules-users at lists.jboss.org>
> Gesendet: Montag, 14. Januar 2013 12:22:37
> Betreff: Re: [rules-users] Hello and my first question
>
> I take "optional" to mean "don't care whether it is there or not" - so
> why don't you simply omit this condition?
>
> -W
>
> On 14/01/2013, Bojan Janisch <bojan.janisch at scai.fraunhofer.de> wrote:
>> Hello everybody,
>>
>> this is my first post and also my first question to you.
>> I've searched the net for quite some hours now, but don't get any
>> information regarding optionally conditions.
>>
>> I'm using drools to annotate some textobjects and I'm stucking with the
>> following rule:
>>
>> When there are two named entities, one body side and one anatomy in a text
>> (they're defined earlier by a textannotating system, so I'm working on
>> annotated objects) and there is a optionally anatomic side (it contains
>> generally something like "lateral" oder "medial" and so on), then generate
>> me a new annotation.
>>
>> So up to now I'm on this state:
>>
>> Rule "Anatomic Side"
>>
>> when
>>
>>  $NE1 : NE(Type.contains("body"))
>>  $NE2 : NE(Type.contains("anatomy"))
>>
>>  //So here starts the problem
>>  [$NE3 : NE(Type.contains("anatomic"))]
>>
>> then
>>  ...
>>
>> How can I set a condition as optionally or is there no such way?
>>
>> Thanks everyone to who reads this.
>> Janisch
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



More information about the rules-users mailing list