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

HLINKSINFO sol_ListLinksTxt( HGREN hEngine, int EntryID, int LinkType, int Flags )

Аргументы:

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

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

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

Flags - 0 для работы со словарными стаьями, 1 для фразовых статей.

Возвращает:

Дескриптор списка, состоящего из описаний связей.

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

Примечания

Функция возвращает дескриптор списка с описанием связей. Для получения количества элементов в списке следует использовать функцию sol_LinksInfoCount. Удаление списка, после завершения работы с ним - sol_DeleteLinksInfo. Для доступа к элементам описания связи в списке используются функции sol_LinksInfoType, sol_LinksInfoID, sol_LinksInfoEKey1, sol_LinksInfoEKey2, sol_LinksInfoTagsTxt и sol_LinksInfoFlagsTxt.

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

Основное назначение этой функции - дать исчерпывающее описание связей в тезаурусе, включая теги и флаги. Кроме того, она умеет работать как со словарными, так и с фразовыми статьями. Таким образом, она дает намного более широкий доступ к базе данных тезауруса. Обратной стороной медали является достаточно низкая производительность, в сравнении с sol_Thesaurus.

Пример на C++ - вывод информации из тезауруса для словарной статьи:

#include "solarix_grammar_engine.h"

// ...

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

//...

int key1 = sol_FindEntry8( hEngine, "GALAXY", NOUN_en, -1 );
 
HLINKSINFO hList1 = sol_ListLinksTxt( hEngine, key1, TO_RUSSIAN_link, 0 );

wchar_t buf[64];

if( hList1!=NULL )
 {
  int n=sol_LinksInfoCount(hEngine,hList1);
  for( int i=0; i<n; ++i )
   {
    int link_type = sol_LinksInfoType( hEngine, hList1, i );
    int link_id = sol_LinksInfoID( hEngine, hList1, i );
    int ekey1 = sol_LinksInfoEKey1( hEngine, hList1, i );
    int ekey2 = sol_LinksInfoEKey2( hEngine, hList1, i );
    const wchar_t *tags = sol_LinksInfoTagsTxt( hEngine, hList1, i );

    // Получим имя статьи в правой части
    sol_GetEntryName( hEngine, ekey2, buf );

    printf( "link id=%d from ekey1=%d to ekey2=%d ", link_id, ekey1, ekey2 );
    wide(buf); // выводим unicode-строку с именем словарной статьи справа
    printf( " tags=" );
    wide(tags); // выводим список тегов
   }

  sol_DeleteLinksInfo(hEngine,hList1);
 }

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

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

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

Тезаурус

Получение информации из тезауруса - функция API sol_Thesaurus

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

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

API layer C++ source code: grammar_engine_api.cpp

English version of this page

  © Elijah Koziev 2010
прикладные проекты на основе грамматического словаря API грамматической машины компоненты для доступа к грамматическому словарю условия получения SDK токенизатор и сегментатор морфологический анализ и синтез лемматизатор база N-грамм синтаксический анализатор словоформы морфология и синтаксис русского языка падеж число род совершенный и несовершенный вид экспорт в SQL формат экспорт в XML формат скрипт SQL словаря структура SQL словаря структура XML словаря компоненты для доступа к грамматическому словарю ORM Persistent Dictionary Library лемматизация стемминг примеры использования грамматического словаря склонение существительных в русском языке склонение русских прилагательных спряжение глаголов в русском языке поиск текста с учетом морфологии OCR подсистема расширенные регулярные выражения генератор текста генератор случайного текста и имитатор рандомизатор синонимизатор перефразировщик Статистика буквенных паттернов

Грамматический словарь русского языка



Грамматический словарь
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
требования: 512 Mb свободной памяти, 300 Мб на диске
размер:         34 Мб

  скачать грамматический словарь купить грамматический словарь SDK грамматического словаря
грамматический словарь русского языка



SDK Грамматического словаря



SDK Грамматического Словаря
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
размер:         13 Мб

SQL словарь (демо):
sqlite mysql oracle firebird mssql

скачать демо-версию SDK купить SDK API грамматического словаря



Поисковая система



Integra
настольная и сетевая поисковая система 

платформа:  Windows XP ... Windows 7
требования: 512 Mb свободной памяти
размер:         21 Мб

Дополнительные компоненты:
MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать поисковую систему SDK поисковой системыописание поисковой системы



SDK Поисковой системы



SDK Поискового движка
API для настольной и сетевой поисковая система 

платформа:  Windows XP ... Windows 7
размер:         17 Мб

Дополнительные компоненты:

MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать SDK SDK поисковой системы



Экранный переводчик



Translator
экранный переводчик

платформа:  Windows XP ... Windows 7
требования: 256 Mb свободной памяти
размер:         4.4 Мб

Дополнительные компоненты:
расширенный англо-русский словарь 6.4 Мб


скачать экранный переводчикописание экранного переводчика



изменено 23-Aug-11