Thanks. I was hoping for away to fetch only whats needed for performance
enhancement.

On Feb 6, 2017 8:09 PM, "Finan, Sean" <[email protected]>
wrote:

> Yes.  You do not need to use the code directly if it doesn't fit your
> needs.  You can look at the code within that class and within those methods
> to do something similar.
>
> -----Original Message-----
> From: Alaa al Barari [mailto:[email protected]]
> Sent: Monday, February 06, 2017 1:07 PM
> To: [email protected]
> Subject: RE: jcas work with a list of schemas
>
> Thanks sean but internally this fetch data for all schemas then filter the
> needed schema right ?
>
> On Feb 6, 2017 7:57 PM, "Finan, Sean" <[email protected]>
> wrote:
>
> > Hi Alaa,
> >
> > Have a look at the OntologyConceptUtil class in ctakes-core.  You can
> > use the getCodes(..) method to obtain the codes for a scheme.
> >
> > For all codes of all annotations:
> > Collection<String> allCodes = OntologyConceptUtil.getCodes( jcas,
> > schemeName );
> >
> > For all codes of all annotations in a window (paragraph, segment,
> > sentence):
> > Collection<String> windowCodes = OntologyConceptUtil.getCodes( jcas,
> > windowAnnotation, schemeName );
> >
> > For all codes in a single annotation:
> > Collection<String> annotationCodes = OntologyConceptUtil.getCodes(
> > annotation, schemeName );
> >
> > For all codes in multiple annotations:
> > Collection<String> annotationsCodes = OntologyConceptUtil.getCodes(
> > annotations, schemeName );
> >
> > If you want a map of scheme names and codes:
> > Map<String,Collection<String>> getSchemeCodes( jcas );
> > Map<String,Collection<String>> getSchemeCodes( jcas, window ); ...
> > getSchemeCodes( annotation ); ... getSchemeCodes( annotations );
> >
> >
> > If you have some other need, like getting all annotations with codes
> > of a certain scheme, let me know.
> > Sean
> >
> >
> >
> > -----Original Message-----
> > From: Alaa al Barari [mailto:[email protected]]
> > Sent: Monday, February 06, 2017 4:30 AM
> > To: [email protected]
> > Subject: jcas work with a list of schemas
> >
> > Hi,
> >
> > I have my own dictionary and it has a lot of schemas which takes a lot
> > of time. please see code below, how to make it work with specific list
> > of schemas instead of all of them
> >
> >                                 jcas = pipeline.newJCas();
> > jcas.setDocumentText(sentence.getCoveredText());
> > pipeline.process(jcas);
> > String previousEntity = "";
> > for ( IdentifiedAnnotation entity : JCasUtil.select( jcas,
> > IdentifiedAnnotation.class ) ) {
> >
> > final FSArray fsArray = entity.getOntologyConceptArr(); if ( fsArray
> > == null ) { continue; } String entityString = entity.getCoveredText();
> > System.out.println( "Entity: " + entity.getCoveredText()
> > + " === Polarity: " + entity.getPolarity() " === Subject: " +
> > + entity.getSubject() " === History? " + (entity.getHistoryOf() ==
> > CONST.NE_HISTORY_OF_PRESENT));
> >
> > final FeatureStructure[] featureStructures = fsArray.toArray(); final
> > Collection<String> entityCodes = new ArrayList<>(
> > featureStructures.length ); previousEntity = entityString; for (
> > FeatureStructure featureStructure : featureStructures ) { if (
> > featureStructure instanceof UmlsConcept ) { final UmlsConcept
> > umlsConcept = (UmlsConcept)featureStructure; String entityCode =
> > umlsConcept.getCode(); String entityScheme =
> > umlsConcept.getCodingScheme(); String description =
> > umlsConcept.getCodeDescription(); if (entityCode == null ||
> > entityScheme == null) { continue; } if (schemes.contains(entityScheme)
> > || schemes.contains("all")) { System.out.println(entityScheme + "_" +
> > entityCode + "_" + description); } } }
> >
> > }
> > }
> >
> >
> > Regards.
> > --
> > Eng Alaa Al-Barari
> > phone 0599297470
> >
>

Reply via email to