消除任何反向反射的MQL结果

时间:2011-08-18 14:56:49

标签: freebase mql

我正在尝试将所有事件都放在地理边界框中(大约覆盖法国),但我想排除所有重复发生的事件,因此我没有大量的法网打开等等。为此,我在查询中使用了以下内容。

"/time/event/instance_of_recurring_event": {
    "id":    null,
    "optional": "forbidden"
}

但是,我注意到戛纳电影节的出现(每年的个别事件),因为它们没有设置instance_of_recurring_event属性。然而,我可以看到经常性的“戛纳电影节”与2006,2007,2008(等)电影节活动有关,所以我想我可以用一些反思消除它们。到目前为止我所拥有的是:

[{
  "name": null,
  "id":   null,
  "/time/event/instance_of_recurring_event": {
    "id":       null,
    "optional": "forbidden"
  },
  "/time/event/locations": [{
    "geolocation": {
      "latitude>":  43.2,
      "latitude<":  49.68,
      "longitude>": -5.1,
      "longitude<": 7.27
    }
  }],
  "/type/reflect/any_reverse": [{
    "id":            null,
    "estimate-count": null,
    "name":          null,
    "/time/recurring_event/current_frequency": null
  }]
}]​

这让我可以看到2008年戛纳电影节与戛纳电影节主题相关(每年都有一次),但我不知道是否有办法用它来消除2008年戛纳电影我的名单上的节日。这有意义吗?

尝试here查询编辑器。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个:http://tinyurl.com/3okuuzw

一些变化:

  1. 我添加了类型:/ time / event,这样您就只能获得该类型的对象。在您的查询中,您没有按类型进行限制,并且在Freebase中,您可以在没有类型的对象上声明属性。这是一个小的改变,可能不会产生很大的影响。

  2. 戛纳电影节所属的/ film / film_festival_event类型有一个属性/电影/ film_festival_event /节日,指向节日系列节目。

  3. 我在查询末尾添加了一个子句,以排除具有该属性集的对象,并假设它们是重复发生的事件。

    这只适用于电影节,但您可以为其他属性重复使用相同的模式。

    [{
      "name": null,
      "mid":   null,
      "type" :"/time/event",
      "/time/event/instance_of_recurring_event": {
        "id":       null,
        "optional": "forbidden"
      },
      "/time/event/locations": [{
        "geolocation": {
          "latitude>":  43.2,
          "latitude<":  49.68,
          "longitude>": -5.1,
          "longitude<": 7.27
        }
      }],
      "/film/film_festival_event/festival": [{
        "mid":            null,
        "optional": "forbidden",
        "limit" : 0
      }]
    }]​
    

    其他一些要点:

    一个。如果要将标识符存储在数据库中或以后以任何方式重新使用它们,则应使用“mid”而不是“id”。 mid是比id更强的标识符,因为它可以在合并和其他数据转换中幸存。要求mid而不是id也更快 - 当结果集很大时,实际上会产生很大的差异。

    湾“限制”:0表示“在结果中根本不返回此条款”。我认为你仍然需要mid,因为你必须在一个具有其他指令的子句中至少有一个属性(在这种情况下是limit和optional)。