【问题标题】:Freebase rdf dump parsing for Name-Type exctraction..?用于名称类型提取的 Freebase rdf 转储解析..?
【发布时间】:2014-02-27 14:00:42
【问题描述】:

我已经解析了 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 

【问题讨论】:

    标签: rdf semantic-web freebase dbpedia freebase-acre


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢汤姆,您的回复。我使用 grep 命令解析了整个转储,因为我只对名称类型感兴趣,所以我只提取了所需的数据。我不认为我需要 rdf,正如你所说我可以有临时存储和解析数据..我打算用 Java 来做..对选择编程语言有什么建议..??
    • 希望这实际上是zgrep,因此您不必处理存储解压缩的数据。如果您使用保留原始主题分组的 OR (|) 模式,您应该在相邻的行上有两条数据。对于这样的快速程序,我可能会使用 Python,但 Java 也可以。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    相关资源
    最近更新 更多