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" <sean.fi...@childrens.harvard.edu> 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:alaa.albar...@gmail.com] > Sent: Monday, February 06, 2017 4:30 AM > To: dev@ctakes.apache.org > 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 >