Функции API для поиска id грамматической категории

int sol_FindEnum( HGREN hEngine, const wchar_t * CategoryName )

int sol_FindEnum8( HGREN hEngine, const char * CategoryNameUtf8 )

Аргументы:

CategoryName - наименование грамматической категории, которое было присвоено при ее объявлении.

hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра морфологического словаря.

Возвращает:

-1 - категория с указанным именем отсутствует в словаре.

число>=0 - первичный ключ (id) объявления категории.

Примечания

Функции sol_FindEnum и sol_FindEnum8 отличаются текстовой кодировкой, в которой задано название категории. Функция с суффиксом 8 - получает строку в кодировке utf-8.

Поиск выполняется без учета регистра.

Грамматические категории тесно связаны с грамматическими признаками. Одна грамматическая категория объединяет несколько грамматических признаков, например категория падеж объединяет в себе именительный, родительный, творительный, дательный, винительный, предложный, звательный, местный, партитив, названия которых заданы сокращениями типа им и твор. Категория род объединяет признаки муж, жен и ср, соответствующие грамматическим родам русского языка. Для работы с грамматическими признаками как элементами одной категории служат такие функции API, как sol_FindEnumState, sol_CountCoordStates, sol_GetCoordStateName.

Для просмотра полного списка грамматических категорий и признаков для русского языка откройте в Блокноте этот файл.

В рамках SQL словаря найти числовой код категории по её наименованию можно через таблицу SG_COORD.

В ORM библиотеке класс Dictionary имеет свойство coords, с помощью которого можно перечислить все имеющиеся в грамматическом словаре категории, представляемые как объекты класса Coordinate.

Функции потокобезопасны.

Для большинства грамматических категорий в файле _sg_api.* объявлены символические константы, соответствующие их id. Например, id падежа объявлен как CASE_ru.

Обратная операция, то есть определение наименования грамматической категории по её ID, выполняется функцией sol_GetCoordName.

Примеры

Пример на C++ - поиск id категории вида глагола:

#include "solarix_grammar_engine.h"

...

HGREN hEngine = sol_CreateGrammarEngineW(L"..\\..\\bin-windows\\dictionary.xml");

//...

int AspectID = sol_FindEnum( hEngine, L"вид" );

// ...
  

Пример на C# - поиск id категории падежа

IntPtr gren = SolarixGrammarEngineNET.GrammarEngine.sol_CreateGrammarEngineW("..\\..\\bin-windows\\dictionary.xml");

// ...

int CaseID = SolarixGrammarEngineNET.GrammarEngine.sol_FindEnum( gren, "падеж" );

// ...

Навигация по API грамматического словаря

Приобретение SDK грамматического словаря

English version of this page

Объявление грамматических категорий и признаков

Падеж

Совершенный и несовершенный вид глагола

Степени сравнения прилагательных и наречий

Единственное и множественное число

Женский, мужской и средний род

Класс Coordinate - грамматическая категория в ORM библиотеке

API layer C++ source code: grammar_engine_api.cpp

Вернуться к списку функций API

  © Козиев Илья 2019
изменено 27-Mar-11