【问题标题】:Freebase MQL query retrieving inconsistent resultsFreebase MQL 查询检索不一致的结果
【发布时间】:2012-11-06 11:53:04
【问题描述】:

当我在 freebase 查询生成器中运行此查询时

[{
  "/type/object/id": "/en/michael_jackson",
  "/type/object/name": null,
  "/type/object/type": "/music/artist",
  "/music/artist/album": [{
    "id":            null,
    "name":          [],
    "release_type!=": "Single",
    "/music/album/primary_release": [{
      "name":       null,
      "track_list": [{name:null}]
    }]
  }]
}];​

我得到了正确的结果,包括专辑和曲目列表,但如果将查询更改为

[{
  "/type/object/id": "/en/carly_rae_jepsen",
  "/type/object/name": null,
  "/type/object/type": "/music/artist",
  "/music/artist/album": [{
    "id":            null,
    "name":          [],
    "release_type!=": "Single",
    "/music/album/primary_release": [{
      "name":       null,
      "track_list": [{name:null}]
    }]
  }]
}];​

我什么都拿不回来。您可以在http://www.freebase.com/queryeditor 尝试这两个查询。有人能指出我做错了什么吗?这两位都是艺术家,所以我也应该为 Carly Rae Jepsen 找回 abum 和曲目列表。

【问题讨论】:

    标签: freebase


    【解决方案1】:

    并非所有专辑都记录了主要发行版本。除非你真的关心这个,否则我会放松你的限制并使用像this这样的查询:

    [{
      "id": "/en/carly_rae_jepsen",
      "name": null,
      "type": "/music/artist",
      "/music/artist/album": [{
        "id":            null,
        "name":          null,
        "release_type!=": "Single",
        "/music/album/releases": [{
          "name":       null,
          "track_list": [{"name":null}]
        }]
      }]
    }]​
    

    对查询的其他一些调整:

    • 最后一个“名字”没有被引用
    • 查询不以分号结束
    • /type/object 是默认值,可以省略,与最近指定类型关联的属性类似
    • name 是一个单值属性,所以使用 null 而不是 []

    如果您想要主要版本(如果可用),但不让它限制您的查询,您可以使用“可选”:true。您可以通过按发布日期对所有版本进行排序并仅选择第一个版本(假设它很有可能成为主要版本)来获得更好的结果。

    生成的查询类似于this:

    [{
      "id":   "/en/carly_rae_jepsen",
      "name": null,
      "type": "/music/artist",
      "album": [{
        "id":            null,
        "name":          [],
        "release_type!=": "Single",
        "primary_release": [{
          "optional": true,
          "name":     null,
          "track_list": [{
            "name": null
          }]
        }],
        "releases": [{
          "name":         null,
          "track_list": [{
            "name": null
          }],
          "release_date": null,
          "sort":         "release_date",
          "limit":        1
        }]
      }]
    }]​
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      相关资源
      最近更新 更多