Обратите внимание, что URL-адреса, содержащиеся в публикации, ненастоящие — это просто примеры
Можно ли проверить, в каком наборе данных находится ресурс, с помощью одного запроса API?
Кажется возможным сделать с помощью трехэтапного запроса, такого как:
- Получить идентификатор версии: http://demo.ckan.org/api/3/action/resource_search?query=url:https://www.example.com/resources/datafile.csv
- Получите идентификатор пакета: http://demo.ckan.org/api/3/action/revision_show?id=de5707gg-5568-1291-83df-7a6e2a441396
- Получить содержащий набор данных: http://demo.ckan.org/api/3/action/package_show?id=de5707gg-5568-1291-83df-7a6e2a441396
В качестве альтернативы я смог использовать: https://demo.ckan.org/api/action/package_search Это позволяет мне получить все пакеты и информацию, содержащуюся внутри, а затем использовать javascript на странице для обработки результатов, это дает мне наборы данных, если они применимы.
Однако мне любопытно, можно ли это сделать в одном вызове API, а не делать несколько или полагаться на что-то вне CKAN для обработки (т.е. без использования Javascript, как во втором примере).
Я подумал, что можно было бы сделать что-то вроде: https://data.qld.gov.au/api/action/package_search?q=de5707gg-5568-1291-83df-7a6e2a441396, но он не ищет поля идентификатора? Я бы предпочел искать по URL-адресу, так как, к сожалению, я не обязательно знаю, с чего начинается идентификатор, и поиск пакета не имеет этого содержимого для поиска.