uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Klügl <peter.klu...@averbis.com>
Subject Re: Using RUTA
Date Thu, 16 Mar 2017 13:02:21 GMT
Hi,


sorry, I am quite busy these days. Could be that it will take some more
days until I can reply to your mail.


Best,


Peter


Am 15.03.2017 um 10:24 schrieb José Vicente Moyano Murillo:
> Great explanation Peter, we see all your comments.
> Maybe we are doing something wrong to accomplish our pourpouse.
>
> But regarding labels. Can we discuss this example?
>
> Document{ -> ADD(list, w1), ADD(list, w2), ADD(list, w3), ADD(list, w4),
> CREATE(Detection, "anchors" = list)} <- {
>         w1:CW{w1.ct=="A" }
>         %
>         w2:CW{w2.ct=="B" }
>         %
>         w3:CW{w3.ct=="B"  }
>         %
>         w4:CW{w4.ct=="A" };
>        };
>
> In our mind conjuntion rules are aplyed using something like this pattern:
>
> FOR (PERMUTATION(w1, w2, w3, w4))
>       IF(CONJUNCTION) -> THEN
>
>
> In other words we spect some kind of "interruption" to execute the THEN
> statement
>
> But it seems that right now, all the permutations are inspected and then
> the necessary annotations are created and, obviously, w1, w2, w3, w4 have
> the values of the last iteration.
>
> What do you think?
>
>
>
>
>
>
>
>
>
> 2017-03-13 18:05 GMT+01:00 Peter Klügl <peter.kluegl@averbis.com>:
>
>> Hi,
>>
>>
>> Am 13.03.2017 um 17:41 schrieb José Vicente Moyano Murillo:
>>> From our point of view we would expect the same result using # or %
>> Yes, I thought the same, but after investigating the problem I changed
>> my mind a bit.
>> Even if we ignore the label expression overriding the values with 'X's,
>> there is still a difference. The wildcard # introduces a sequential
>> constraint, and the conjunction % does not. The former implies a match
>> only for the next occureence of a valid annotation. And the latter? I
>> would initially say that the match should not be restricted to the first
>> one, meaning the first rule element for example will match twice as does
>> the fourth rule element. This would result in four 'A's in the list
>> compared to the two for the wildcard.
>>
>> And there is also the difference that the execution of the action is
>> decoupled from the specific rule elements in the conjunct element
>> (causing the initial problem with the label expression)
>>
>>> In any case it is our idea and the truth is that we do not know how to
>>> predict the impact.
>> I can totally understand that. I had to debug the implementation myself
>> quite a bit in order to get to know what is going on. That does not
>> happen too often to me concerning ruta.
>>
>> I am open to suggestions how this situation can be improved. I am not
>> sure yet what should/can be done.
>>
>> Best,
>>
>> Peter
>>
>>> regards
>>>
>>> 2017-03-13 10:56 GMT+01:00 Peter Klügl <peter.kluegl@averbis.com>:
>>>
>>>> Hi,
>>>>
>>>>
>>>> there is a conceptual problem when using label expressions in those
>>>> conjunct rules. The label expression stores the value of the matched
>>>> annotations even if the rule element does not match. It has to since the
>>>> matched annotation may be used to validate the conditions as you do.
>>>>
>>>> Maybe the value should be reset if the rule element does not match
>>>> correctly, but I have to investigate the consequences furhter before I
>>>> implement this change. Are there opinions?
>>>>
>>>>
>>>> If you change the rule to not use the label expression in the action,
>>>> there still seems to be a problem with the conjunct rules. e.g. like:
>>>>
>>>> Document{ -> CREATE(Detection, "anchors" = list)} <- {
>>>>         w1:CW{w1.ct=="A" -> ADD(list, CW)}
>>>>         %
>>>>         w2:CW{w2.ct=="B" -> ADD(list, CW)}
>>>>        %
>>>>        w3:CW{w3.ct=="B" -> ADD(list, CW)}
>>>>        %
>>>>        w4:CW{w4.ct=="A" -> ADD(list, CW)};
>>>>        };
>>>>
>>>>
>>>> This looks like a bug when validating the match itself depednent on the
>>>> element matches. I need to investigate that further...
>>>>
>>>>
>>>> I'll create a jira ticket for both.
>>>>
>>>>
>>>> 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.kluegl@averbis.com
>>>>> <mailto:peter.kluegl@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 <pkluegl@gmail.com
>>>>>     <mailto:pkluegl@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
>>>>>     <moyanoj@aia.es <mailto:moyanoj@aia.es>>:
>>>>>     >>>
>>>>>     >>>> Many thanks Peter ¡¡¡
>>>>>     >>>>
>>>>>     >>>> 2017-02-24 9:46 GMT+01:00 Peter Klügl
>>>>>     <peter.kluegl@averbis.com <mailto:peter.kluegl@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.kluegl@averbis.com <mailto:peter.kluegl@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 <
>>>>>     >>>>> moyanoj@aia.es <mailto:moyanoj@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.kluegl@averbis.com <mailto:peter.kluegl@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.kluegl@averbis.com <mailto:peter.kluegl@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
>>>>>     >>>>>>>>>>>>>>
>>>>>     >>>>>>>>>>>>>>
>>>>>     >>
>>>>>
>>>>>
>>


Mime
View raw message