typedb.common.exception.TypeDBClientException: [QRY16] Недопустимый шаблон запроса
Когда я пытаюсь получить count. получение этой ошибки ниже
``[QRY16] Invalid Query Pattern: The pattern '{{ $xy isa taggedwith; $xy ($x, $y); $x has $_0; $x isa Person; $y isa Employer; $_0 = "ab333a1a-0688-4d70-a9da-32b095a69223"; $_0 isa unique_id; }}' can never be satisfied the current schema, specifically due to '[{ $xy isa taggedwith; $xy ($x, $y); $x has $_0; $x isa Person; $y isa Employer; $_0 = "ab333a1a-0688-4d70-a9da-32b095a69223"; $_0 isa unique_id; }]'.
Пожалуйста, проверьте журналы сервера на наличие трассировки стека`.`
Фактический запрос, который я использую:
match $x isa Person; {$x id ab333a1a-0688-4d70-a9da-32b095a69223;}; $xy ($x, $y) isa taggedwith; $y isa Employer; get $y; count;
Я хочу получить счет без каких-либо проблем.
1 ответ
Эта ошибка указывает на то, что вы написали запрос, который семантически недействителен в соответствии с вашей схемой. Например, возможно, что
Employer
не может быть частью
taggedwith
отношение, что означает, что этот запрос никогда не найдет никаких результатов.
Лучший способ отладить эту ошибку — разделить запрос на более мелкие части, которые не являются недопустимыми, а затем добавлять части обратно одну за другой, пока не будет найдена часть запроса, вызывающая ошибку.
Кроме того, похоже, что ключевое слово не должно быть допустимым. Существует ключевое слово TypeQL (в версии 2.8.0), называемое
iid
но для этого требуется шестнадцатеричный ввод, например
$x iid 0x123...
. Если
id
это атрибут, который вы создали на
Person
, вы захотите использовать
$x has id "ab333a1a-0688-4d70-a9da-32b095a69223"
как строковый атрибут.
Надеюсь это поможет!