【问题标题】:Use freebase data on local server?在本地服务器上使用 freebase 数据?
【发布时间】:2011-01-29 16:23:00
【问题描述】:

是否有任何现有的方法可以使用 freebase 数据转储来创建类似于 freebase 提供的数据库,但在您自己的服务器上?几乎是免费的,但在本地而不是通过 API?

我想这是可以创建的,但是已经有任何现有的解决方案了吗?或者任何不使用 API 的类似数据的替代解决方案?我也没有为 dbpedia 找到这个:|

【问题讨论】:

  • 你做到了吗?你用了什么解决方案?您需要哪些计算机资源(内存、磁盘、cpu...)?

标签: java wikipedia freebase


【解决方案1】:

freebase-quad-rdfize 的替代方法在这里:https://github.com/castagna/freebase2rdf

我使用 Apache Jena 的 TDB 存储加载 RDF 数据,并使用 Fuseki 通过 HTTP 上的 SPARQL 协议提供数据。

另见:

此外,您现在还有另一个选择:http://basekb.com/

【讨论】:

    【解决方案2】:

    查看 Google Code 上的 freebase-quad-rdfize 项目。它应该允许您下载每周的 Freebase quad dump 并将其加载到您选择的 RDF 三重存储中。

    【讨论】:

      【解决方案3】:

      将数据导入您选择的三重存储并不难 - 但您将很难在合理的时间内得到任何答案,除非您正在做一些微不足道的事情。

      几年前有人确实将整个数据集导入 MySQL - 加载需要 2 周时间,甚至像“作为一个人输入的事物的数量”这样的简单查询也需要超过 1 分钟才能给出答案。那是在大型硬件上,现在的数据集比以前大得多。

      【讨论】:

      • 必须了解 Freebase 数据是如何布局的,然后在尝试加载 MySQL 之前对其进行优化。这里描述了一种方法 - stackoverflow.com/a/12428232/756579(加载所有 Freebase 并且响应时间是几分之一秒)。
      【解决方案4】:

      我是 :BaseKB 的创建者,这是 Freebase 到 RDF 的第一个可用转换。

      Freebase quad 转储中存在密钥完整性问题,因此很难从 quad 转储中获得完全正确的结果。 :BaseKB 重构了 Freebase 的关键结构,以便唯一名称假设成立。这很重要,因为编写像 SQL 查询一样工作的简单 SPARQL 查询的能力取决于此。

      目前,:BaseKB 有两个版本。有一个免费版包含 1.2 亿个事实,大约 400 万个主题(来自维基百科的主题),还有一个包含所有内容的“专业”版。

      至于 Phillip Kendall 提出的性能问题,我可以说主要是有足够的 RAM 问题。使用 24GB 的 RAM,我可以在一小时内将免费版加载到三重存储中。有些查询需要的时间比我喜欢的要长,但总体查询性能很好。

      任何想要使用“Pro”版的人都需要异常强大的硬件,并且会花费大量精力让他们的工具链正常工作。我现在正在与合作伙伴合作,以令人满意的方式向用户提供“Pro”。

      【讨论】:

      • Paul,您能否扩展运行 Pro 所需的硬件?你能扩展合作伙伴吗? BaseKB 是否扩展到 Freebase/DBpedia 数据之外?谢谢
      【解决方案5】:

      如果您可以将数据库导出为 TXT 或数据库文件(如 MDB、XLS 或任何其他高度可传输的数据格式)中的制表符分隔值或逗号分隔值,那么在您的计算机上构建自己的 MySQL 数据库将毫无问题使用该数据的计算机。主要是确保您可以导出数据,您可以从中重建您自己的数据库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多