Как создать виртуальные наборы в коллекции в DSpace?

У меня есть коллекция на сервере A, которая представляет собой смесь различных типов элементов. Теперь я хотел бы собрать эту коллекцию с сервера B в разных коллекциях, которые я настроил для каждого доступного типа элементов.

Сценарий будет выглядеть так:

Server A -> CommunityA -> CollectionA
Server B -> CommunityB -> CollectionB1 (Article)
Server B -> CommunityB -> CollectionB2 (Book chapter)
Server B -> CommunityB -> CollectionB3 (Conference paper)

Таким образом, в приведенном выше сценарии у всех коллекций B1, B2 и B3 будет один и тот же поставщик OAI с записями из одной и той же коллекции на сервере A, которая представляет собой CollectionA, за исключением того, что CollectionB1 будет собирать только элементы с типом элемента Article, CollectionB2 с типом элемента Chapter book и Коллекция B3 с типом статьи Бумага для конференций.

Я видел в некоторых примерах, как создавать виртуальные наборы на основе метаданных или типов элементов, но, насколько мне известно, эти виртуальные наборы применяются ко всему содержимому в хранилище.

Мой вопрос заключается в том, как создать виртуальные наборы на сервере A по типам элементов только из коллекции A?

1 ответ

Если вы управляете сервером A, вы можете определить пользовательский переход OAI, который фильтрует по типу элемента.

База кода DSpace содержит пешеходный переход OAI, который фильтрует элементы для типа "Тезис".

    <!-- This condition determines if an Item has a "dc.type" field
         which contains "Thesis". -->
    <CustomCondition id="thesisDocumentTypeCondition">
        <Class>org.dspace.xoai.filter.DSpaceAtLeastOneMetadataFilter</Class>
        <Configuration>
            <string name="field">dc.type</string>
            <string name="operator">contains</string>
            <string name="value">Thesis</string>
        </Configuration>
    </CustomCondition>

https://github.com/DSpace/DSpace/blob/master/dspace/config/crosswalks/oai/xoai.xml#L310-L319

Другие вопросы по тегам