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 >>> >>