【问题标题】:text file of all titles / topic titles in FreebaseFreebase中所有标题/主题标题的文本文件
【发布时间】:2013-08-18 06:35:53
【问题描述】:

我需要一个文本文件来包含每个标题/每个主题的标题/每个项目的标题在一个 .txt 文件中,每个都在自己的行中。

如果我已经下载了一个 freebase rdf 转储,我该怎么做?

如果可能的话,我还需要一个单独的文本文件,其中每个主题/项目的描述在一行中,每个描述在自己的一行中。

我该怎么做?

如果有人能帮我从 Freebase rdf 转储中制作这些文件中的任何一个,我将不胜感激。

提前致谢!

【问题讨论】:

    标签: file parsing text rdf freebase


    【解决方案1】:

    过滤谓词/属性ns:type.object.name 上的RDF 转储。如果您只想要一种特定的语言,也可以按该语言进行过滤,例如@en.

    编辑:我也错过了关于需要描述的第二部分。这是一个由三部分组成的正则表达式,它将为您提供所有行:

    1. 英文名
    2. 英文说明
    3. /commmon/topic 的一种

    将这三者结合起来留给读者作为练习。

    zegrep $'\tns:(((type\\.object\\.name|common\\.topic\\.description)\t.*@en)|type\\.object\\.type\tns:common\\.topic)\\.$' freebase-rdf-2013-06-30-00-00.gz | gzip > freebase-rdf-2013-06-30-00-00-names-descriptions.gz
    

    它似乎有我必须查看的性能问题。整个文件的简单 grep 在我的笔记本电脑上大约需要 11 分钟,但这已经运行了好几次。不过我以后得看看...

    【讨论】:

    • 我用 grep 做了类似的事情,但是我在输出文件中有很多非主题。您将如何按 ns:type.object.name 和仅限英语的主题进行过滤?您能否向我展示一个使用 grep 或其他任何过滤并将每行一个标题放在文本文件中的示例?我将不胜感激!
    • @DjangoJohnson 如果您正在获取 RDF,将它作为 RDF 使用并使用 SPARQL 查询它确实是一个更好的主意,而不是特定于序列化格式的东西(例如,@987654321 @)。
    • @JoshuaTaylor 你能推荐一个流式 SPARQL 查询工具,它可以在几分钟内在笔记本电脑上处理这个 20GB 的 gzip 压缩文件(19 亿个三元组)吗? grep 可以做到这一点。
    • 我希望我可以:)。当前的三重存储应该能够hold 没有太多问题,并且查询速度足够快,但这并没有说明流媒体支持。在这种情况下,像grep 这样的解决方案可能要好得多。作为一个混合体,我建议@TomMorris 使用grep 来提取感兴趣的行,并将其加载到RDF 模型中以使用SPARQL 进行查询。 Turtle 格式不能保证这是可能的(因为三元组模式可以跨越多行),而 N-Triples 可以,但是相同的数据使其看起来就像他们每行只做一个三元组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2018-01-14
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 2019-12-20
    相关资源
    最近更新 更多