Фильтр запросов Graphql в Weaviate - PullRequest
0 голосов
/ 30 января 2020

Кажется, я не могу понять, как запросить Weaviate и отфильтровать нежелательные объекты. Я прочитал: https://graphql.org/learn/queries/#arguments

Я думаю, что это будет переводиться в мой тест с использованием почтальона:

{ 
  "query": "{ 
    Get { 
      Things { 
        Technique(name: "some name of technique in the weaviate") { name, uuid } 
      } 
    } 
  }"
} 

Этот результат я получил:

{
  "code": 400,
  "message": "parsing body body from \"\" failed, because invalid character 's' after object key:value pair"
}

Как это должно работать?

1 Ответ

2 голосов
/ 30 января 2020

Чтобы отфильтровать объекты в Weaviate, вы должны использовать фильтр "где". Взгляните сюда: https://www.semi.technology/documentation/weaviate/current/query-data/filters.html#where -фильтр .

Я думаю, что ваш запрос в GrapiQL будет выглядеть примерно так:

{"query": "{Get {Things {Technique (where: {path: [" name "] , operator: Equal, valueSting: "некоторое имя техники в weaviate"}) {name, uuid}}}} "}

Для тела JSON в запросе POST покоя, это будет выглядеть так (экранировать двойные кавычки):

{"query": "{Get {Things {Technique (где: {path: [\" name \ "], оператор: Equal, valueSting: \ "какое-то имя техники в weaviate \"}) {name, uuid}}}} "}

...