Access JCas Annotation list
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am developing an Apache UIMA v2
application to annotate documents.
I developed properly the process()
method because I obtain the correct annotations (tested with debug and UIMA CAS Visual Debugger
).
My application consists in a simple instantiation of the JCas
object and the process of a document, i.e. a simple string in this case. Here's the code:
public class MainProgram {
public static void main(String args) {
try {
XMLInputSource in = new XMLInputSource("desc/dictionaryDescriptor.xml");
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);
JCas jcas = ae.newJCas();
jcas.setDocumentText("prova di a@gmail.com, timido, word, excel. ");
ae.process(jcas);
processResults(jcas);
ae.destroy();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidXMLException e1) {
e1.printStackTrace();
} catch (ResourceInitializationException e2) {
e2.printStackTrace();
} catch (AnalysisEngineProcessException e3) {
e3.printStackTrace();
}
}
public static void processResults(JCas jcas) {
System.out.println("Done!");
// TODO read annotations from jcas
}
}
If I add a breakpoint inside the processResults()
method I can see the content of jcas
and the list of annotation:
I want to access to the SubTypes
list in the AnnotationIndex
object, without taking care of the class type.
Here is an example through a specific type:
AnnotationIndex<Annotation> programIndex = jcas.getAnnotationIndex(Programma.type);
Iterator programIter = programIndex.iterator();
while(programIter.hasNext()) {
Programma p = (Programma) programIter.next();
}
apache annotations uima
|
show 2 more comments
I am developing an Apache UIMA v2
application to annotate documents.
I developed properly the process()
method because I obtain the correct annotations (tested with debug and UIMA CAS Visual Debugger
).
My application consists in a simple instantiation of the JCas
object and the process of a document, i.e. a simple string in this case. Here's the code:
public class MainProgram {
public static void main(String args) {
try {
XMLInputSource in = new XMLInputSource("desc/dictionaryDescriptor.xml");
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);
JCas jcas = ae.newJCas();
jcas.setDocumentText("prova di a@gmail.com, timido, word, excel. ");
ae.process(jcas);
processResults(jcas);
ae.destroy();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidXMLException e1) {
e1.printStackTrace();
} catch (ResourceInitializationException e2) {
e2.printStackTrace();
} catch (AnalysisEngineProcessException e3) {
e3.printStackTrace();
}
}
public static void processResults(JCas jcas) {
System.out.println("Done!");
// TODO read annotations from jcas
}
}
If I add a breakpoint inside the processResults()
method I can see the content of jcas
and the list of annotation:
I want to access to the SubTypes
list in the AnnotationIndex
object, without taking care of the class type.
Here is an example through a specific type:
AnnotationIndex<Annotation> programIndex = jcas.getAnnotationIndex(Programma.type);
Iterator programIter = programIndex.iterator();
while(programIter.hasNext()) {
Programma p = (Programma) programIter.next();
}
apache annotations uima
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
1
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16
|
show 2 more comments
I am developing an Apache UIMA v2
application to annotate documents.
I developed properly the process()
method because I obtain the correct annotations (tested with debug and UIMA CAS Visual Debugger
).
My application consists in a simple instantiation of the JCas
object and the process of a document, i.e. a simple string in this case. Here's the code:
public class MainProgram {
public static void main(String args) {
try {
XMLInputSource in = new XMLInputSource("desc/dictionaryDescriptor.xml");
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);
JCas jcas = ae.newJCas();
jcas.setDocumentText("prova di a@gmail.com, timido, word, excel. ");
ae.process(jcas);
processResults(jcas);
ae.destroy();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidXMLException e1) {
e1.printStackTrace();
} catch (ResourceInitializationException e2) {
e2.printStackTrace();
} catch (AnalysisEngineProcessException e3) {
e3.printStackTrace();
}
}
public static void processResults(JCas jcas) {
System.out.println("Done!");
// TODO read annotations from jcas
}
}
If I add a breakpoint inside the processResults()
method I can see the content of jcas
and the list of annotation:
I want to access to the SubTypes
list in the AnnotationIndex
object, without taking care of the class type.
Here is an example through a specific type:
AnnotationIndex<Annotation> programIndex = jcas.getAnnotationIndex(Programma.type);
Iterator programIter = programIndex.iterator();
while(programIter.hasNext()) {
Programma p = (Programma) programIter.next();
}
apache annotations uima
I am developing an Apache UIMA v2
application to annotate documents.
I developed properly the process()
method because I obtain the correct annotations (tested with debug and UIMA CAS Visual Debugger
).
My application consists in a simple instantiation of the JCas
object and the process of a document, i.e. a simple string in this case. Here's the code:
public class MainProgram {
public static void main(String args) {
try {
XMLInputSource in = new XMLInputSource("desc/dictionaryDescriptor.xml");
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);
JCas jcas = ae.newJCas();
jcas.setDocumentText("prova di a@gmail.com, timido, word, excel. ");
ae.process(jcas);
processResults(jcas);
ae.destroy();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidXMLException e1) {
e1.printStackTrace();
} catch (ResourceInitializationException e2) {
e2.printStackTrace();
} catch (AnalysisEngineProcessException e3) {
e3.printStackTrace();
}
}
public static void processResults(JCas jcas) {
System.out.println("Done!");
// TODO read annotations from jcas
}
}
If I add a breakpoint inside the processResults()
method I can see the content of jcas
and the list of annotation:
I want to access to the SubTypes
list in the AnnotationIndex
object, without taking care of the class type.
Here is an example through a specific type:
AnnotationIndex<Annotation> programIndex = jcas.getAnnotationIndex(Programma.type);
Iterator programIter = programIndex.iterator();
while(programIter.hasNext()) {
Programma p = (Programma) programIter.next();
}
apache annotations uima
apache annotations uima
edited Oct 31 '18 at 10:45
A. Wolf
asked Oct 30 '18 at 12:03
A. WolfA. Wolf
446619
446619
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
1
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16
|
show 2 more comments
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
1
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
1
1
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16
|
show 2 more comments
1 Answer
1
active
oldest
votes
You can use the JCasUtil to extract the annotations of the JCas:
JCasUtil.select(jCas, Annotation.class).stream()....
and with the getType() method of the annotation you can check for the type of the annotation.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53063907%2faccess-jcas-annotation-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use the JCasUtil to extract the annotations of the JCas:
JCasUtil.select(jCas, Annotation.class).stream()....
and with the getType() method of the annotation you can check for the type of the annotation.
add a comment |
You can use the JCasUtil to extract the annotations of the JCas:
JCasUtil.select(jCas, Annotation.class).stream()....
and with the getType() method of the annotation you can check for the type of the annotation.
add a comment |
You can use the JCasUtil to extract the annotations of the JCas:
JCasUtil.select(jCas, Annotation.class).stream()....
and with the getType() method of the annotation you can check for the type of the annotation.
You can use the JCasUtil to extract the annotations of the JCas:
JCasUtil.select(jCas, Annotation.class).stream()....
and with the getType() method of the annotation you can check for the type of the annotation.
answered Nov 22 '18 at 19:38
Jasper HuzenJasper Huzen
658412
658412
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53063907%2faccess-jcas-annotation-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What do you want to do with it once you have that list?
– rec
Oct 31 '18 at 10:34
I want to iterate that list and then check the type. Do you think that it's useless and it's better to use the iterator like I did? (I'm adding the code right now)
– A. Wolf
Oct 31 '18 at 10:38
Btw. you might want to have a look at uimaFIT (uima.apache.org/d/uimafit-current/…) - in particular if you are using UIMA v2. If you are using UIMA v3, you may want to look here: uima.apache.org/d/uimaj-current/version_3_users_guide.pdf (Section 4 - "Select" framework)
– rec
Oct 31 '18 at 10:38
I'm using UIMA v2. Do you think that is a good idea to switch to UIMA v3? I'm new to UIMA so I can't understand the impact of the differences. Thank you.
– A. Wolf
Oct 31 '18 at 10:46
1
If you use UIMAv2 together with uimaFIT, the uimaFIT (J)CasUtil "select" methods are pretty much as convenient as the UIMAv3 "select API". In fact, uimaFIT served as a role model for the v3 select API. In any case, you may want to use uimaFIT when you are writing your own UIMA components to profit from its parameter injection functionality.
– rec
Oct 31 '18 at 11:16