2010-06-28 91 views
2

我有一个简单的脚本,它可以检索中的所有Freebase 类型。现在我想过滤出CVT类型,但我无法弄清楚如何编写该测试。如果我写它似乎最明显的方式:Freebase MQL Test for Not True

<acre:script> 
    var q_categories = [{ 
    "id":  null, 
    "name": null, 
    "sort": "name", 
    "type": '/freebase/domain_category', 

    "domains": [{ 
     "id": null, 
     "name": null, 
     "sort": "name", 

     "!/type/type/domain": [{ 
     "id": null, 
     "name": null, 
     "sort": "name", 

     "/freebase/type_hints/mediator!=": true 
     }], 
    }] 
    }]; 

    var categories = acre.freebase.mqlread(q_categories).result; 
</acre:script> 

我得到一个错误:

JS exception: acre.freebase.Error: /api/status/error: Can't use comparison operators on boolean values

我猜测,这可能是一个用例的"optional": "forbidden"指令,但我即使我的猜测是正确的,也不知道如何构造语法。

任何在正确的方向微调将不胜感激。

回答

2

这应该工作:

"/freebase/type_hints/mediator": { 
    "optional": "forbidden", 
    "value": true 
} 

附:当您尝试开发查询时,我建议您在查询编辑器中工作。 下面是使用可选的查询的一个工作示例:forbidden。 http://tinyurl.com/2co63sy