Java API Concepts
Named Entity Recognition SDK provides a Java API that enables your application to create an extraction engine and perform entity extractions.
This section describes the concepts used to write Java applications with the Named Entity Recognition SDK.
The Java SDK consists of:
- a JAR file,
edk.jar
, which contains the Named Entity Recognition Java class library and the interface to the Named Entity Recognition Java Native Interface (JNI). - a DLL (Windows) or shared object (MacOS and Linux),
edkjni.dll
oredkjni.so
, which implements the Named Entity Recognition JNI library and performs the Named Entity Recognition functionality.
Java developers can use either the Named Entity Recognition JNI, the class library, or both. The JNI provides functionality almost identical to that of the Named Entity Recognition C API. The class library encapsulates related JNI methods, implements exception handling, and provides return values from method calls that simplify application programming.
NOTE: You might also need additional runtime libraries to run the Named Entity Recognition SDK. See Named Entity Recognition SDK Package.
Naming Conventions
The main JNI class that provides access to native functionality is EDKJNI
. Support classes for the JNI are prefixed with EDKJNI
, for example EDKJNIVersion
.
The Named Entity Recognition class library classes are prefixed with EDK
, for example EDKEngine
.
Concurrency Control
Concurrency in Named Entity Recognition is handled using sessions, represented by an EDKSession
object.
You initialize an instance of an EDKEngine
object with corresponding grammars for entity extraction. You can associate each such engine with one or more sessions. All the sessions in the engine share the same grammars. You must configure the engine fully before you create any sessions.
After you create a session, the engine throws an exception if you try to change the engine settings. However, each individual session can process many documents or streams. Each session maintains its state independent of others.