MarkLogic 8 - 将数据三倍化的首选方式是什么

MarkLogic 8 - What is the Preferred Way to Triplify Data

假设我有一个来自关系数据库的 table。

在 MarkLogic 8 中将这些映射到 triples/RDF 的首选方法是什么?

所以代替:

<orders>
  <order>
    <number>1</number>
    <name>Sam Smith</name>
  </order>
....
</orders>

我最终得到:

<triples>
  <triple>
    <subject>http://example.com/order</subject>
    <predicate>http://example.com/order/number</predicate>
    <object datatype="http://www.w3.org/2001/XMLSchema#integer">1</object>
  </triple>
  <triple>
    <subject>http://example.com/order</subject>
    <predicate>http://example.com/order/name</predicate>
    <object datatype="http://www.w3.org/2001/XMLSchema#string">Sam Smith</object>
  </triple>
  ....
</triples>

我想知道这是我们只需要手动开发的东西,还是有提供映射和命名空间并生成它们的工具?

如果不想保留原始文档(并用三元组丰富它们),而是只存储三元组,最简单的是生成三元组。执行此操作的首选方法确实是自己生成 sem:triples 文档。

要考虑的关键点是如何在文档中对三元组进行分组。由于三元组存储在文档中,就像 MarkLogic 中的任何其他文档一样,将它们按逻辑单元分组可以很容易地 "insert them all together" 或 "delete them all together".

这取决于您所代表的实体(在概念层面上)以及它们之间的关系。