我正在尝试按如下方式遍历Freebase国家/地区列表:
#r @"..\packages\FSharp.Data.1.1.4\lib\net40\FSharp.Data.dll"
open FSharp.Data
FreebaseData.GetDataContext().``Time and Space``.Location.Countries
|> Seq.iter (fun c -> printfn "%s" c.Name)
在F#Interactive中执行此操作会出现以下错误:
System.Net.WebException: The remote server returned an error: (400) Bad Request.
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Unique query may have at most one result. Got 2",
"locationType": "other",
"location": "/location/country/iso_alpha_3"
}
],
"code": 400,
"message": "Unique query may have at most one result. Got 2"
}
}
我可以做些什么来解决这个问题吗?
谢谢, - 罗布
答案 0 :(得分:4)
这是由于Freebase类型提供程序中的错误 - 请参阅here。根据那里的问题描述,您可以尝试这样的解决方法:
let countries = query {
for country in freebase.``Time and Space``.Location.Countries do
where (country.Name <> "Ghana")
}
countries
|> Seq.iter (fun c -> printfn "%s" c.Name)
答案 1 :(得分:1)
这已在FSharp.Data 1.1.5
中修复