Freebase提供程序中的FSharp.Data自定义数据请求

时间:2014-03-24 17:00:04

标签: f# freebase f#-data

我使用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();

对于我想要访问的每个数据属性,这非常昂贵,因为我必须向服务器发出大量请求,并且很容易超出谷歌的请求限制。有没有办法让提供者只在一个请求中从该页面检索所有数据?谢谢!

1 个答案:

答案 0 :(得分:1)

如果您有非常自定义的需求,可以尝试直接使用FreebaseRuntime中的功能,但未记录