操作员之间的 SODA 不适用于某些数据集
SODA between operator does not work with some datasets
between
运算符适用于某些 Socrata SODA 数据集,而不适用于其他数据集。当在某些数据集上使用时,查询不会产生任何结果,但在其他数据集上它会按预期工作。我做错了什么?
我尝试使用 >=
而不是使用 between
,它确实产生了结果。此外,我尝试在按预期工作的不同数据集上使用 between
。
例如,在此查询的 :updated_at
字段上使用 between
不会产生任何结果。
curl "https://data.cityofnewyork.us/resource/3h2n-5cm9.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+between+%272019-01-10T10%3A00%3A00.000%27+and+%272019-09-11T10%3A00%3A00.000%27&%24limit=10"
[]
但是,有数据是因为:updated_at >=
产生了结果。
curl "https://data.cityofnewyork.us/resource/3h2n-5cm9.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+%3E%3D+%272019-01-10T10%3A00%3A00.000%27&%24limit=10"
[{":created_at":"2019-09-11T22:23:43.719Z",":id":"row-qu6f_f9ar_rewb",":updated_at":"2019-09-11T22:23:43.719Z"
...]
这里是 between
处理不同数据集的示例。
curl "https://data.cityofnewyork.us/resource/rvhx-8trz.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+between+%272019-01-10T10%3A00%3A00.000%27+and+%272019-09-11T10%3A00%3A00.000%27&%24limit=10"
[{":created_at":"2018-05-25T21:44:12.712Z",":id":"row-a34u.9rem~mnnx",":updated_at":"2019-01-10T22:23:58.425Z",":version":"rv-xahg~4nmg.r4c2"
...]
between
运算符过去曾在 https://data.cityofnewyork.us/resource/3h2n-5cm9.json
数据集上工作,但截至 2019 年 9 月 11 日晚上 10 点已不再工作。
我知道这不是一个直接的答案,但你试过将这个问题提交给 https://support.socrata.com/hc/en-us/requests/new 吗?
祝你好运。
乔恩
检查以下查询 return 的结果,但 none 的结果似乎先于 2019-09-11T10:00:00
https://data.cityofnewyork.us/resource/3h2n-5cm9.json?$select=:*,*&$where=:updated_at >= '2019-01-10T10:00:00'
由于几天过去了,以下查询确实出现在 return 所有结果中(我已将后一个日期调整为当前日期,2019 年 9 月 13 日:
https://data.cityofnewyork.us/resource/3h2n-5cm9.json?$select=:*,*&$where=:updated_at between '2019-01-10T10:00:00' AND '2019-09-13T10:00:00'
查看此文件时,我注意到所有 :updated_at
时间戳都是相同的(目前 2019-09-11T22:23:43.719Z
)。 The info box in this section 有助于解释该字段。我的猜测是纽约市正在进行完全替换,因此 :updated_at
每天都会完全更改,因为所有记录都被重写了。
between
运算符适用于某些 Socrata SODA 数据集,而不适用于其他数据集。当在某些数据集上使用时,查询不会产生任何结果,但在其他数据集上它会按预期工作。我做错了什么?
我尝试使用 >=
而不是使用 between
,它确实产生了结果。此外,我尝试在按预期工作的不同数据集上使用 between
。
例如,在此查询的 :updated_at
字段上使用 between
不会产生任何结果。
curl "https://data.cityofnewyork.us/resource/3h2n-5cm9.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+between+%272019-01-10T10%3A00%3A00.000%27+and+%272019-09-11T10%3A00%3A00.000%27&%24limit=10"
[]
但是,有数据是因为:updated_at >=
产生了结果。
curl "https://data.cityofnewyork.us/resource/3h2n-5cm9.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+%3E%3D+%272019-01-10T10%3A00%3A00.000%27&%24limit=10"
[{":created_at":"2019-09-11T22:23:43.719Z",":id":"row-qu6f_f9ar_rewb",":updated_at":"2019-09-11T22:23:43.719Z"
...]
这里是 between
处理不同数据集的示例。
curl "https://data.cityofnewyork.us/resource/rvhx-8trz.json?%24select=%3A*%2C*&%24where=%3Aupdated_at+between+%272019-01-10T10%3A00%3A00.000%27+and+%272019-09-11T10%3A00%3A00.000%27&%24limit=10"
[{":created_at":"2018-05-25T21:44:12.712Z",":id":"row-a34u.9rem~mnnx",":updated_at":"2019-01-10T22:23:58.425Z",":version":"rv-xahg~4nmg.r4c2"
...]
between
运算符过去曾在 https://data.cityofnewyork.us/resource/3h2n-5cm9.json
数据集上工作,但截至 2019 年 9 月 11 日晚上 10 点已不再工作。
我知道这不是一个直接的答案,但你试过将这个问题提交给 https://support.socrata.com/hc/en-us/requests/new 吗?
祝你好运。
乔恩
检查以下查询 return 的结果,但 none 的结果似乎先于 2019-09-11T10:00:00
https://data.cityofnewyork.us/resource/3h2n-5cm9.json?$select=:*,*&$where=:updated_at >= '2019-01-10T10:00:00'
由于几天过去了,以下查询确实出现在 return 所有结果中(我已将后一个日期调整为当前日期,2019 年 9 月 13 日:
https://data.cityofnewyork.us/resource/3h2n-5cm9.json?$select=:*,*&$where=:updated_at between '2019-01-10T10:00:00' AND '2019-09-13T10:00:00'
查看此文件时,我注意到所有 :updated_at
时间戳都是相同的(目前 2019-09-11T22:23:43.719Z
)。 The info box in this section 有助于解释该字段。我的猜测是纽约市正在进行完全替换,因此 :updated_at
每天都会完全更改,因为所有记录都被重写了。