Freebase - 在book_edition上查询media_common来获取/预订/预订?

时间:2014-11-12 10:13:39

标签: freebase mql

这是一个包含freebase的完整初学者,试图了解如何通过/book/book进行查询以查找/book_edition/media_common/cataloged_instance/isbn13

我尝试了此查询并收到此错误:Type /book/book_edition does not have property media_common

[{
  "type": "/book/book",
  "editions": [{
    "media_common": [{
      "cataloged_instance": [{
        "isbn13": "9780812519112" //example isbn13 from ender's game - https://www.freebase.com/m/04v8gr6
      }]
    }]
  }],
  "id": null
}]

编辑:这是我用来获取book_edition

上已弃用的ISBN字段的查询
[{
  "type": "/book/book",
  "editions": [{
    "ISBN": "0312932081"
  }],
  "id": null
}]

1 个答案:

答案 0 :(得分:1)

该属性实际上是/media_common/cataloged_instance/isbn13,您可以通过探索模式来发现它。因为它来自与/book/book/editions的预期类型不同的类型(/book/book_edition,您需要使用完全限定名。对于我添加到下面查询中的作者属性,同上。 / p>

[{
  "type": "/book/book",
  "editions": [{
    "/media_common/cataloged_instance/isbn13": "9780812519112"
  }],
  "id": null,
  "name": null,
  "/book/written_work/author": null
}]

不使用允许我们在属性名称上删除类型前缀的简写表示法,此查询将如下所示:

[{
  "/book/book/editions": [{
    "/media_common/cataloged_instance/isbn13": "9780812519112"
  }],
  "/type/object/id": null,
  "/type/object/name": null,
  "/book/written_work/author": null
}]

将属性名称扩展为完全限定版本由查询处理器机械完成,而不需要任何模式的实际知识。相反,图遍历将属性名称视为不透明字符串。