I actually wonder why your rules work. I am quite sure that they match too often, i. e. they match also if only one of the conjunct rule elements match.
You can simply try that by using a wrong string in the check like "NG" instead of "Neil Gaiman" Anyways, the problem will be fixed in a few minutes and will be part of the next release. Best, Peter Am 22.02.2017 um 09:38 schrieb Peter Klügl: > Thanks. Maybe its just a bug in 2.5.0 I already fixed. I'll investigate it. > > > Am 22.02.2017 um 09:24 schrieb José Vicente Moyano Murillo: >> Thank you very much Peter. Your advice was amazing. >> >> We tried the first option using Conjunct rules and as you said it does not >> work with version 2.5.0. But we change a little your example and it works >> perfectly witn 2.4.0 and 2.5.0 >> >> We use theses examples with success: >> >> DECLARE Annotation RuleDetection; >> Book{ -> CREATE(NeilsBook) } <- { >> Attribute{Attribute.name=="title", Attribute.ct=="Norse Mythology"}" >> % >> Attribute{Attribute.name=="author", Attribute.ct=="Neil >> Gaiman"};" >> }; >> >> >> DECLARE Annotation RuleDetection; >> Book{ -> CREATE(NeilsBook) } <- { >> Attribute{FEATURE("name","title"), FEATURE("ct", "Norse Mythology")}" >> % >> Attribute{FEATURE("name","author"), FEATURE("ct", "Neil >> Gaiman")}; >> }; >> >> DECLARE Annotation RuleDetection; >> Book{ -> CREATE(NeilsBook) } <- { >> Attribute{Attribute.name=="title", Attribute.ct=="Norse Mythology"}" >> % >> Attribute{FEATURE("name","author"), FEATURE("ct", "Neil >> Gaiman")}; >> }; >> >> >> May be the problem is with when we use Identifiers: >> a1:Attribute and a2:Attribute >> >> In any case thank you very much for your help. >> >> >> 2017-02-21 17:46 GMT+01:00 Peter Klügl <peter.klu...@averbis.com>: >> >>> Hi, >>> >>> >>> I'd normally say that you need the conjunt rules construct to specify an >>> AND between two rule element independent of the position: >>> >>> >>> Book{-> NeilsBook}<-{ >>> a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"} >>> % a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"}; >>> }; >>> >>> >>> However, I just noted that there is a problem with conjunct rules. I >>> haven't used it in a long time and the test coverage much lower than the >>> other constructs. I'll create a ticket for it and fix it. >>> >>> >>> Without conjunct rules, you need some boolean variables for cheking the >>> AND, which looks all but declarative: >>> >>> >>> BOOLEAN ft, fa; >>> FOREACH(book) Book{}{ >>> book{-> ft = false, fa = false}; >>> book->{a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"-> >>> ft=true};}; >>> book->{a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"-> >>> fa=true};}; >>> book{ft,fa -> NeilsBook}; >>> } >>> >>> >>> ... or with a BLOCK... >>> >>> >>> BLOCK(book) Book{}{ >>> Document{-> ft = false, fa = false}; >>> a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"-> ft=true}; >>> a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"-> fa=true}; >>> Document{ft,fa -> NeilsBook}; >>> } >>> >>> >>> If the order of the attributes is known, you can avoid the AND check and >>> just specify a sequential constraint: >>> >>> >>> Book{-> NeilsBook}<-{ >>> a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"} >>> # a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"}; >>> }; >>> >>> >>> If you need to check on the complete title with the URL, you can replace >>> the coveredText comparison with a REGEXP condition. >>> >>> >>> (tested with UIMA Ruta 2.5.0) >>> >>> >>> Best, >>> >>> >>> Peter >>> >>> >>> >>> Am 21.02.2017 um 13:58 schrieb José Vicente Moyano Murillo: >>>> Hello everyone >>>> >>>> I'm planning to use RUTA to create some annotations. But i'm not able to >>>> accomplish my objective. >>>> >>>> This is my case right now: >>>> >>>> I have a text annotated with some annotations "*Book*". >>>> >>>> Under "*Book*" annotation i have a few annotations "*Attribute*" that >>>> stores some information about the book. Each "*Attribute*" has a feature >>> " >>>> *name*" and a feature "*parent*" to its parent (one "*Book*" annotation). >>>> >>>> And example could be a text with 2 "*Book*" annotations: >>>> >>>> "*Book*" annotation number 1 with 3 nested attributes >>>> 1.- *Attribute* with name feature equals "title" -> covered text: "Norse >>>> Mythology >>>> <http://www.barnesandnoble.com/w/norse-mythology-neil- >>> gaiman/1124023596;jsessionid=FD1D8F9690602616CA59B38CFE9290 >>> 06.prodny_store02-atgap08?ean=9780393609097> >>>> " >>>> 2.- *Attribute* with name feature equals "author" -> covered text: "Neil >>>> Gaiman" >>>> 3.- *Attribute* with name feature equals "language" - > covered text: >>>> "English" >>>> >>>> >>>> "*Book*" annotation number 2 with 3 nested attributes >>>> 1.- *Attribute* with name feature equals "title" -> covered text: "Never >>>> Never >>>> <http://www.barnesandnoble.com/w/never-never-james-patterson/1123863634; >>> jsessionid=FD1D8F9690602616CA59B38CFE929006.prodny_store02-atgap08?ean= >>> 9780316433174> >>>> " >>>> 2.- *Attribute* with name feature equals "author" -> covered text: >>> "James >>>> Patterson" >>>> 3.- *Attribute* with name feature equals "language" - > covered text: >>>> "English" >>>> >>>> I need to respect this schema but i have this question: >>>> It is possible to create and annotation over a book for a given author >>> name >>>> and a given title name? >>>> >>>> Thank's in advance >>>>