Сократа: Как добавить в запрос предложение $order?

Я работаю над небольшим проектом Android для класса. В нем я создаю запрос к открытому набору данных Socrata в Лос-Анджелесе.

Вот URL: https://data.lacity.org/resource/yv23-pmwf.json?%24select=zip_code%2Cissue_date%2Caddress_start%2Caddress_end%2Cstreet_name%2Cstreet_suffix%2Cwork_description%2Cvaluation&%24where=issue_date%3E%3D%272015-02-25T00%3A00%3A00%27%20AND%20zip_code%3D90291

Это работает.

Но я не могу понять, что это за дополнение, которое бы «заказывало» результат. В документации Socrata говорится следующее:

~~~~~~~~~~~~~~~~~~~~~~~~~Параметр $order~~~~~~~~~~~~~~~~~~~~

Параметр $order определяет способ сортировки результатов с использованием значений из указанных столбцов, аналогично SQL ORDER BY. Сортировка может выполняться как в порядке возрастания, так и в порядке убывания, по умолчанию — в порядке возрастания, но вы также можете изменить порядок с помощью DESC.

Например, чтобы отсортировать наши землетрясения по магнитуде в порядке убывания:

https://soda.demo.socrata.com/resource/4tka-6guv ?$order=величина DESC

Мы могли бы отсортировать их в порядке возрастания, заменив DESC на ASC или просто опустив его. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

Я пробовал различные комбинации &$, $&, просто &, просто $, чтобы добавить "order=issue_date DESC" к запросу URL.

Обычный '&' приводит к «коду»: «query.compiler.malformed», «ошибке»: true, «сообщению»: «Ошибка, не удалось проанализировать запрос SoQL .......» и полный список остальная часть URL

'&$' кажется умеренно лучше. Я получаю только ошибку: «ошибка»: правда, «сообщение»: «Нераспознанные аргументы [$order=issue_date DESC]»

Я также пробовал «+» между issue_date и DESC или не включая «DESC», но я просто получаю «Нераспознанные аргументы [все, что я набрал]».

Примечание для технических писателей Socrata: ни один из ваших примеров не демонстрирует создание реальных запросов с несколькими параметрами. Несколько не повредит.

Кроме того, это было бесполезно: я создал там запрос с несколькими параметрами, который делает то, что мне нужно (но на их наборе образцов), за исключением того, что он помещает $order впереди, перед $select и отображает результат URL-адрес следующим образом:

https://soda.demo.socrata.com/resource/4tka-6guv ?$порядок=величина

DESC&$select=местоположение, величина

Поэтому я понятия не имею, как направление DESC в $order связано с этим предложением. Играл с ним какое-то время, но так и не понял.

Кто-нибудь знаком с этим SoQL?

Я нашел библиотеку Socrata Android API, но я все еще новичок в Android, а также в Socrata, и решил отложить это на некоторое время. Просто нужен этот один запрос. Может, мне стоило потратить последние два часа, пытаясь понять это, а не это.

Спасибо.


person kzoom    schedule 08.03.2015    source источник


Ответы (1)


Я не уверен, почему у вас возникла проблема с предложением $order. Если я возьму ваш запрос (расшифрованный для удобочитаемости), я просто прикреплю пункт заказа как &$order=issue_date DESC. Итак, вот полный запрос, который отлично работает для меня:

https://data.lacity.org/resource/yv23-pmwf.json?$select=zip_code,issue_date,address_start,address_end,street_name,street_suffix,work_description,valuation&$where=issue_date>='2015-02-25T00:00:00' AND zip_code=90291&$order=issue_date DESC

Возможно, вы неправильно кодируете URL? Следует также отметить, что вы можете прикрепить предложение $order в качестве стандартного параметра URL в любом месте строки запроса.

person Adrian Laurenzi    schedule 09.03.2015