首页 > 解决方案 > SVC-CODEPOINT 错误加载三元组到 MarkLogic

问题描述

当尝试加载包含大约 7M 三元组的 ntriples 文件时,我从 REST-API 收到以下错误:

{"errorResponse":{"statusCode":500, "status":"Internal Server Error", 
"messageCode":"INTERNAL ERROR", 
"message":"SVC-CODEPOINT: (err:FOCH0001) xdmp:nquad($body, $options) -- Codepoint not legal . See the MarkLogic server error log for further detail."}}

错误日志在这里没有更多帮助:

2021-01-13 14:24:53.771 Info: Status 500: SVC-CODEPOINT: (err:FOCH0001) xdmp:nquad($body, $options) -- Codepoint not legal

我已经通过 rapper 和 Jena 的 riot 验证运行了该文件,并且这两个工具都没有引发文件或任何特定三元组的问题。

如何使用 MarkLogic 解决此问题?

我可以生成一个使用不同序列化的文件,但是这让我重写了我的代码,而这在过去可以工作并且可以在批处理中的其他两个文件上工作。并且不同的序列化可能会起作用,或者如果不起作用,可能会产生相同的错误。无论哪种情况,我都没有真正确定问题所在。文件中一定有一些东西,但我想找到它,因为我们也恰好是 ntriples 的来源。

标签: marklogictriplesmarklogic-10

解决方案


我可以删除这个问题,但如果它对某人有帮助......

将 ntriples 转换为 RDF/XML 并加载该文件。MarkLogic 会吐出更有价值的错误信息:

2021-01-13 16:10:43.292 Info: Status 400: XDMP-DOCXMLCHAR: xdmp:get-request-body("xml") -- 
Invalid XML character codepoint 55358 at  line 14398744 -- document contains non-XML character

推荐阅读