0

我已经解析了 freebase 数据转储,现在有如下 RDF:

<http://rdf.freebase.com/ns/m.0mspb64> <http://rdf.freebase.com/ns/type.object.type> <http://rdf.freebase.com/ns/music.release_track>
<http://rdf.freebase.com/ns/m.0mspb64> <http://rdf.freebase.com/ns/type.object.name> "Mit Rees und Hans im Bürgli"@de
<http://rdf.freebase.com/ns/m.0mspd6m> <http://rdf.freebase.com/ns/type.object.type> <http://rdf.freebase.com/ns/music.release_track>
<http://rdf.freebase.com/ns/m.0mspd6m> <http://rdf.freebase.com/ns/type.object.name> "Granny Scratch Scratch"@en

有了这个 rdf 数据集,我如何提取特定资源的名称和类型?例如,从上面的数据中,我想提取:

Mit Rees und Hans im Bürgli ### music.release_track
Granny Scratch Scratch ### music.release_track 
4

1 回答 1

2

你用什么来解析它?您显示的格式是原始数据格式。

如果您已将其加载到 RDF 存储中,您应该能够使用 SPARQL 或存储提供的任何其他查询接口轻松查询以获取所需的信息。

如果您只是使用原始文本文件,您应该能够利用它按主题 ID 排序的事实(您应该验证这仍然是正确的)将其作为流处理而无需大量工作存储(即内存)。

您需要的唯一临时存储是 1) 当前主题 ID、2) 当前主题的名称和 3) 当前主题的类型。如果类型不是您想要的类型(release_track),您可以直接跳到下一组主题三元组。如果它是正确的类型,只要你有名称和类型,你就可以为你的三元组输出一行。

于 2014-02-27T23:24:25.840 回答