В MarkLogic, как добавить пользовательские свойства документа ко всем документам? - PullRequest
0 голосов
/ 24 декабря 2018

Я загружаю документы JSON, используя mlcp из CSV, в свою базу данных.Я хочу добавить свойство ко всем этим файлам и позже иметь возможность искать документы на основе значения свойства.Как я могу сделать это, используя преобразования ?Используя xdmp.documentAddProperties, я могу применить его к ручным документам, используя их URI.

Подобный запрос, как мне добавить еще один столбец во время приема?

1 Ответ

0 голосов
/ 24 декабря 2018

Преобразования MLCP не имеют встроенных функций, чтобы помочь с этим, но вы можете просто использовать xdmp.documentAddProperties внутри преобразования MLCP.Обычно это должно работать просто отлично.

Однако рекомендуется размещать метаданные внутри основного документа, в основном из соображений производительности.Очень распространенный шаблон, который мы используем для этого, который также используется в Data Hub Framework и Entity Services, заключается в том, чтобы обернуть весь документ в конверт и создать выделенные «разделы» для информации заголовка провенанса, экземпляра канонической модели, встроенных троек.и вложения.Что-то вроде:

{
  envelope: {
    header: {},
    triples: {},
    instance: {},
    attachments: {}
  }
}

Это не очень жесткий шаблон, поэтому вы можете согнуть его под свои нужды, если почувствуете необходимость, но вышеприведенное уже стало очень распространенным шаблоном.

В целом, возможно, стоит даже использовать Data Hub Framework для приема данных, а не использовать MLCP напрямую.Вы можете найти все, что вам нужно об этом DHF здесь:

https://marklogic.github.io/marklogic-data-hub/

HTH!

...