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

Rdf MarkLogic 8-将数据三倍化的首选方法是什么,rdf,marklogic,triplestore,triples,Rdf,Marklogic,Triplestore,Triples,假设我有一个来自关系数据库的表 在MarkLogic 8中将这些映射为三元组/RDF的首选方法是什么 因此,不是: <orders> <order> <number>1</number> <name>Sam Smith</name> </order> .... </orders> 1. 山姆·史密斯 .... 我的结局是: <triples> <tr

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

在MarkLogic 8中将这些映射为三元组/RDF的首选方法是什么

因此,不是:

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

1.
山姆·史密斯
....
我的结局是:

<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>

http://example.com/order
http://example.com/order/number
1.
http://example.com/order
http://example.com/order/name
山姆·史密斯
....

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

如果您不想保留原始文档(并用三元组丰富它们),而是只存储三元组,最简单的方法是生成三元组。这样做的首选方法实际上是自己生成sem:triples文档

需要考虑的关键点是如何对文档中的三元组进行分组。由于三元组存储在文档中,就像MarkLogic中的任何其他文档一样,将它们分组在逻辑单元中可以轻松地“将它们全部插入”或“全部删除”


这取决于您所表示的实体(在概念级别)以及它们之间的关系。

这可能与您的具体问题无关,但值得指出的是,此sem:triple语法仍然是一种特定于MarkLogic的XML语法,而不是标准的RDF语法格式。不过,它应该相对容易转换。