gpt4 book ai didi

java - Socata Soda Api Java 错误 : function #LIKE is not defined in SoQL

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:40 25 4
gpt4 key购买 nike

我正在尝试使用 soda-java api 对 socrata 数据集进行类似查询使用此代码

Soda2Consumer consumer = Soda2Consumer.newConsumer("https://data.cityofboston.gov");
SoqlQuery departmentOfStateQuery = new SoqlQueryBuilder()
.addSelectPhrase("entered")
.addSelectPhrase("vendor_name")
.addSelectPhrase("account_descr")
.addSelectPhrase("dept_name")
.setWhereClause("vendor_name like'IBM%'")
.build();
consumer.query("gqai-h7bg",departmentOfStateQuery,Nomination.LIST_TYPE);

但是我收到一个错误线程“main”中出现异常 com.socrata.exceptions.MalformedQueryError:错误:SoQL 中未定义函数 #LIKE。:错误:SoQL 中未定义函数 #LIKE。使用浏览器可以正常工作

https://data.cityofboston.gov/resource/gd7m-xsim.json?$where=vendor_name like 'IBM%'即使 FF 将其翻译为 https://data.cityofboston.gov/resource/gd7m-xsim.json?$where=vendor_name%20like%20%27IBM%%27 我确实使用了相同的结果。

最佳答案

LIKE 仅在版本 2.1 API 端点上受支持:https://dev.socrata.com/docs/functions/like.html

幸运的是,该数据集存在 2.1 端点:https://dev.socrata.com/foundry/data.cityofboston.gov/gd7m-xsim

我能够使用以下代码让您的 LIKE 查询正常工作:

    Soda2Consumer consumer = Soda2Consumer.newConsumer("https://data.cityofboston.gov");
SoqlQuery query = new SoqlQueryBuilder()
.addSelectPhrase("entered")
.addSelectPhrase("vendor_name")
.addSelectPhrase("account_descr")
.addSelectPhrase("dept_name")
.setWhereClause("vendor_name LIKE 'IBM%'")
.build();

System.out.println(query.toString());
ClientResponse response = consumer.query("gd7m-xsim", HttpLowLevel.JSON_TYPE, query);
String payload = response.getEntity(String.class);
System.out.println(payload);

关于java - Socata Soda Api Java 错误 : function #LIKE is not defined in SoQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38880376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com