EntityDB

EntityDB is an application that facilitates the storage and querying of entities. Idyl E3 and EntityDB provide a complete solution for natural language entity extraction and analysis. Built upon proven database and search technologies, EntityDB can handle big-data amounts of entities while still enabling analysis through your favorite database and data analysis tools.

EntityDB is available under the AGPL 3.0 license. For commercial licenses contact us.

Entity Store

At the foundation of EntityDB is an entity store. For flexibility, EntityDB supports several databases as backend entity stores. You can choose from Apache Cassandra, MySQL, MongoDB, and DynamoDB. EntityDB’s API provides an interface for storing entities and querying entities with the Entity Query Language, or EQL.

Query Capabilities

The Entity Query Language

Entities in EntityDB are queried through a special language called the Entity Query Language (EQL). Similar in syntax to SQL, EQL can select entities based on combinations of criteria. Unlike SQL, EQL can be used regardless of the underlying entity store database. EQL can query entities in Apache Cassandra, MySQL, MongoDB, and DynamoDB.

Continuous Queries

A query can be set as a continuous query meaning that for a given period of time the query will continue to run in the background notifying you of any newly ingested entities that satisfy the query. For example, there may not be any “John Smith”person ¬†entities in EntityDB now but a continuous query will notify you should a “John Smith” person entity be ingested in the next month.

Rules Engine

The rules engine evaluates incoming entities against customizable rules. Rules can be used to send notifications and take actions in response to certain entities or to modify entity details such as modifying an entity’s access control list based on certain met conditions. Rules can be provided in the Drools syntax or as XML.

Access Control and Audit

The access control and auditing component logs all entity access and restricts access to entities via access control lists based on users and groups.

REST API

EntityDB’s REST API allows for entity ingestion, querying, and modification of entity access control lists.