Встал вопрос выудить информацию, которая содержится в репозитарии на dspace. В частности, посчитать количество документов автора - сотрудника организации или перечень его документов, чтобы расширить библиометрический профиль автора.
В dspace есть api на основе REST.
Документацию (для версии 5.x) можно почитать на
REST API
Интересным смотрится
POST /items/find-by-metadata-field
Но в документации подробно про него не написанно.
В Windows 10 есть встроенный curl:
Из командной строки:
curl -help
Пример команды для поиска документов по автору:
curl -s -H "Accept: application/json" -H "Content-Type: application/json" -X POST "https://er.knutd.edu.ua/rest/items/find-by-metadata-field" -d "{\"key\": \"dc.contributor.author\",\"value\": \"Absaliamova, Yana\"}" > C:\results.json
,
где -s - "тихий" режим, -H - заголовки, -X - метод с url, -d - параметры.
Для использования двойных кавычек как содержимого данных, необходимо экранировать косой чертой "влево".
Полученный результат:
results.zip
Посчитав id, получим количество документов для одной форме имени автора. Суммируя все id по всем формам имени автора, найдем общее количество документов, размещенных в репозитарии.
Для вывода названий документов и ссылки на них, используем:
curl -H "Accept: application/json" -X GET "https://er.knutd.edu.ua/rest/items/16581" > C:\item.json
Результат будет в формате json, где name - dc.title, handle - по сути ссылка на item.
Для получения метаданных:
curl -H "Accept: application/json" -X GET "https://er.knutd.edu.ua/rest/items/16581/metadata" > C:\item-metadata.json
Все раздумия навеяны темой
ВебПортфолио ученого
Редактировано 1 раз. Последний раз 08.10.2020 02:30 пользователем woodyfon.