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 or edkjni.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.