【发布时间】: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/…