Marklogic语义:rdf的处理:关于属性值

Marklogic语义:rdf的处理:关于属性值,rdf,marklogic,Rdf,Marklogic,我正在尝试使用mlcp 1.3.3将RDF数据源(RDF/XML)导入Marklogic 8.02 在导入过程中,我被以下警告淹没: 15/06/29 15:03:58警告内容Pump.RDFReader: 57fad317-4744-4f88-a8f7-6c21c662ad08.rdf:{W107}错误URI: 代码:45/方案中未注册的方案树:方案名称 其中有一个“-”,但它不是以“x-”开头,前缀也不是 称为URI方案的替代树的前缀 查看源数据(RDF/XML),它是由以下语句引起的:

我正在尝试使用mlcp 1.3.3将RDF数据源(RDF/XML)导入Marklogic 8.02

在导入过程中,我被以下警告淹没:

15/06/29 15:03:58警告内容Pump.RDFReader: 57fad317-4744-4f88-a8f7-6c21c662ad08.rdf:{W107}错误URI: 代码:45/方案中未注册的方案树:方案名称 其中有一个“-”,但它不是以“x-”开头,前缀也不是 称为URI方案的替代树的前缀

查看源数据(RDF/XML),它是由以下语句引起的:

看起来ML认为这个rdf:about属性包含一个URI,并抱怨它不是一个有效的URI

所以有三个问题:

  • 为什么ML认为这必须是一个URI。我在其他工具集上没有遇到过这个问题
  • 是否有忽略警告的开关(终端中的管道输出似乎不起作用)
  • 这是否会对未来产生进一步的影响(即性能等)
  • 为什么ML认为这必须是一个URI。我没有遇到过 这是其他工具集的问题

    因为这就是他们所说的:

    rdf:about
    属性期望接收一个URI,并且您的数据在该属性中确实有一些看起来很像URI的内容:

    rvr-jurisprudentie:http%3A%2F%2Flinkeddata.overheid.nl%2Fterms%2Fjurisprudentie%2Fid%2FECLI%3ANL%3ARVS%3A2013%3A549:http%3A%2F%2Flinkeddata.overheid.nl%2Fterms%2Fbwb%2Fid%2FBWBR0005181%2F2986364%2F2015-01-01%2F2015-01-01
    
    它正在使用自定义URI方案,但并不完全符合,因此MarkLogic会发出警告。但是,如果某个/所有工具都无法解释URI,那么它仍然是一个有效的URI

    是否有用于忽略警告的开关(管道输出) 终端似乎不工作)

    似乎没有,但是在MarkLogic内容泵中,它们显示启用
    DEBUG
    级别消息:

    编辑文件
    MLCP\u INSTALL\u DIR/conf/log4j.properties
    。例如 如果mlcp安装在
    /opt/mlcp
    中,请编辑
    /opt/mlcp/conf/log4j.properties
    。在
    log4j.properties
    中,设置 属性
    log4j.logger.com.marklogic.mapreduce
    log4j.logger.com.marklogic.contentpump
    DEBUG
    。例如 包括以下内容:

    log4j.logger.com.marklogic.mapreduce=DEBUG
    log4j.logger.com.marklogic.contentpump=DEBUG
    
    显然,这与您想要的正好相反,但由于这只是一个log4j配置,您可以将日志设置为
    ERROR
    ,方法与将日志设置为
    DEBUG
    相同,如示例所示

    这是否会对未来产生任何进一步的影响(即性能) 等等)


    如果需要将数据传递给其他RDF或SPARQL工具,以便更严格地解释URI规范,则可能会遇到问题

    @RobV非常感谢。我测试了你的建议是否存在log4j错误,它的效果非常好。我必须和RDF/XML数据源的生产者讨论第一点。仍然不确定为什么它是一个警告,而不是一个错误(而不是警告),如果它违反规范。具体来说,“:”是一个保留字符,根据RFC 3986第2节。由于错误在RDF源中,而不在MarkLogic应用程序中,因此MarkLogic仅发出警告。
    log4j.logger.com.marklogic.mapreduce=DEBUG
    log4j.logger.com.marklogic.contentpump=DEBUG