Thankyou Marshall for your fast and authoritative reply. The deserialization from JSON to CAS is really important since this will „bridge“ the UIMA community with the micro service REST world.
I've found the following project https://github.com/windj007/uima-serialization/ and I am interested on your opinion about its level of „maturity“ / likelihood of inclusion in the UIMA releases. Thanks Luca > Am 04.05.2017 um 16:37 schrieb Marshall Schor <[email protected]>: > > The core UIMA support has not (yet) implemented a deserializer back into CAS > form, for this. > > The main idea behind CAS -> JSON conversion was to provide the CAS info to > JSON > Consumers. > > We have multiple other serializations (CAS -> XMI, etc.) that are designed for > "transport" and include deserializers. > > Of course, it is quite possible to create an addition to UIMA which can > deserialize the JSON format(s) - that just hasn't yet been done. Contributions > welcome! > > -Marshall > > > On 5/4/2017 3:49 AM, Luca Toldo wrote: >> The following Java code (inspired from >> http://stackoverflow.com/questions/40838999/getting-output-in-json-format-in-uima >> ) >> >> import java.io.*; >> import org.apache.uima.fit.factory.JCasFactory; >> import org.apache.uima.jcas.JCas; >> import org.apache.uima.cas.CAS; >> import org.apache.uima.json.JsonCasSerializer; >> public class test { >> public static void main(String [] args ) throws IOException { >> try { >> String note="Lorem ipsum incididunt ut labore et >> dolore magna aliqua"; >> JCas jcas = JCasFactory.createJCas(); >> jcas.setDocumentText(note); >> JsonCasSerializer jcs = new JsonCasSerializer(); >> jcs.setPrettyPrint(true); >> StringWriter sw = new StringWriter(); >> CAS cas = jcas.getCas(); >> jcs.serialize(cas, sw); >> System.out.println(sw.toString()); >> } catch (Exception ex) { >> } >> } >> } >> >> >> delivers properly formatted JSON CAS: >> >> {"_context" : { >> "_types" : { >> "DocumentAnnotation" : {"_id" : "uima.tcas.DocumentAnnotation", >> "_feature_types" : {"sofa" : "_ref" } }, >> "Sofa" : {"_id" : "uima.cas.Sofa", >> "_feature_types" : {"sofaArray" : "_ref" } }, >> "Annotation" : {"_id" : "uima.tcas.Annotation", >> "_feature_types" : {"sofa" : "_ref" }, >> "_subtypes" : ["DocumentAnnotation" ] }, >> "AnnotationBase" : {"_id" : "uima.cas.AnnotationBase", >> "_feature_types" : {"sofa" : "_ref" }, >> "_subtypes" : ["Annotation" ] }, >> "TOP" : {"_id" : "uima.cas.TOP", >> "_subtypes" : ["AnnotationBase", "Sofa" ] } } }, >> "_views" : { >> "_InitialView" : { >> "DocumentAnnotation" : [ >> {"sofa" : 1, "begin" : 0, "end" : 55, "language" : "x-unspecified" >> } ] } }, >> "_referenced_fss" : { >> "1" : {"_type" : "Sofa", "sofaNum" : 1, "sofaID" : "_InitialView", >> "mimeType" : "text", "sofaString" : "Lorem ipsum incididunt ut labore et >> dolore magna aliqua" } } } >> >> How to deserialize that back into CAS object ? >> >
