Программный доступ к БД тезауруса

HGREN_INTARRAY sol_Thesaurus( HGREN hEngine, int EntryID, int LinkType )

Аргументы:

EntryID - id словарной статьи в левой части связей тезауруса.

LinkType - числовой код типа связи

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

Возвращает:

Дескриптор списка, состоящего из id словарных статей, связанных с EntryID указанным типом связи.

Либо NULL - сведений в тезаурусе нет.

Примечания

Функция возвращает дескриптор списка с id словарных статей. Для работы со списком необходимо воспользоваться тремя функциями. Получение количества элементов в списке - sol_CountInts. Получение элемента в нужной позиции списка - sol_GetInt. Удаление списка, после завершения работы с ним - sol_DeleteInts.

Список символических констант для основных типов связей можно найти в файле _sg_api.h для C/C++. Для языков на платформе .NET аналогичные константы объявлены в сборке gren_consts.dll в пространстве имен SolarixGrammarEngineNET.GrammarEngineAPI. Далее приводится краткий перечень типов связей. Обратите внимание, что некоторые константы представляют искаженные термины, мы не исправляем эти ошибки по соображениям обратной совместимости кода.

TO_VERB_linkдериватив, связь с глаголом
TO_INF_linkдериватив, связь с инфинитивом
TO_PERFECTдериватив, связь с глаголом совершенного вида
TO_UNPERFECTдериватив, связь с глаголом несовершенного вида
TO_NOUN_linkдериватив, связь с существительным
TO_ADJ_linkдериватив, связь с прилагательным или причастием
TO_ADV_linkдериватив, связь с наречием
TO_RETVERBдериватив, связь с возвратным глаголом
TO_GERUND_2_linkдериватив, связь с деепричастием
WOUT_RETVERBдериватив, связь с не-возвратным глаголом
TO_ENGLISH_linkперевод на английский
TO_RUSSIAN_linkперевод на русский
TO_FRENCH_linkперевод на французский
SYNONYM_linkсиноним
SEX_SYNONYM_linkродовая пара
CLASS_linkгиперним
MEMBER_linkгипоним
TO_SPANISH_linkперевод на испанский
TO_GERMAN_linkперевод на немецкий
TO_CHINESE_linkперевод на китайский
ANTONYM_linkантоним
TO_DIMINUITIVE_linkдеминутив

Пример на C++:

#include "solarix_grammar_engine.h"

// ...

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

//...

int EntryID = sol_FindEntry( hEngine, L"КОШКА", -1, -1 );
HGREN_INTARRAY hList = sol_Thesaurus( hEngine, EntryID, SYNONYM_link );
int n = sol_CountInts( hList );
for( int i=0; i<n; i++ )
 {
  int EntryID2 = sol_GetInt( hList, i );
  // ... 
 }

sol_DeleteInts(hList);
 
// ...

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

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

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

Тезаурус

Класс WordLink - связь между словарными статьями

Класс PhraseLink - связь между фразовыми статьями

API layer C++ source code: grammar_engine_api.cpp

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