HP.*_*HP. 2 api json rdf freebase node.js
我尝试了这个查询来获取所有菜单实例的列表
[{
"id": null,
"name": null,
"type": "/food/dish"
}]
Run Code Online (Sandbox Code Playgroud)
但它只给我第一页:
问题1:如何添加分页以获取所有2.5K左右的碟形实例?我试图添加"光标:2",但没有工作.
假设我有一个名字"披萨",我尝试了这个查询来获取"披萨"的细节:
{
"*": null,
"name": "pizza",
"type": "/food/dish"
}
Run Code Online (Sandbox Code Playgroud)
但这并没有给我这样的描述和图像http://www.freebase.com/m/0663v
问题2:如何获取所有信息,或至少在上面的freebase页面中的描述和图像URL?
额外奖励:我试图通过Freebase Node.js在这里做所有事情https://github.com/spencermountain/Freebase.js
我建议你将其分为2个问题,因此每个问题都有自己的主题,以后的访问者更容易搜索.
那说:
您可以通过添加limit:查询来增加每页获得的结果数.无论如何,您将不得不使用分页.要使用分页,您需要将cursor参数添加到mqlreadHTTP请求中.还是那句话:cursor是不是在MQL查询本身的一部分,而是认为其提交的HTTP信封.
对于第一个查询,发出一个空cursor,对于后续查询,使用cursormqlread返回给您的值.
请注意,所有这些都需要使用API完成,而不是直接使用freebase,因此URL必须是:
https://www.googleapis.com/freebase/v1/mqlread?cursor=&query=[{"id":null,"name":null,"type":"/food/dish","limit":5}]
另请注意,如果您计划执行除测试以外的任何操作,则需要从Google获取密钥.
最后,请注意Freebase中的一些字符串是"freebase-encoded",请阅读有关如何在结果中解码它们的信息.
如果您只想要成分名称,那么只需添加"/dining/cuisine/ingredients": []到您的查询中即可.请注意,许多菜肴没有配料,但Pizza确实:
{
"id": "/m/0663v",
"name": null,
"type": "/food/dish",
"/dining/cuisine/ingredients": []
}
Run Code Online (Sandbox Code Playgroud)
获取图像意味着添加"/common/topic/image": [{}]到您的查询,并使用返回id的每个图像.
从给定图像获取图像URL id是通过预先添加https://usercontent.googleapis.com/freebase/v1/image/到id.
汤姆正确地指出我忘记了图像描述.每个图像的描述将name:在返回的/common/topic/image数组中可用.例如,对于查询
[{
"id": "/en/minestrone",
"/common/topic/image": [{
"id": null,
"name": null
}]
}]
Run Code Online (Sandbox Code Playgroud)
您将获得以下图像及其描述:
{
"result": [{
"id": "/en/minestrone",
"/common/topic/image": [
{
"id": "/wikipedia/images/commons_id/1492185",
"name": "MinestroneSoup"
},
{
"id": "/wikipedia/images/commons_id/12565901",
"name": "Homemade minestrone"
}
]
}]
}
Run Code Online (Sandbox Code Playgroud)
那么,你的最终MQL是:
[{
"id": null,
"name": null,
"type": "/food/dish",
"/common/topic/image": [{
"id": null,
"name": null
}],
"/dining/cuisine/ingredients": []
}]
Run Code Online (Sandbox Code Playgroud)
...并且HTTP信封将包含密钥和值cursor.
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |