Emdros README

In this file:

- Please read the NEWS file
- What is Emdros
  - The short version
  - The slightly longer version
  - The long version
  - (Pointer to) The longest version
- What can Emdros do for me?
- Website
- How to install
- How to use
- Credits
- Directory overview



Please read the NEWS file
=========================

Audience
--------

Mostly, both new and old users will benefit from reading the NEWS
file.


Upgrading
---------

The NEWS file has important information if you are upgrading from a
previous release of Emdros.  If you are upgrading from release X.Y.Z,
you should read the release-notes contained in the NEWS file for all
of the releases going back to X.Y.Z.



What is Emdros?
===============

The short version
-----------------

Emdros - the text database engine for analyzed or annotated text.
With query language.


The slightly longer version
---------------------------

Emdros is a text database middleware-layer aimed at storage and
retrieval of "text plus information about that text."  This
information could be linguistic analyses or other annotations.  Emdros
provides an abstraction of text that makes it well suited to storing
/syntactic analyses/ of text, but other linguistic information is
supported as well.  Emdros comes with a query-language, MQL, that
enables powerful queries.  Emdros acts as a middleware-layer between a
client (not provided) and a database back-end.  Currently, PostgreSQL,
MySQL, and SQLite (2 and 3) are supported, but other back-ends can 
easily be added.


The long version
----------------

Emdros is an implementation of the EMdF text database model and the
MQL query language.  The EMdF database model is a descendant of the
MdF text database model developed by Crist-Jan Doedens in his 1994 PhD
thesis (see the documentation for bibliograph reference).  MQL is a
descendant of the QL language developed by Doedens in his PhD thesis.
QL was designed specifically for MdF databases, and MQL is designed
specifically for EMdF databases.

Thus Emdros builds on a solid theoretical foundation.  The EMdF model
provides an abstraction of "text plus information about that text"
that makes it ideally suited to storing linguistic analyses of text.
Especially syntactic analyses fit well with the EMdF model.

The MQL language is a powerful means of expressing queries on EMdF
databases.  MQL was designed to take full advantage of the features of
the EMdF database model.  Again, queries on syntactic analyses are
well supported.

Emdros is a middleware layer.  That means, it does not provide a
user-interface (except a very crude one), and it relies on other
database technology for actual storage.  Currently, PostgreSQL, MySQL,
and SQLite (2 and 3) are supported, but support for others is planned.

Emdros is Open Source, so if you need something new, you can build it
yourself.  Alternatively, you are welcome to contact the author with
requests for enhancements.  The author cannot guarantee that every
request will be honored, but you can always try.  See the AUTHORS file
for contact information.


The longest version
-------------------

The Emdros documentation (available from http://emdros.org/) is the
best source of information on Emdros.  You can also read Doedens' PhD
thesis for good backgrounders on Emdros, but the documentation
contains all you need to know.  If not, feel free to ask the author
(Ulrik Petersen).  See the AUTHORS file for contact information.


What can Emdros do for me?
==========================

Emdros can help you:

- build a text database system based on your needs
- think clearly about the structure of your data
- formalize your textual data into a data schema (using MQL)
- store your textual data in an easy-to-retrieve fashion
- build a query-system for:
  - doing research on syntax, if that is your domain
  - doing lexicographic searches in corpora, if that is your domain
  - finding textual patterns which you didn't know were there
  - ...
- and much more



Website
=======

Please visit http://emdros.org/ for more information and
documentation.



How to install
==============

If building on Unix/Linux, please see the file INSTALL in this
directory.

If building on a Win32 system, please see INSTALL.Win32.txt.

If building or using on a Mac system, please see INSTALL.Mac.txt


How to use
==========

Please see the doc/HOW-TO-USE.txt file.  

There is also a lot of documentation in doc/.  In particular, the MQL
User's Guide (MQL-User.pdf) will probably be of interest.


Credits
=======

Emdros was written by Ulrik Petersen
(ulrikp[at]users.sourceforge.net).  He is the current maintainer.

The MdF model and the QL query language, on which Emdros rests, were
invented by Crist-Jan Doedens, who wrote his PhD dissertation on the
MdF model and the QL query language.  See the website for
bibliographic information for Doedens' PhD thesis.

Kirk E. Lowery contributed the beginnings of the Ruby bindings.  He
also did the groundwork for integration with libtool.

Chris Wilson contributed an earlier version of some of the Perl
bindings.

Hendrik Jan Bosman contributed some of the ideas for Java-style
iterators.

Martin Petersen contributed some of the code for the import wizard.



Directory overview
==================

Emdros has the following directories:

./           - Contains configuration files, basic doc files, etc.
./doc        - Contains documentation.
./djgpp      - DJGPP compilation support
./examples   - various examples
./EMdF       - Source files for the library implementing the EMdF model.
./include    - All include files
./MQL        - Source files for the library implementing MQL
./pcre       - Perl-Comaptible Regular Expressions library
./sqlite     - Local SQLite 2.X.X sources
./sqlite3    - Local SQLite 3.X.X sources
./src        - Source files for programs taking advantage of the Emdros
               libraries.
./SWIG       - directory for SWIG wrappers
./tests      - Source- and other files for tests.
./util       - Source- and other files for "miscellaneous" functions.
./win32      - Files for building with Visual C++ 6.0
./wx         - Source- and other files for wxWidgets-based GUIs



