Hi,
I am sorry that I did not find the time for this before the rc/release. I had it on my TODO list. Thanks for the test. I wont make it today but I will take a closer look at it next week. Best, Peter Am 09.03.2017 um 11:23 schrieb José Vicente Moyano Murillo: > Hi Peter > > We have prepared a short test with 2 methods. > The first one is using #, the second one is using % > > We expect the same behaviour. But as you will see there are diferences. > > Regards > > 2017-02-28 16:00 GMT+01:00 Peter Klügl <peter.klu...@averbis.com > <mailto:peter.klu...@averbis.com>>: > > hmmm ok, maybe my example for testing the rule was too simple. > > I will create a more complex example and check the results > > > Peter > > > Am 28.02.2017 um 15:38 schrieb José Vicente Moyano Murillo: > > Hi Peter, > > > > I'm sorry but this example does not work properly. It seems that > it is a > > problem regarding conjunction rules (%) > > > > This is our test case and result. > > > > We have a book with 5 attributes > > - name > > - author > > - pages > > - ISBN > > - Category > > > > The rule is validatin name and author. > > > > RUTA creates the annotation with the list but the list contains > 20 times > > the las attribute (Category). > > > > If we use # it works perfectly. But in general we must use % > > > > May be this information will help you. > > > > Many thanks > > > > > > > > 2017-02-28 14:23 GMT+01:00 Peter Kluegl <pklu...@gmail.com > <mailto:pklu...@gmail.com>>: > > > >> Hi, > >> > >> > >> operations directly on lists and arrays are on my todo list but > not yet > >> implemented. > >> > >> > >> Right now, there are still some options like a variable or > restricted > >> assignments. > >> > >> > >> Here's an example with an ANNOTATIONLIST variable: > >> > >> > >> ANNOTATIONLIST list; > >> Book{-> CREATE(NeilsBook, "attributes" = list)}<-{ > >> a1:Attribute{a1.name <http://a1.name>=="title", > a1.ct=="Norse Mythology" -> > >> ADD(list,a1)} > >> % a2:Attribute{a2.name <http://a2.name>=="author", > a2.ct=="Neil Gaiman" -> > >> ADD(list,a2)}; > >> }; > >> > >> > >> Variables are global, so you need to clear the list maybe > somewhere, > >> e.g. before the first ADD. > >> > >> > >> In the current trunk, something like the following is also > possible: > >> > >> Book{-> NeilsBook("attributes" = Attribute{OR(Attribute > >> .name=="title", Attribute.name=="author")})}.... > >> > >> > >> Best, > >> > >> > >> Peter > >> > >> > >> Am 28.02.2017 um 14:06 schrieb José Vicente Moyano Murillo: > >>> Hi Peter, we have another question regarding the same example. > >>> > >>> Right now all is working properly (many thanks) and it seems that > >>> 2.5.1-SNAPSHOT it's fine. > >>> > >>> Now we are planning to store some information in the created > annotation. > >> We > >>> want to store all the attributes that matches the RUTA rule. > >>> > >>> It is possible to store a1 and a2 in a feature (attributes) of > NeilsBook? > >>> > >>> The example: > >>> > >>> Book{-> NeilsBook}<-{ > >>> a1:Attribute{a1.name <http://a1.name>=="title", > a1.ct=="Norse Mythology"} > >>> % > >>> a2:Attribute{a2.name <http://a2.name>=="author", a2.ct=="Neil > Gaiman"}; > >>> }; > >>> > >>> We are using this aproach: > >>> > >>> Book{-> NeilsBook("attributes" = Attribute )}<-{ > >>> a1:Attribute{a1.name <http://a1.name>=="title", > a1.ct=="Norse Mythology"} > >>> % > >>> a2:Attribute{a2.name <http://a2.name>=="author", a2.ct=="Neil > Gaiman"}; > >>> }; > >>> > >>> This example works but it is storing all the annotations > "Attribute" > >>> covered by "Book" and we just want the attributes that matches > the rule. > >>> > >>> Thanks in advance. > >>> > >>> > >>> > >>> > >>> 2017-02-24 10:29 GMT+01:00 José Vicente Moyano Murillo > <moya...@aia.es <mailto:moya...@aia.es>>: > >>> > >>>> Many thanks Peter ¡¡¡ > >>>> > >>>> 2017-02-24 9:46 GMT+01:00 Peter Klügl > <peter.klu...@averbis.com <mailto:peter.klu...@averbis.com>>: > >>>> > >>>>> Hi, > >>>>> > >>>>> > >>>>> the repo: > >>>>> > >>>>> <repository> > >>>>> <id>apache.snapshots</id> > >>>>> <name>Apache Snapshot Repository</name> > >>>>> <url>http://repository.apache.org/snapshots > <http://repository.apache.org/snapshots></url> > >>>>> <releases> > >>>>> <enabled>false</enabled> > >>>>> </releases> > >>>>> </repository> > >>>>> > >>>>> > >>>>> the folder: > >>>>> > >>>>> https://repository.apache.org/content/groups/snapshots/org/a > <https://repository.apache.org/content/groups/snapshots/org/a> > >>>>> pache/uima/ruta-core/2.5.1-SNAPSHOT/ > >>>>> > >>>>> > >>>>> Best, > >>>>> > >>>>> Peter > >>>>> > >>>>> > >>>>> > >>>>> Am 23.02.2017 um 13:47 schrieb José Vicente Moyano Murillo: > >>>>>> Hi, > >>>>>> > >>>>>> ruta-core.jar it's enough. > >>>>>> > >>>>>> It will be fantastic if i could access the snapshot repository. > >>>>>> > >>>>>> 2017-02-23 13:03 GMT+01:00 Peter Klügl > <peter.klu...@averbis.com <mailto:peter.klu...@averbis.com>>: > >>>>>> > >>>>>>> Hi, > >>>>>>> > >>>>>>> > >>>>>>> what do you need? Only ruta-core.jar or also the Eclipse > >> plugins/update > >>>>>>> site? > >>>>>>> > >>>>>>> I will prepare a new RC for the next release soon. > >>>>>>> > >>>>>>> There should be snapshot artifacts built by jenkins in the > snapshot > >>>>>>> repository. I am out-of-office today so do not have the > link right > >>>>> now. (If > >>>>>>> you want to build it yourself, the svn source repo can be > accessed by > >>>>>>> anyone) > >>>>>>> > >>>>>>> > >>>>>>> Best, > >>>>>>> > >>>>>>> > >>>>>>> Peter > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> Am 23.02.2017 um 08:06 schrieb José Vicente Moyano Murillo: > >>>>>>> > >>>>>>>> Hi Peter, good morning. > >>>>>>>> > >>>>>>>> Have we any opportunity to get a fixed version? I mean a > snapshot or > >>>>> an > >>>>>>>> access to the repo. > >>>>>>>> > >>>>>>>> Regards > >>>>>>>> > >>>>>>>> 2017-02-22 10:38 GMT+01:00 José Vicente Moyano Murillo < > >>>>> moya...@aia.es <mailto:moya...@aia.es>>: > >>>>>>>> you're right > >>>>>>>>> % is performing some kind of "or". > >>>>>>>>> > >>>>>>>>> So we will wait for the new release. > >>>>>>>>> > >>>>>>>>> Many thanks > >>>>>>>>> > >>>>>>>>> 2017-02-22 9:54 GMT+01:00 Peter Klügl > <peter.klu...@averbis.com <mailto:peter.klu...@averbis.com>>: > >>>>>>>>> > >>>>>>>>> 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 <mailto: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 <http://a1.name>=="title", > a1.ct=="Norse Mythology"} > >>>>>>>>>>>>> % a2:Attribute{a2.name > <http://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 > <http://a1.name>=="title", a1.ct=="Norse > >>>>>>>>>>>>> Mythology"-> > >>>>>>>>>>>>> ft=true};}; > >>>>>>>>>>>>> book->{a2:Attribute{a2.name > <http://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 <http://a1.name>=="title", > a1.ct=="Norse Mythology"-> > >>>>>>>>>>>>> > >>>>>>>>>>>> ft=true}; > >>>>>>>>>>> a2:Attribute{a2.name <http://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 <http://a1.name>=="title", > a1.ct=="Norse Mythology"} > >>>>>>>>>>>>> # a2:Attribute{a2.name > <http://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- > <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 > <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 > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >> > >