Как создать виртуальные наборы в коллекции в DSpace? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть коллекция на сервере 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 с типом элемента Book book и CollectionB3 сТип статьи Документ конференции.

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

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

1 Ответ

0 голосов
/ 17 сентября 2018

Если вы управляете сервером 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

...