散列分区RDF(OWL / N3 / NT)数据集

时间:2013-11-05 11:25:53

标签: hash rdf owl nt n3

我有一个包含三元组的N3数据集。我想散列这个数据集的分区。是否有散列分区程序散列分区OWL / NT / N3数据集?如果没有,能否请您提供一些有关如何以有效方式解析文件的代码/提示。

1 个答案:

答案 0 :(得分:2)

解析RDF文件与以有效方式存储生成的三元组完全不同。对于简单地解析 RDF文件,您可以使用众多RDF处理库中的一个,这样就可以了。 (StackOverflow实际上不是工具列表的地方,但Which Tools and Libraries do you use to develop Semantic Web applications?上的问题http://answers.semanticweb.com列出了一堆。)正如您在评论中阐明的那样:

  

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

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

  1. OWL与RDF不同,但OWL可以在RDF中序列化。您似乎已经在RDF中序列化了OWL。
  2. RDF可以以多种形式序列化。其中最常见的是RDF / XML,但也有N3,Turtle(N3的子集)和N-Triples(NT)。
  3. N-Triples是一种基于行的格式,每行只有一个三元组。如果您只需将数据拆分为三个部分并将其发送到位,只需将其转换为N-triples,其中 k 三元组将位于 k 行。然后,您可以将第一个 k / 3 发送给工作人员A,将第二个 k / 3 发送给工作人员B,将最后一个 k / 3 发送到工作人员另外,你可以一次遍历一行,向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> .