Возможно ли собрать отдельные предметы из других репозиториев с помощью DSpace? Возможно, из командной строки? Насколько я могу судить, с XMLUI возможна только сбор полных сообществ или полных коллекций. Но тогда я получаю в основном слишком много предметов, которые мне не нужны.Уборка отдельных предметов с помощью DSpace
ответ
Если вы хотите вытащить один элемент через командную строку, рассмотрите команду packager.
https://wiki.duraspace.org/display/DSDOC5x/Importing+and+Exporting+Content+via+Packages
Стандарт ОАИ-СМ обеспечивает способ GetRecord.
https://knb.ecoinformatics.org/knb/docs/oaipmh.html
Если вы ориентируетесь множество, содержащее ваш деталь интереса, вы должны быть в состоянии найти идентификатор элемента. Вы можете использовать этот идентификатор в качестве параметра для GetRecord.
Это позволит вам извлечь метаданные элемента. Чтобы получить элемент в DSpace, я предполагаю, что вам нужно будет упаковать элемент для входа в репозиторий.
Спасибо Терри! Это подводит меня дальше. Я скажу вам результаты. –
Как писал Терри, вы можете собрать один элемент/документ из репозитория с запросом GetRecord. С элементом меню DSpace «Импорт партии (ZIP)» можно импортировать, если содержимое zip имеет определенный формат.
Следующий код PHP извлекает метаданные из созданного GetRecord XML. На следующем этапе эти метаданные упакованы в XML-формате, который понимает DSpace. Этот XML добавляется как файл (dublin_core.xml) в созданный ZIP вместе с небольшим файлом (дескриптором), содержащим дескриптор. Наконец, ZIP записывается на сервер.
BTW Импорт zip-файла также может быть выполнен из командной строки, как сказал Терри в своем первом ответе.
<?php
// handle and harvest-string
$handle = "1874/1506";
$harvest = "http://dspace.library.uu.nl/oai/request?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:dspace.library.uu.nl:" . $handle;
// get XML from source repository
$sxe = simplexml_load_file($harvest, "SimpleXMLElement");
// add namespace schema-urls
$sxe->registerXPathNamespace('oai_dc', 'http://www.openarchives.org/OAI/2.0/oai_dc/');
$sxe->registerXPathNamespace('dc', 'http://purl.org/dc/elements/1.1/');
// get Dublin Core (dc) elements from the XML
foreach($sxe->xpath("//oai_dc:dc") as $entry) {
$child = $entry->children('dc', true);
}
// add dc-elements (names and values) to array
foreach($child as $elementName => $elementValue) {$elements[$elementName][] = $elementValue;}
// create zip-object and -file
$zip = new ZipArchive();
$zip->open("doc/importZip.zip", ZipArchive::CREATE);
// create a directory in the zip-object
$zip->addEmptyDir("item");
// create Dublin Core XML object
$oXML = new DOMDocument();
$oXML->encoding = "UTF-8";
$oXML->formatOutput = true;
$oXML->xmlStandalone = false;
$oRoot = $oXML->createElement('dublin_core');
$oRoot->setAttribute('schema', 'dc');
$oXML->appendChild($oRoot);
// add elements and their values to XML object
foreach($elements as $elementName => $elementValues) {
foreach($elementValues as $elementValue) {
$oDcValue = $oXML->createElement('dcvalue');
$oDcValue->setAttribute('element', $elementName);
$oText = $oXML->createTextNode($elementValue);
$oDcValue->appendChild($oText);
$oRoot->appendChild($oDcValue);
}
}
// save created XML to string
$dublinCoreXml = $oXML->saveXML();
// add XML-string as file to zip-object
$zip->addFromString("item/1/dublin_core.xml", $dublinCoreXml);
// add handle as file to zip-object
$zip->addFromString("item/1/handle", $handle);
$zip->close();
?>
Можно ли включить бит-поток? Я пытаюсь сделать единичный сбор урожая, но мне также нужен бит-поток. Если я хочу использовать 'dim' как metadataPrefix, что я должен изменить в вашем примере кода? Заранее спасибо. – euler
- 1. Уборка пакета с помощью webpack
- 2. Уборка моего javascript с помощью функции
- 3. Изображение профиля Уборка с помощью идентификаторов bigint
- 4. Уборка темы
- 5. Уборка списка
- 6. Уборка jQuery
- 7. Подключение SKOS с dspace
- 8. Уборка библиотеки с рецептом yocto
- 9. build.exe и уборка?
- 10. Как передать количество и цены отдельных предметов в PayPal?
- 11. Уборка сложного проекта WebForms
- 12. уборка python на ubuntu
- 13. уборка после исключения
- 14. уборка Mercurial Repository
- 15. уборка вверх^блоки
- 16. Уборка вопроса на выходе
- 17. Уборка данных twitter
- 18. Уборка после вызова WMI
- 19. Связывание двух предметов из двух отдельных списков вместе. python
- 20. Уборка моих вкладок javascript
- 21. DNN Dal + - получение отдельных элементов коллекции предметов информации (vb.NET)
- 22. Dspace import failed
- 23. Ошибка DSpace с импортом oai
- 24. Git не уборка мусора
- 25. Уборка AppEngine BlobStore
- 26. Уборка абстракции и информации
- 27. Уборка стилей CSS
- 28. Уборка серверных компонентов уток
- 29. iphone - уборка Localizable.strings
- 30. Ссылка Уборка урожая в Scrapy
Насколько я вижу, с упаковщиком можно импортировать только zip-файл (из каталога). Но мне нужно импортировать отдельные элементы из нескольких внешних репозиториев, поэтому у меня нет никаких zip-файлов. –
Возможно, вообще невозможно собрать или импортировать отдельный элемент из чужого репозитория? Я имею в виду: не без сотрудничества с администратором этого хранилища? –
Питер, я неправильно понял ваш первоначальный вопрос. Я думал, что вы пытаетесь собрать урожай из своего хранилища. Я отправлю новый ответ. – terrywb