Chapter 3 of the MQL reference (特别是第3.2.6节)讨论了反向查询以获得不同结构中的相同数据,以简化查询或修改数据以返回与您自己的结构相似的结构。
因此,我从下面的查询开始:
https://api.freebase.com/api/service/mqlread?query={"query":{"type":"/automotive/model","name":"Ford Taurus","generations":[]}}可读版本:
{
"type":"/automotive/model",
"name":"Ford Taurus",
"generations":[]
}结果:
{
"code": "/api/status/ok",
"result": {
"generations": [
"First Generation Ford Taurus",
"Second Generation Ford Taurus",
"Fifth Generation Ford Taurus",
"Sixth Generation Ford Taurus",
"Fourth Generation Ford Taurus",
"Third Generation Ford Taurus"
],
"name": "Ford Taurus",
"type": "/automotive/model"
},
"status": "200 OK",
"transaction_id": "cache;cache04.p01.sjc1:8101;2013-04-25T22:05:58Z;0012"
}但是我想让查询以生成为中心,所以我这样修改它:
https://api.freebase.com/api/service/mqlread?query={"query":[{"type":"/automotive/generation","model":"Ford Taurus","name":null}]}可读版本:
[{
"type":"/automotive/generation",
"model":"Ford Taurus",
"name":null
}]结果:
{
"code": "/api/status/ok",
"result": [
{
"model": "Ford Taurus",
"name": "First Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"model": "Ford Taurus",
"name": "Third Generation Ford Taurus",
"type": "/automotive/generation"
}
],
"status": "200 OK",
"transaction_id": "cache;cache01.p01.sjc1:8101;2013-04-25T23:00:35Z;0010"
}我的反向查询只返回两代!请帮我弄清楚为什么会这样。
发布于 2013-04-26 07:27:53
如果您查看Automobile Generation的Freebase模式页面,您将看到model属性已被弃用,并被models的属性所取代。对您的查询进行此更改:
[{
"type": "/automotive/generation",
"models": "Ford Taurus",
"name": null
}]为您提供预期的结果集:
[
{
"models": "Ford Taurus",
"name": "First Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"models": "Ford Taurus",
"name": "Second Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"models": "Ford Taurus",
"name": "Fifth Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"models": "Ford Taurus",
"name": "Sixth Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"models": "Ford Taurus",
"name": "Fourth Generation Ford Taurus",
"type": "/automotive/generation"
},
{
"models": "Ford Taurus",
"name": "Third Generation Ford Taurus",
"type": "/automotive/generation"
}
]https://stackoverflow.com/questions/16226160
复制相似问题