Фильтр Freebase MQL, где значение!= null?
Вопрос
Я пытаюсь написать запрос MQL, который отфильтровывает нулевые значения.
Запрос, который у меня есть сейчас (может быть выполнен с использованием Редактор MQL-запросов):
[
{
"/common/topic/image" : [
{
"id" : null
}
],
"article" : [
{
"content" : null
}
],
"name" : "bill gates",
"type" : "/common/topic"
}
]
Результаты, которые я получаю:
[
{
"/common/topic/image" : [
{
"id" : "/guid/9202a8c04000641f8000000004fb4c01"
},
{
"id" : "/wikipedia/images/commons_id/4486276"
}
],
"article" : [
{
"content" : null
},
{
"content" : "/guid/9202a8c04000641f800000000903535d"
}
],
"name" : "Bill Gates",
"type" : "/common/topic"
}
]
Я пытаюсь понять, как я могу отфильтровать «контент»:нулевое совпадение в массиве «article» во время запроса.Я просмотрел документацию MQL, но не увидел четкого способа сделать это.
Решение
Чтобы отфильтровать статьи, которым не присвоено никакого контента, вам придется расширить атрибут идентификатора контента и установить для необязательной директивы значение false.
[
{
"/common/topic/image" : [
{
"id" : null
}
],
"article" : [
{
"content" : {
"id" : null,
"optional" : false
}
}
],
"name" : "bill gates",
"type" : "/common/topic"
}
]
Это даст вам следующий результат:
[
{
"/common/topic/image" : [
{
"id" : "/guid/9202a8c04000641f8000000004fb4c01"
},
{
"id" : "/wikipedia/images/commons_id/4486276"
}
],
"article" : [
{
"content" : {
"id" : "/guid/9202a8c04000641f800000000903535d"
}
}
],
"name" : "Bill Gates",
"type" : "/common/topic"
}
]
Дополнительную информацию об использовании необязательной директивы см. в документации. здесь.
Не связан с StackOverflow