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.
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.
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.
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.
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.
EntityDB’s REST API allows for entity ingestion, querying, and modification of entity access control lists.