|
|
Explaining EmdrosEmdros is a text database engine. Below we explain the three parts of this definition in turn. Other useful information will follow after that. Emdros is an engineEmdros is an engine. That is, emdros is middle-ware. You must write a client which takes advantage of Emdros. Emdros, in turn, rests on an underlying database such as PostgreSQL or MySQL. Thus Emdros by itself is not really useful -- you must write a client on top of Emdros for it to be useful in your application domain. Emdros is a database engineEmdros provides database services. The MQL Query language allows you to create, update, delete, and query the data you need to manipulate. For example, it provides a means of creating text objects such as words, phrases, and clauses. It provides a means of updating those objects. It provides a means of deleting them again. And it provides powerful ways of finding them again in interesting environments. Emdros is a text database engineThe data domain which Emdros handles is that of text. Emdros provides a certain abstraction of text that makes it ideally suited to storing and retrieving annotated text, such as linguistic analyses of a text. These analyses can be, e.g., syntactic analyses, morphological analyses, or discourse analyses, or all of these. Phonological analyses are also supported to some extent. Emdros is particularly useful in domains where research questions need to be asked of databases of annotated text. This would include dictionary-making, Biblical language-research (Greek or Hebrew), other linguistic research, and research on annotated text in general. Emdros has a particular model of text called the EMdF model. Users have attested, and our experience shows, that the EMdF model can be quite liberating when dealing with text as a programmer or program designer. Thus any application that deals with annotated text will likely benefit from the Emdros and the EMdF model. Emdros architectureEmdros fits into a software architecture as follows:
+---------------+
| Client | User-written
+---------------+
|
+---------------+
| MQL | Emdros
+---------------+
|
+---------------+
| EMdF | Emdros
+---------------+
|
+---------------+
| DB | PostgreSQL or MySQL
+---------------+
At the top, there is a client which you, the user, must write. This client will take advantage of Emdros's services to provide for the needs of your particlar database domain. Then come the two Emdros-layers: The MQL layer and the EMdF layer. The MQL layer provides an interface to the MQL language. The MQL layer automatically takes advantage of the EMdF layer, which translates the MQL queries into SQL calls to the underlying database. The underlying database takes care of storing the data, and retrieving it as directed by the EMdF layer. Emdros overview-paperA quick overview of Emdros can be found in my short paper given at COLING 2004. It should be one of your first stops after this website for information on Emdros. |