2011-04-09 114 views
5

我想檢索所有電影的名稱及其流派。如果關於類型的信息是空的,那麼沒關係,但是如果流派已知,我想檢索它。Freebase查詢 - 排除某些值

"/film/film/genre": [{"id":null,"optional":"optional"}] 

但我對同性戀色情不感興趣,所以我想排除所有類型爲「/ en/gay_pornography」的電影。

"/film/film/genre": [{"id|=":["/en/gay_pornography"],"optional":"forbidden"}] 

問題是,如何將它合併到一個查詢中?即如何獲得所有電影,即使那些沒有流派,並排除pr0n?

編輯:需要排除多種流派,例如:也/ EN/pornographic_movie

+2

這個問題讓我lawl。排除「某些價值」。 – FreeAsInBeer 2011-04-09 13:04:47

回答

4

你基本上在那裏:你只需要兩個「流派」從句。 MQL可以讓你通過允許任何條款任意前綴做到這一點:

[{ 
    "id": null, 
    "type": "/film/film", 
    "genre": [{ 
    "id":  null, 
    "optional": true 
    }], 
    "forbid:genre": { 
    "id|=": [ 
     "/en/gay_pornography", 
     "/en/pornographic_movie" 
    ], 
    "optional": "forbidden" 
    } 
}]​

http://tinyurl.com/4449ufg

+0

Thanks!現在我意識到,我以前的2個子句的嘗試沒有工作,因爲它不是有效的JSON。用前綴它工作正常:) – user574959 2011-04-12 16:08:14

0

使用"but not"操作:

"genre": [{ 
    "id":  null, 
    "id!=":  "/en/gay_pornography", 
    "optional": true 
    }] 

完整的示例:http://tinyurl.com/3tjdb4j

編輯:這不回答這個問題。它只是阻止這個特定的身份證被列爲電影的一種流派,但並不禁止這部電影。 @ phillip-kendal的回答是正確的。

+0

不起作用:'「id:」/ en/every_poolboys_dream「, 」type「:」/ film/film「, 」genre「:[{ 」id「:null, 」id!=「 :「/ en/gay_pornography」, 「optional」:true }]' – user574959 2011-04-09 13:50:06