我使用FSharp.Data dll并且它非常酷,但我发现了一些限制,也许有人知道如何制作。我试图从London的此页面freebase页面检索一些数据,并且提供商可以轻松访问这样的地方的旅行目的地数据:
let Extract mid =let freebaseContext = FreebaseDataWithKey.GetDataContext()
let place = freebaseContext.Commons.Travel.``Travel destinations``.Where( fun x-> x.MachineId = mid) |> Seq.toList
这很棒,但是,因为伦敦不仅仅是一个旅游目的地(它也是一个日期位置,一个拍摄地点......)要提取这些数据,我必须去提供商的每个集合,搜索它。例如,如果我想知道运动队在Londond,我将不得不再次提出这样的要求:
let sports = freebaseContext.Commons.Sports.``Sports Team Locations``.Where( fun x-> x.MachineId = mid) |> Seq.toList |> Seq.head
let teams = sports.Teams.ToList();
对于我想要访问的每个数据属性,这非常昂贵,因为我必须向服务器发出大量请求,并且很容易超出谷歌的请求限制。有没有办法让提供者只在一个请求中从该页面检索所有数据?谢谢!