hi, not my area of expertise, but the docs say
http://uima.apache.org/d/uimaj-current/tutorials_and_users_guides.html#ugr.tug.aas.accessing_sofa_data
that if you're using a URI, then you use the cas.getSofaDataURI(), which returns
a string representation of the URI.
To get the data, the docs say you need to set up some standard Java I/O.
There's also a special cas method, getSofaDataStream, which returns an input
stream, and works with both local and remote data.
-Marshall
On 10/24/2019 6:11 PM, Richard Eckart de Castilho wrote:
> Hi there,
>
> does somebody have an example of how to work with CASes that where the sofa data is not
set using setDocumentText() but rather using setSofaDataURI(...)?
>
> It looks like the CAS text is then not accessible via the usual means:
>
> CAS cas = CasCreationUtils.createCas((TypeSystemDescription) null, null, null);
> cas.setSofaDataURI("https://www.apache.org/licenses/LICENSE-2.0.txt", "text/plain");
> CasIOUtils.save(cas, System.out, SerialFormat.XMI);
> System.out.println(cas.getDocumentText()); // -> prints "null"
> System.out.println(cas.getSofaDataString()); // -> prints "null"
>
> Apparently, one needs to call getSofaDataStream() - but even after calling that, getDocumentAnnotation().getCoveredText()
returns null.
>
> So how is one expected to work with CASes that are using this data URI concept?
>
> Cheers,
>
> -- Richard
|