如何在MarkLogic Data Hub Framework中嵌入自定义代码?

时间:2018-07-12 06:53:06

标签: xquery marklogic marklogic-dhf

我创建了一个实体,并创建了输入并协调了流程。我可以看到生成的XQuery文件。

现在我有一个需求,我需要对原始数据进行一些处理(如果不进行其他处理),并且根据条件,我需要将一些数据推送到FINAL数据库中,而某些数据将保留在STAGING本身中(不应进入“最终”。

我对于需要更改代码的文件(main.xqy,headers.xqy等)感到困惑,因此,如果我运行Harmonize Flow,那么整个过程应该一目了然。

1 个答案:

答案 0 :(得分:2)

MarkLogic Operational Data Hub Framework中的每个协调流插件都旨在进行定制。有五个插件,collector.xqy,content.xqy,header.xqy,triple.xqy和writer.xqy。最简单的协调如下所示:

  1. 确定需要在收集器插件中处理登台数据库中的哪些文档
  2. 在内容插件中转换步骤1中的文档(添加if / else逻辑)
  3. 使用writer插件将步骤2中的协调文档写入最终数据库。

以下是ODH Wiki中每个插件的摘要:

收藏家

在登台数据库中选择要处理的文档ID。

内容

将输入数据转换为规范化或规范化格式,以存储在最终文档中。您可以在此处添加自定义转换代码。

标题

标头插件负责从内容中提取标头项目。您可以在此处的标题部分添加元数据或扩充内容。

三元组

三元组插件负责从源内容中提取语义三元组。您可以控制信封文档中嵌入的三元组。

作家

作家插件负责将最终的信封写入数据库。您可以使用此模块控制统一文档的输出权限,URI,集合等。