0

我需要在 MarkLogic 中使用 TDE 创建一个模板。这个模板将从现有的 XML 文档中生成三元组。主题是文档的 URI,谓词是元素的名称,对象是元素的值。

4

1 回答 1

2

语义指南有示例。对于您的要求,您可以执行以下操作,但请注意,这样的上下文路径可能会显着降低摄取性能(取决于输入数据的大小):

<template xmlns="http://marklogic.com/xdmp/tde">
  <context>//*[text()]</context>
    <vars>
      <var>
        <name>EX</name>
        <val>"http://example.org/ex#"</val>
      </var>
    </vars>
  <triples>
    <triple>
      <subject>
        <val>sem:iri( fn:base-uri(.) )</val>
      </subject>
      <predicate>
        <val>sem:iri( $EX || fn:name(.) )</val>
      </predicate>
      <object>
        <val>fn:data( . )</val>
      </object>
    </triple>
  </triples>
</template>

于 2018-01-25T13:50:07.733 回答