我正在使用下面链接http://dev.socrata.com/consumers/examples/creating-an-application-with-asp-dotnet.html中的信息开发一个由苏格拉塔托管的开放数据的应用程序,无论您如何需要在代码中指定API端点。
private const string _APIEndPoint4x4 = “4tka-6guv”;假设数据集中有5000条记录,它将列出应用程序中的所有数据。但是,您可以通过登录到苏格拉底并保存数据来过滤这些数据来更改端点。例如,我们可以过滤数据,比如2015年的数据,这将给我们带来100项记录。当您下次运行应用程序时,它将只显示100条记录(我们不需要在代码中更改API端点)。我已经在苏格拉塔中学习过Soql查询方法,它说您可以使用这样的条件来设置api端点
https://soda.demo.socrata.com/resource/4tka-6guv?$where=magnitude > 3.0我的问题是如何在我的应用程序中使用这个?我试过了
private const string _APIEndPoint4x4 = "4tka-6guv?$where=magnitude > 3.0”;但是它给出了以下错误
提供的resourceId不是有效的苏格拉塔(4x4)资源标识符。
发布于 2015-06-08 20:39:03
作为对其他答案的跟进..。
每个数据集都有一个与其相关联的资源标识符,也称为苏格拉塔4x4。在您的示例中,资源标识符是4tka-6guv.。它总是4个字母数字字符,一个破折号,然后4个字母数字字符。因此名叫苏格拉塔4x4。
错误信息:
提供的resourceId不是有效的苏格拉塔(4x4)资源标识符。
指示您在代码中提供的resourceId格式不正确。这一行:
private const string _APIEndPoint4x4 = "4tka-6guv?$where=magnitude > 3.0”;提供的不仅仅是苏格拉塔4x4,还有一个查询参数($where=magnitude > 3.0)。
现在,在洛杉矶的苏格拉塔中获取对数据集的引用。
var dataset = client.GetResource<MyClass>("4tka-6guv");只需要使用苏格拉塔4x4。
这并不会下载所有的行,而只是为您提供了一个对象来对其执行其他查询。要实际获取一些数据,请构建一个SoqlQuery对象,以传递到您前面获得的dataset引用上的Query方法。
这就是禤浩焯Laurenzi (通过SODA.NET自述)展示的东西。
发布于 2015-05-14 20:52:05
您可能会发现查看PDF指南中提到的SODA.NET SDK的自述自述文档:https://github.com/CityofSantaMonica/SODA.NET是有用的。
要筛选数据,可以使用如下代码:
var dataset = client.GetResource<MyClass>("4tka-6guv");
var soql = new SoqlQuery().Select("column1", "column2")
.Where("magnitude > 3.0");
var results = dataset.Query<MyOtherClass>(soql);发布于 2015-05-14 16:26:16
该PDF中的第14页包含一些关于如何使用SoQL过滤器的详细信息和代码示例。试试看,如果有帮助,请告诉我!
https://stackoverflow.com/questions/30237132
复制相似问题