【问题标题】:Freebase: Hosting a Freebase API on AmazonFreebase:在亚马逊上托管一个 Freebase API
【发布时间】:2014-12-17 18:09:03
【问题描述】:
tutorial 谈论在 Amazon 上设置 Freebase 实例。当我遵循这个过程时,我最终得到了一个实例,该实例通过附加的 EBS 具有 Freebase 数据。任何人都可以帮助我完成一个可以使用基础数据创建 Freebase API 的过程。
我假设就像可以在 Virtuoso 上托管 Dbpedia 一样,其中 Dbpedia 作为 API 公开,应该有(假设)一种托管 Freebase 的方法。我没有找到谈论相同内容的资源。任何帮助将不胜感激!
谢谢
Ankit S
【问题讨论】:
标签:
semantic-web
freebase
【解决方案1】:
Virtuoso 是一款软件。 Freebase 是一个开源数据库/数据源,但提供 Freebase API 的软件不是开源的(或不可用的),因此如果不重新实现软件,就无法在 Amazon 上托管 Freebase API。
如果您想使用数据,最直接的方法可能是使用 Cayley 或 Neo4J 等图形数据库或 Virtuoso 等 RDF 数据库,然后使用 SPARQL 或图形 DB API 查询它。
【解决方案2】:
我将 freebase 放入 Solr/Lucene。它似乎工作得特别好。对象字段被克隆并标记化以进行良好的文本搜索。另一个层次结构被保留用于完全匹配。把它分成8个核心。
我认为只有 5 种类型的三元组可以解析。
# <><><///...>.
# <><><///#>.
# <><>"".
# <><>""@x.
# <><>""^^<>.
解析双方的引号,以便您知道自己在处理什么。我将三元组限制为 32K 字节。我将渣踢进一个gz文件中查看,如果有格式更改则重新添加。我检查它的格式是否正确。加载需要5天。 Solr 使用 Jetty,它很特别;数据必须正确转义,没有&,大约有 20 个具有 ascii 0、11、.. 的三元组,您可能希望将其推入渣堆。多亏了 Solr 项目,它进展顺利,非常棒。
关于解压的说明。我把它分成100个文件。 Java为此而崩溃,Ruby也是如此。你可以使用 linux gunzip -c |管道到您的脚本。您可能无法将它包含在一个 ruby 或 java 程序中。没有找到这个的原因。在主机上 khugepaged = 坏。 200G 的内存,使用 16 个 CPU 的 100% 运行了 5 分钟。