【问题标题】:Hash Partitioning RDF (OWL/N3/NT) datasets散列分区 RDF (OWL/N3/NT) 数据集
【发布时间】:2013-11-16 06:17:52
【问题描述】:

我有一个包含三元组的 N3 数据集。我希望对这个数据集进行哈希分区。是否有散列分区 OWL/NT/N3 数据集的散列分区器?如果没有,您能否提供一些有关如何以有效方式继续解析文件的代码/提示。

【问题讨论】:

  • 结束问题的原因包括“要求代码的问题必须证明对正在解决的问题有最低限度的了解。包括尝试的解决方案、它们为什么不起作用以及预期的结果。”到目前为止,您尝试过什么样的事情?解析文件与以有效方式存储生成的三元组是完全不同的任务。至于“以有效的方式解析文件”,我通常使用许多 RDF 处理库中的一个,并且效果很好。您能否澄清一下您实际上想要做什么,以及到目前为止没有什么效果?
  • 感谢您在此处解释协议。我使用 LUBM (Lehigh University Benchmak) 数据生成器生成了一个 OWL 数据集,并使用在线转换器将其转换为 N3 格式。现在,我想对数据集进行哈希分区并将每个分区存储在工作机器上。在实现我自己的之前,我想知道那里是否有这样的库。您能否指点我一些可用的库。至于效率,我提到它是因为我拥有的数据集非常大,使用顺序哈希分区器可能会花费大量时间来完成任务。
  • 首先,OWL和RDF不一样,但是OWL可以在RDF中序列化。其次,RDF 可以以多种形式进行序列化。最常见的一种是 RDF/XML,但也有 N3、Turtle(N3 的子集)和 N-Triples (NT)。 N-Triples 是一种基于行的格式。如果您只需要将数据分成三部分并将其发送到地方,只需将其转换为 N-triple。它将有 k 行。将第一个 k/3 发送到 A,第二个 k/3 发送到 B,最后一个 k/3 发送到 B。或者您可以一次遍历一行,将一行发送到 A,然后将一行发送到 B ,然后一行到 C。
  • N-Triples 的一大优势是它是基于行的,因此拆分或合并数据集的成本非常。这是你要找的那种东西吗?如果是的话,我可以把它写在一个答案中。
  • @NewToAndroid 至于哪些工具:有很多'm取决于品味,编程环境。一个简单的谷歌搜索应该会给你足够的起点,或者看看这里的一些相关问题,比如stackoverflow.com/questions/73445/…

标签: hash rdf owl nt n3


【解决方案1】:

解析 RDF 文件与以有效方式存储生成的三元组是完全不同的任务。为了简单地解析 RDF 文件,您可以使用许多 RDF 处理库之一,而且效果很好。 (StackOverflow 确实不是工具列表的地方,但 http://answers.semanticweb.com 上的问题 Which Tools and Libraries do you use to develop Semantic Web applications? 列出了一堆。)正如您在 cmets 中澄清的那样:

我使用 LUBM (Lehigh University Benchmak) 生成了一个 OWL 数据集 数据生成器,并使用在线将其转换为 N3 格式 转换器。现在,我想对数据集进行哈希分区并存储 工作机器上的每个分区。在实施我自己的之前,我 想知道外面有没有这样的图书馆。能不能请你 向我指出一些可用的库。至于效率,我 提到它是因为我拥有的数据集非常大并且使用 顺序哈希分区器可能会花费大量时间来完成 任务。

这里至少有两件重要的事情需要注意。

  1. OWL 与 RDF 不同,但 OWL 可以在 RDF 中序列化。您似乎已经在 RDF 中序列化了您的 OWL。
  2. RDF 可以以多种形式进行序列化。最常见的一种是 RDF/XML,但也有 N3、Turtle(N3 的子集)和 N-Triples (NT)。

N-Triples 是一种基于行的格式,每行只有一个三元组。如果您只需要将数据分成三部分并将其发送到地方,只需将其转换为 N-triples,其中 k 个三元组将位于 k 行。然后,您可以将第一个 k/3 发送给工人 A,第二个 k/3 发送给工人 B,最后一个 k/3 发送给工人 B。或者,您可以一次遍历一条线,将一条线发送到 A,然后将一条线发送到 B,然后将一条线发送到 C。这是 N-Triples 的一大优势:它非常便宜拆分或组合数据集。例如,考虑这个 DBpedia 查询和its results in NTriples。您可以将其分成 3、3 和 4 行的三个部分,然后将它们发送给您的工作人员。

construct where { 
  dbpedia:Mount_Monadnock ?prop ?obj
}
limit 10 
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://schema.org/Mountain> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://dbpedia.org/ontology/NaturalPlace> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://www.opengis.net/gml/_Feature> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://dbpedia.org/class/yago/GeologicalFormation109287968> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://umbel.org/umbel/rc/Mountain> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://dbpedia.org/ontology/Mountain> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://dbpedia.org/ontology/Place> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://dbpedia.org/class/yago/Object100002684> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://schema.org/Place> .
<http://dbpedia.org/resource/Mount_Monadnock>   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://www.w3.org/2002/07/owl#Thing> .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多