Skip to content
This repository has been archived by the owner on Sep 5, 2020. It is now read-only.
Ed Armstrong edited this page Jun 21, 2019 · 26 revisions

NERVE

Named Entity Recognition Vetting Environment The NERVE web service provides http endpoints to identify and markup xml documents with named entity tags. Each endpoint accepts an http post request with JSON data to describe the input document and specifications. Typically, the endpoint will accept an xml document and a 'context' object. The context object allows the submitter to specify which tags to insert.
The end points deal with either tagging the document or manipulating the underlying database.

Quick links

Prerequisites

  1. The service requires a Java servlet server to run.
  2. The server needs to have sqlite installed and available on the path to the servlet server.

Installing the service

The web archive file (.war) and source code are stored in this repository. The service should be deployed using the .war file which in turn contains all required libraries. See this page for more information. It is not required to compile the .war before deploying it.

Accessing the service

Browse to your server page "https://yourserver.com" with the suffix "/NerveService" and the name of the endpoint you wish to access. For example "https://dh.sharcnet.ca/NerveService/Status" will return a JSON file if the server is running. This indicates the service exists and is running. All services should be accessed with the JS XMLHttpRequest function. See endpoint descriptions for more details.

Project Details

Constituent projects

There are 3 projects making up the NERVE service, they are:

  1. DocumentNavigator: A specification agnostic parser for xml-like documents.
  2. NERScriber: A number of read-write classes that use DocumentNavigator for applying the various markups. The main program logic is found here.
  3. NerveService: The servlet end points that get deployed on the server. No transcribing logic is found here, only deployment.

Local database

When the service first runs it will create a sqlite database. The file can be found in the servlet directory under "NerveService/WEB-INF" and it called "nerve.db".
The database contains one table called "entities" with the following schema:

entity varchar(255) NOT NULL
lemma varchar(128) NOT NULL
link varchar(255) NOT NULL
tag varchar(16) NOT NULL
source varchar(16) NOT NULL
constraint pk primary key(lemma, tag, source) on conflict replace

Context file

The context file contains information that the services use in order to determine which tags to use.

Project details

  • An overview of the service endpoints can be found here.
  • The implementation details can be found here.