Как я могу написать условный запрос с MQL? - PullRequest
2 голосов
/ 03 января 2012

Я пытаюсь извлечь дополнительную информацию, если мой запрос возвращает результат.

Например, в этом запросе notable_for возвращается как "/ music / music_group", и я хочу объединить другой запрос, чтобы извлечь некоторую информацию о "/ music / music_group", например, его "name"

[{
 "id": "/en/pearl_jam",
"mid":None,
"/common/topic/notable_for": [],
"name":[]   
}]

Но если он ничего не возвращает, я не хочу, чтобы мой запрос не удался. Например, для запроса ниже он возвращает пустой список для поля «notable_for»

[{
"id": "/music/musical_group",
"mid":None,
"/common/topic/notable_for": [],
"name":[]
}]

Как мне конвертировать мои запросы для этой цели?

Ответы [ 2 ]

2 голосов
/ 04 января 2012

В качестве примера вы выбрали псевдосвойство (* / common / topic / notable_for *), а не реальное свойство, и оно ведет себя немного по-другому. Для недвижимости вы можете использовать сокращенную запись @ masouras ([{}]), если вы хотите получить все подвойства, но если вы хотите выбрать, скажем, один или два, хитрость заключается в "необязательное" ключевое слово.

Например, этот запрос:

[{
  "id":  "/m/01mntvx",
  "type":"/music/musical_group",
  "/music/musical_group/member": [{
    "member": {
      "name": null
    },
    "optional": true
  }],
  "name":null
}]

будет работать, даже если в группе нет участников.

0 голосов
/ 03 января 2012

Это то, что вы просите:

[{"id": "/ en / pearl_jam", "mid": null, "/ common / topic / notable_for": [{}],}]

http://tinyurl.com/7tchree

...