这是一个包含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
}]
答案 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
}]
将属性名称扩展为完全限定版本由查询处理器机械完成,而不需要任何模式的实际知识。相反,图遍历将属性名称视为不透明字符串。