2

我有一个简单的脚本,可以检索域中的所有Freebase类型。现在我想过滤掉 CVT 类型,但我不知道如何编写该测试。如果我以最明显的方式编写它:

<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 异常:acre.freebase.Error: /api/status/error: Can't use comparison operator on boolean values

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

任何朝着正确方向轻推将不胜感激。

4

1 回答 1

2

这应该有效:

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

PS 我建议您在尝试开发查询时使用查询编辑器。这是使用 optional:forbidden 的查询的工作示例。http://tinyurl.com/2co63sy

于 2010-06-28T18:55:02.327 回答