2011-11-29 50 views
1

我正在使用freebase API。我有一个JSON查询,我试图从freebase获取有关城镇中包含的地点的信息。获取有关使用freebase api的地方的信息

当我使用维基百科的纬度和经度时,输入地理位置出现问题。当我将从freebase.com获取的地理位置正确运行时,但并非适用于所有城镇。我的查询有问题吗?

代码:

query = o("name",name,"type","/location/location","geolocation",a(o("latitude",latitude, 
      "longitude",longitude)),"contains", a(o("name",null,"id",null,"optional","optional","type","/location/location", 
      "geolocation",a(o("latitude",null,"longitude",null,"optional","optional")),"limit",800,"count",null))); 

错误:java.lang.NullPointerException

回答

1

这是一种很难说,因为你不使用JSON的语法和您提供没有上下文,以在NPE发生,但一个明确的问题是“可选”采用True/False值,而不是字符串“可选”。

我建议您使用Freebase query editor来调试您的查询,并且只有在最后一分钟调试完毕后才能与Java兼容。

+0

“可选”:“可选”是“可选”的同义词:true,所以这不是问题。汤姆说的其他一切都是正确的:-) –

+0

@Tom非常感谢您使用Freebase查询编辑器,我解决了我的问题。我能问你别的吗?你知道我怎么找到类别的类型和描述的类型。例如,地理位置的类型是/位置/位置。 – Katerina

+0

@Tom Morris ??? – Katerina