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 <[email protected]>:

> 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 <[email protected]>:
>
>> 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 <[email protected]>:
>> >>
>> >>> 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
>> >>>>
>>
>>
>

Reply via email to