Именованные сущности


Именованные сущности — элементы справочника именованных сущностей.


Справочники именованных сущностей

Справочники именованных сущностей необходимы для обработки в паттернах большого количества каких-либо названий. Например, названий городов, стран, имен, валют и пр.

Задаются в виде файла с расширением .csv, строка такого файла имеет следующую структуру:

id; имя; значение

Здесь:

  • id — уникальный идентификатор сущности;
  • имя — имя сущности, возможные синонимы указываются через запятую;
  • значение — значение сущности, string или json.
В параметре имя можно перечислить синонимы, в одном из полей json указать основное название.

Например, часть справочника именованных сущностей:

149;Кузьма;{"name": "Кузьма", "sex": "male"}
150;Карл;{"name": "Карл", "sex": "male"}
151;Клавдий;{"name": "Клавдий", "sex": "male"}
152;Клод;{"name": "Клод", "sex": "male"}
153;Константин,Костя;{"name": "Константин", "sex": "male"}
154;Климент;{"name": "Климент", "sex": "male"}

Элементы справочника именованных сущностей

Чтобы использовать элементы справочника именованных сущностей в именованном паттерне необходимо:

  1. Указать название справочника и путь к нему в файле сценария .sc. Для этого используйте тег require:
require: common/common-cities.csv 
         name = RoamingRegions
         var = RoamingRegions
  1. Задайте в файле .js-библиотек конвертер. Конвертер позволяет записывать информацию в поле value дерева разбора parseTree для паттерна. Например:
function RoamingRegionTagConverter($parseTree) {
            var id = $parseTree.RoamingRegions[0].value;
            return RoamingRegions[id].value
    }

Здесь:

  • RoamingRegionTagConverter — название конвертера;
  • RoamingRegions — название справочника именованных сущностей.

Возвращаемое значение записывается в поле value.

  1. Объявить именованный паттерн. Используйте $entity<>:
$roamingRegion = $entity<RoamingRegions> || converter = RoamingRegionTagConverter
Именованные сущности можно использовать и без объявления именованного паттерна.
При подобном объявлении именованной сущности в $parseTree появляется элемент value, куда записывается id.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней