我运行IMDbAPI.com并使用Bing的Search API从标题搜索中查找IMDb ID.Bing目前正在将其API更改为Azure Marketplace(8月1日),并且不再免费提供.我开始使用Freebase测试我的API来解析这些ID并在前8小时内达到他们的100k限制(我的网站目前每天获得大约300万个请求,但标题搜索只有200-300k)
这正是他们提供数据转储文件的原因,
我下载了Film文件夹中的大部分文件,但无法找到它们存储"/ authority/imdb/title"imdb id命名空间数据的位置.
这就是我目前正在访问ID的方式.
有谁知道哪个文件包含这些信息?以及如何从电影标题/ ID链接回来?
我目前正计划一个包含大数据的大项目.
我已经使用了搜索,所有结果告诉我,如果不使用第三方工具(如BaseKB或Freebase)到RDF,就无法将Freebase导入任何三元组
正如我所看到的,转储已经可以作为RDF使用,那么如果我想将转储导入到我的4store triplestore并通过SPARQL访问数据,那么问题出在哪里?
我正在尝试编写一个过滤掉空值的MQL查询.
我现在的查询(可以使用MQL查询编辑器执行):
[
{
"/common/topic/image" : [
{
"id" : null
}
],
"article" : [
{
"content" : null
}
],
"name" : "bill gates",
"type" : "/common/topic"
}
]
Run Code Online (Sandbox Code Playgroud)
我得到的结果:
[
{
"/common/topic/image" : [
{
"id" : "/guid/9202a8c04000641f8000000004fb4c01"
},
{
"id" : "/wikipedia/images/commons_id/4486276"
}
],
"article" : [
{
"content" : null
},
{
"content" : "/guid/9202a8c04000641f800000000903535d"
}
],
"name" : "Bill Gates",
"type" : "/common/topic"
}
]
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何在查询时过滤掉"article"数组中的"content":null匹配.我查看了MQL文档但我没有看到明确的方法来执行此操作.
我正在尝试编写一个使用Freebase API 执行的MQL查询.我想检索主题摘要和主题的图像.
我已经能够找到下面的查询,它将获得与比尔盖茨主题相关的图像.
MQL:
[
{
"/common/topic/image" : [
{
"id" : null
}
],
"name" : "bill gates",
"type" : "/people/person"
}
]
Run Code Online (Sandbox Code Playgroud)
结果:
[
{
"/common/topic/image" : [
{
"id" : "/guid/9202a8c04000641f8000000004fb4c01"
},
{
"id" : "/wikipedia/images/commons_id/4486276"
}
],
"name" : "Bill Gates",
"type" : "/people/person"
}
]
Run Code Online (Sandbox Code Playgroud)
对于那些过去可能没有遇到MQL但又有兴趣玩它的人.查看Freebase MQL查询编辑器.
billg个人资料页面http://i.friendfeed.com/c31a22d9e439eb67b0feeb4ffd64c3b5ed9a8e16
UPDATE
查询我最终使用:
[
{
"/common/topic/image" : [
{
"id" : null
}
],
"article" : [
{
"content" : …Run Code Online (Sandbox Code Playgroud) 例如,如果某个主题(例如:德克萨斯州)属于/ location/citytown类型,我也会看到有一个类型"/ location/location"附加到同一主题.另外,这里的主题是城市或城镇的名称,默认情况下也是一般的位置,对吧?那么,如果某个主题具有类型/位置/ citytown,那么它会默认将/ location/location作为与同一主题相关联的类型吗?
总而言之,Freebase是否以某种方式对类型进行分层表示,这样我们就可以理解,如果某个东西是/ location/citytown,那么它也是/ location/location,对其他情况也是如此?
在我几年前开展的一个项目中,我正在构建一组关于Freebase电影的数据.一个简单的shell脚本下载了"film.tsv"文件(来自http://download.freebase.com/datadumps/latest/browse/film/film.tsv).然后我使用该文件中的"id"字段为每部电影构建必要的MQL请求(检索我感兴趣的其他属性,例如演员,流派).
在看了今天的开发人员指南之后,我意识到Freebase已经发生了相当大的变化,我发现之前使用的转储文件已经不再可用了.我还看到转储文件格式现在是RDF,据我所知,转储文件现在只能作为单个22GB存档使用.
如果可能的话,我想避免每次我想重建我的数据集时下载22G文件,那么是否可以再检索单个转储文件,例如film.tsv文件?
如果没有,是否有其他方法可以获得完整的电影ID列表?
可以在特定字段中获取值为null的所有三元组吗?所有date_of_birth的人都等于null?
[
"type": "/people/person",
"date_of_birth":null,
"name":null
]
Run Code Online (Sandbox Code Playgroud) 看来我只能用新的freebase MQL读api做独特的查询(即在查询中包含一个实体id):
以下搜索id和type:
https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"id":"/en/bob_dylan","type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)
并成功返回:
{
"result": {
"type": "/people/person",
"id": "/en/bob_dylan",
"name": "Bob Dylan"
}
}
Run Code Online (Sandbox Code Playgroud)
以下搜索仅使用类型:
https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)
要么
https://www.googleapis.com/freebase/v1/mqlread?query={"name":[],"type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)
并返回以下错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Unique query may have at most one result. Got 100"
}
],
"code": 400,
"message": "Unique query may have at most one result. Got 100"
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它能够返回一个人名列表
我看到有两个/common/topic/notable_types和/common/topic/notable_for中游离碱的话题转储性能.
这两者有什么区别?我假设两者都提供了一个值得注意的主题类型.
是否可以在MQL中执行一个查询以从Freebase获取某种语言的名称和维基百科ID?如果可能的话,是否也可以为一组语言(例如德语和英语)执行此操作?
我需要为任何给定的电影提取制作公司和发行公司的信息,我正在使用Freebase.发生我从未使用过JSON,也不知道如何将查询与我的PHP文件集成.
我一直在阅读的教程一点也不清楚,所以我总是来这里得到我一直得到的帮助!:)
所以...我需要提取的信息是这个Freebase查询编辑器
我所拥有的PHP是这样的(注释行是我确定错误的行和/或来自我所遵循的教程中的行,这里没有成功:
$moviename = "The Matrix";
// [{ "name": "The Matrix", "type": "/film/film", "production_companies": [{ "name": null }], "distributors": [{ "distributor": [{ "name": null }] }] }]
$simplequery = array('name'=>$moviename, 'type'=>"/film/film", 'production_companies'=>array('name'=>null));
//{"id":"/topic/en/philip_k_dick", "/film/writer/film":[]}
//$simplequery = array('id'=>$_POST["freebasewriter"], 'name'=>null, '/film/writer/film'=>array(array('name'=>null, 'id'=>null)));
$queryarray = array('q1'=>array('query'=>$simplequery));
$jsonquerystr = json_encode($queryarray);
#run the query
$apiendpoint = "http://sandbox.freebase.com/api/service/mqlread?queries";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$apiendpoint=$jsonquerystr");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonresultstr = curl_exec($ch);
curl_close($ch);
$jsonquerystr = urlencode(json_encode($queryarray) );
//print_r($resultarray);
//$produtoraarray = …Run Code Online (Sandbox Code Playgroud) 我是Freebase的新手,我一直试图找到2个节点之间的关系而没有成功.
例如,我想找出Lewis Hamilton(/ en/lewis_hamilton)和一级方程式(/ en/formula_one)之间是否存在链接,这在现实生活中是如此,但我似乎无法找到它.
我尝试了以下MQL代码,也是交替ID:
1)
[{
"type" : "/type/link",
"source" : { "id" : "/en/lewis_hamilton" },
"master_property" : null,
"target" : { "id" : "/en/formula_one" },
"target_value" : null
}]
Run Code Online (Sandbox Code Playgroud)
2)
{
"id":"/en/lewis_hamilton",
"/type/reflect/any_master":[{
"link":null,
"name":null
}],
"/type/reflect/any_reverse":[{
"link":null,
"name":null
}],
"/type/reflect/any_value":[{
"link":null,
"value":null
}]
}
Run Code Online (Sandbox Code Playgroud)
我也无法使用他们可以执行此操作的几个应用程序,因为它每次都返回"超出用户速率限制".应用程序是:
你们有什么建议吗?
我正在尝试使用套接字在 MetaTrader 5 和 Python 之间建立连接。服务器部分用 python 编写,客户端部分用 mql5 编写。客户也是 Expert Advisor,而不是指标。问题是当我同时运行服务器和客户端时,客户端给我“错误4014”。如果有人能帮助我解决这个问题,我非常感激。
//this is python server code
import socket
serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serv.bind(('127.0.0.1', 9090))
serv.listen(1)
while True:
conn, addr = serv.accept()
print('client connected to :', addr)
conn.close()
//This is mql5 client code
//+------------------------------------------------------------------+
//| test_client_EA.mq5 |
//| Copyright 2020, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
int socket;
int OnInit()
{
socket=SocketCreate();
return(INIT_SUCCEEDED);
}
void …Run Code Online (Sandbox Code Playgroud)