2014-07-28 5 views
2

Я новичок на этом сайте, и это мой первый вопрос. Я пытаюсь запросить базу данных «Seattle Real Time Fire 911 Calls» на сайте Socrata Seattle Open Data: https://data.seattle.gov/Public-Safety/Seattle-Real-Time-Fire-911-Calls/kzjm-xkqj. Я не эксперт по использованию SODA API, и мне трудно понять, как запрашивать последние записи в базе данных. Все попытки использовать инструкции «order» или «where» SoQL дают мне данные с 2010 или 2011 годов, и я не могу понять, как запросить последние 300 записей. Запрос строк «top» дает самые старые записи. Использование полного вывода данных OData дает данные как недавние, как сегодня, но мне нужно использовать быстрый запрос json или csv SODA API.Использование Socrata SODA API для запроса последних строк по дате времени

Примечание. Поле datetime не отвечает на любые заявления «где», которые я использую.

Спасибо!

ответ

1

ОК, несколько советов, чтобы начать:

  • The $order parameter сорта по умолчанию в порядке возрастания (ASC) порядке, так что вы хотите на самом деле заказ на datetime DESC, чтобы получить последние записи первых
  • К сожалению, в Сиэтле есть ряд преступлений, которые перечислены без datetime, поэтому вы также захотите отфильтровать с помощью запроса $where только для получения результатов в диапазоне дат. $where=datetime > '2014-07-01' работает для меня, например
  • Чтобы получить только 300 результатов, вы также захотите передать параметр $limit=300.

Вот вам sample request в Runscope, чтобы вы могли испытать.

+0

Пример был очень полезным, и я понял это. Спасибо за помощь. –

+1

Что-то изменилось в реализации SoQL? Этот пример больше не работает для меня. Если я 'curl -v 'https: //data.seattle.gov/resource/kzjm-xkqj.csv? $ Where = datetime% 20% 3E% 20'2014-07-01''' Я возвращаю следующую ошибку message: '' SoQL в настоящее время не поддерживает преобразование между датой и номером. '' –

+0

Что находится между '0' и' 7' в вашем URL-адресе ?: '2014-0 7-01' – chrismetcalf