问题标签 [marklogic-corb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
660 浏览

marklogic - 如何设置 CORB 日志来调试 XQUery 信息

我正在使用 CORB 通过命令在 MarkLogic DB 上运行模块:

ml 本地 corb --modules=abcd.xqy

并希望在我已添加xdmp:log()abcd.xqy. 但是,我无法找出生成日志消息的位置。它不在命令提示符下,也不在 MarkLgoic 日志目录中。

有没有办法通过属性文件设置 CORB 日志设置?如果是,如何?或任何其他方式来跟踪生成的日志消息。

以下的一些背景是:

  1. 我已经通过 roxy 命令摄取了 RDFXML

    ml 本地部署内容

  2. 现在,我将 RDFXML 作为输入,并通过上述 CORB 命令将它们转换为三元组。它正在成功运行。
  3. insert-taxonomy-triples.xqy 有一些日志消息没有显示在命令提示符以及 MarkLogic 日志目录中。
我的完整命令是:

ml local corb --modules=/tools/ingest/insert-taxonomy-triples.xqy --uris=/tools/ingest/find-taxonomy-uris.xqy

插入分类-triples.xqy

在“/MarkLogic/semantics.xqy”处导入模块命名空间 sem =“ http://marklogic.com/semantics ”;在“/app/common/constants.xqy”处导入模块命名空间c =“ http://bsigroup.com/ns/meddev/common/constants ”;

声明命名空间 xdmp = " http://marklogic.com/xdmp ";

将变量 $URI 声明为 xs:string external;

let $taxonomy-name := fn:replace(fn:replace($URI, '/taxonomies/',''), '.rdf','')

让 $graph-name := fn:concat($c:BSI-TAXONOMY-BASE-URI, $taxonomy-name)

让 $log := xdmp:log("xxxxxxxxxxxxxxx")

let $log := xdmp:log(fn:concat("/tools/ingest/insert-taxonomy-triples.xqy ", "main module: parsing taxonomy ", $URI, " and inserting triples to graph ", $graph-名称),“调试”)

让 $permissions := (xdmp:permission("meddev-role", "update"), xdmp:permission("meddev-role", "read"))

return sem:rdf-insert(sem:rdf-parse(fn:doc($URI), "rdfxml"), (fn:concat("override-graph=", $graph-name)), $permissions, ($图名))

查找分类-uris.xqy

声明命名空间 xdmp = " http://marklogic.com/xdmp "; 声明命名空间 cts = " http://marklogic.com/cts ";

让 $taxonomy-uris := cts:uri-match("/taxonomies/*")

let $log := xdmp:log(fn:concat('/tools/ingest/find-taxonomy-uris.xqy', '主模块:找到的分类是 ', fn:count($taxonomy-uris), ' URIs '), '调试')

返回 ( fn:count($taxonomy-uris), $taxonomy-uris )

命令提示符结果:

D:\mdol-dev\mdol-as>ml local corb --modules=/tools/ingest/insert-taxonomy-triple s.xqy --uris=/tools/ingest/find-taxonomy-uris.xqy

java -cp D:/mdol-dev/mdol-as/deploy/lib/java/corb.jar;D:/mdol-dev/mdol-as/deploy /lib/java/marklogic-xcc-5.0.2.jar com.marklogic.developer.corb.Manager xcc://adm in:admin@localhost:9002/meddev-content "" tools/ingest/insert-taxonomy-triples.x qy 1 tools/ingest/find-taxonomy-uris。 xqy "/" 医疗设备模块 false

登录到控制台 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.SimpleLogger configureLogger

信息:设置日志记录:com.marklogic.ps 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager 运行

信息:com.marklogic.developer.corb.Manager 开始:版本 2010-08-24.1 on 1.7 .0_40(Java(TM) SE 运行时环境)2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb。经理运行

信息:最大堆大小 = 1783 MiB 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareContentSource

信息:使用内容源 xcc://admin:admin@localhost:9002/meddev-content 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

信息:配置的模块数据库:meddev-modules 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

信息:配置的模块根目录:/2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

信息:配置的 uri 模块:tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

信息:配置的流程模块:tools/ingest/insert-taxonomy-triples.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules

信息:检查模块,数据库:meddev-modules 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules

信息:跳过模块安装:tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules

信息:跳过模块安装:tools/ingest/insert-taxonomy-triples.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue

信息:填充队列 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue

信息:调用模块 /tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue

信息:预计总计 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue

信息:排队 2/2 Jul 16, 2014 10:35:59 AM com.marklogic.developer.corb.Monitor monitorResults

信息:监控 2 个任务 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor showProgress

信息:已完成 1/2,0 tps,1 个活动线程 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor monitorResults

信息:等待池终止 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor monitorResults

INFO:完成所有任务 2/2,0 tps,0 个活动线程

0 投票
1 回答
95 浏览

marklogic - Marklogic corb 任务的回滚

我正在编写一个 corb 任务,其中 uri 模块将一个文档 uri 列表传递给处理器模块,其中必须填充某个元素的字符串值。uri 模块列出了字符串比预期短的那些文档。由于更新后字符串将具有所需的长度,因此无法再识别更改的文档。此外,这些文档中的字符串之前的长度也不会有任何记录。所以,我看不到编写回滚脚本的简单方法。

对这种情况进行回滚的有效方法是什么?

我们没有版本管理文档。

0 投票
2 回答
503 浏览

java - CORB 作业:处理 ServerConnectionException:对等方重置连接

我正在尝试执行 CORB 作业来处理我的文档。但它在处理整个集合的一部分后抛出了以下异常。

我们尝试增加线程数和内存分配,但无济于事。

我的要求有两个:

  1. 这可能是什么根本原因?有没有办法解决这个问题?

  2. 如果没有,有没有办法在 shell 脚本中捕获这个异常,即执行相同?

0 投票
2 回答
735 浏览

xquery - MarkLogic 8 - Corb 传递除 $URI 以外的参数

所以我有一个文件uris.xqy,它获取我想在corb中操作的文档 URI 。

然后我有引入$URI 的 docs.xqy declare variable $URI as xs:string external;

然后我对该文件进行一些处理。

现在我想从命令行向 corb 传递一个参数,这样 ./ml ${Environment} corb --uris=/uris.xqy --modules=/docs.xqy --hello=world

当我执行上面的命令时,我可以访问hello ,它是docs.xqy中的内容世界

0 投票
2 回答
76 浏览

xquery - 如果我没有在 Corb 中指定集合名称会发生​​什么

我有一个 corb 脚本来对 xml 文件运行节点替换。

如果我不指定集合,它会从现有集合中删除文档吗?

0 投票
1 回答
137 浏览

marklogic - MarkLogic Xquery

我需要使用 corb 来生成报告。

其中 Col1 在某种程度上是 Collections B,C 中的内部连接

我的uri.xqy样子是这样的:

现在,我得到了各个集合的 URI。我需要将此传递给我process.xqy的 in return (count($uris), $uris)

我想知道如何获取所有 $A、$B、$C 的计数并连接 $A、$B、$C 的所有 URI。

请帮忙

0 投票
1 回答
294 浏览

marklogic - 如何设置 CORB

如何构建此 XQuery 以在 CORB 作业中运行?使用匹配的候选 URI 处理每个文档的第二个模块不起作用。

URIS 模块

工艺模块

0 投票
0 回答
132 浏览

linux - CORB 批处理输出报告提取问题

在运行 CORB 作业时,我正在提取 100,000 个 URI 并将
数据加载到 Linux 服务器上的一个文件中。期望所有输出记录都应存储在一个具有 100k 计数的文件中。但是,数据存储在具有不同计数的多个文件中。任何人都可以帮助我解决CORB进程在输出目录中创建多个文件的根本原因吗?

请找到我在本地目录中配置的 CORB 属性文件的详细信息


属性文件:


0 投票
1 回答
198 浏览

marklogic - 试图在 Windows 机器上运行 Corb?

我尝试按照此文档运行示例 corb 示例。我的机器中有 MarkLogic 9,为此我下载了以下 jars marklogic-corb-2.4.0.jarmarklogic-xcc-9.0.4. 并创建了文档中指定的 selector.xqy 和 transform.xqy 文件,并将所有这些文件保存在 corb 文件夹中。当我尝试运行它时,它显示如下错误

是否需要进行任何其他配置更改才能运行 CORB ?

任何帮助表示赞赏

谢谢

0 投票
1 回答
344 浏览

csv - 使用 Java Client Api(DMSDK) 从 marklogic 创建一个 CSV 文件

我想为我的 marklogic db 中的 130 万条记录创建一个 csv 文件。我尝试为此使用 CORB,但它花费的时间比我预期的要多。我的数据是这样的

以下是我的 Corb 模块

选择器.xqy

Transform.xqy(我将所有元素保存在一个数组中)

我的属性文件

创建 csv 文件需要 1 个多小时。而且为了在集群中尝试,我需要先配置一个负载均衡器。而 Java Client api 将在没有任何负载均衡器的情况下在所有节点之间分配工作。

我如何在 Java Client APi 中实现相同的功能,我知道我可以使用ServerTransformand触发转换模块ApplyTransformListener

但是我怎样才能像 CORB 中的那样发送 csv 文件头(即 EXPORT-FILE-TOP-CONTENT)。是否有实施文件的任何CSV文件?哪个类将实现它?

任何帮助表示赞赏

谢谢