2

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

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

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

我怎样才能做到这一点?

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

提前致谢!

4

1 回答 1

3

在 predicate/property 上过滤 RDF 转储ns:type.object.name。如果您只想要一种特定语言,也可以按该语言过滤,例如@en.

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

  1. 英文名称
  2. 英文说明
  3. /common/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 分钟,但这已经运行了好几次。不过我以后得看看...

于 2013-08-16T02:40:29.783 回答