Watson Dialog Сохранение и доступ к имени и значению сущности

Я пытаюсь сохранить как значение объекта, так и имя в две отдельные переменные (если возможно), но я не могу сделать это легко. У меня сейчас есть нечто похожее на это...

<entities>
    <entity name="Employee">
        <value name="chat test" value="84"/>
        <value name="Bill Bu" value="85"/>
        <value name="Tim Roberts" value="86"/>
     </entity>
 <entities>

Я пытаюсь сохранить как значения, так и имена для двух разных переменных, чтобы сделать это.

 <input>
     <grammar>
         <item>Who is (Employee)={employeename}</item>
     </grammar>
     <action operator="SET_TO" varName="employeename">{employeename.value:name}</action>
     <action operator="SET_TO" varName="employeeid">{employeename.value:main}</action>
     <goto ref="employeeData_whois"/>
 </input>

и вот где я устанавливаю переменные....

    <variables>
        <var_folder name="Home">
            <var description="The current employee being inquired on" name="employeename" type="TEXT"/>
            <var description="The current ID of employee being inquired on" name="employeeid" type="NUMBER"/>
        </var_folder>
    </variables>

По какой-то причине, когда я пытаюсь получить доступ к имени сотрудника, все работает отлично, но я не могу получить доступ к идентификатору сотрудника (я хочу сослаться на идентификатор внешней системы). Любой совет?

Спасибо!


person eric MC    schedule 22.03.2016    source источник


Ответы (1)


Основная цель установки типа переменной как числа заключается в том, чтобы операторы, которые вы можете поместить в нее: увеличить на, больше, чем и т. д. Не делая слишком много отладки по этому поводу, я думаю, что самым простым решением для вас было бы просто установить тип employeeid должен быть текстовым, и он должен работать правильно. Вы можете иметь число в тексте просто отлично.

Если бы мне пришлось угадывать, я бы поспорил, что он смотрит на массив из вашего объекта и не может его установить, а затем, когда он пытается получить только число из массива, он ломается.

Если вы хотите сохранить его как число, вы можете попробовать создать третью переменную, которая является текстом, чтобы сначала установить ее только на числовой элемент массива, а затем, как только он будет установлен, установите идентификатор сотрудника, но это кажется излишним.

person Mitch    schedule 23.03.2016