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:alaa.albar...@gmail.com] Sent: Monday, February 06, 2017 1:07 PM To: dev@ctakes.apache.org 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" <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 >