Рассматриваемая далее библиотека представляет из себя специализированную ORM для грамматического словаря, загруженного в SQL базу данных. Вместо работы с записями в реляционной базе данных, прикладная программа на платформе .NET может использовать набор классов, соответствующих сущностям предметной области:
PartOfSpeech - часть речи
WordEntry - словарная статья
Phrase - фразовая статья
EntryForm - грамматическая форма
и другие, смотрите полный список далее.
В отличие от динамической библиотеки для платформ Windows/Linux/MacOS, которая загружает словарь в оперативную память, данная библиотека загружает данные в память в минимальном объеме, только при явном обращении со стороны прикладного кода. Например, класс WordEntry имеет общедоступное поле links - список исходящих связей тезауруса. Данный список будет подгружен из базы при первом обращении прикладного кода.
SQL словарь может быть загружен в разные СУБД, каждая из которых обладает уникальными чертами, несовместимостями со стандартом и набором дополнительных возможностей, облегчающих работу с данными. Чтобы облегчить портирование библиотеки на разные модели СУБД, введен слой абстрагирования доступа к данным - класс IDataAccessLayer. Производные классы, такие как MSSQL_DataAccessLayer, реализуют абстрактные методы, обеспечивающие настройку на особенности СУБД, например - работу с транзакциями или способ генерации первичных ключей.
Библиотека изначально разрабатывается с учетом возможности создания новых словарных и фразовых статей, связей тезауруса, а также их удаления.
IDataAccessLayer - слой доступа к грамматическому словарю
MSSQL_DataAccessLayer - доступ к словарю в MS SQL через ADO.NET
MySQL_DataAccessLayer - доступ к словарю в MySQL через ODBC
FireBird_DataAccessLayer - доступ к словарю в FireBird через ODBC
Dictionary - словарь, контейнер для работы с лексиконом и тезаурусом
Language - язык
PartOfSpeech - часть речи
Coordinate - грамматическая категория
CoordPair - грамматический признак
WordEntry - словарная статья
EntryForm - грамматическая форма слова
Phrase - фразовая статья
Phrase - дополнительная информация для фразовой статьи
TagDefValues - справочник тегов, допустимые значения для одного типа тегов
WordLink - связь между словарными статьями
PhraseLink - связь между фразовыми статьями
LinkTags - теги для связей
LinkFlag - флаг для связей
RuNounEntry - существительное
RuInfEntry - неопределенная форма глагола (инфинитив)
RuAdjEntry - прилагательное
RuAdvEntry - наречие
RuVerbEntry - глагол
RuParticipleEntry - причастие
RuAdvParticipleEntry - деепричастие
Работа со словарем с помощью LINQ
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 16-Aug-11 | ||||||||||||||||||||||||||||||||||||||