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" <[email protected]>
An: "Rules Users List" <[email protected]>
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 <[email protected]> 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" <[email protected]>
> An: "Rules Users List" <[email protected]>
> 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 <[email protected]> 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
>> [email protected]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to