【问题标题】:I want to setup dbpedia dataset locally我想在本地设置 dbpedia 数据集
【发布时间】:2019-03-06 08:40:24
【问题描述】:

我想在本地设置 DBpedia 数据集,但我不知道该怎么做。我已经下载了mappingbased_objects_en.ttlinfobox_properties_mapped_en.ttl.bz2,还有什么需要下载的吗? 现在我如何使用 SPARQL 查询这个?我是否需要安装任何东西以使其可从 sparql 查询。有没有像 mysql 这样的 SPARQL 数据库软件??

我试过http://dbpedia.org/sparql,但由于10000个查询限制的限制,我想在我的系统中设置DBpedia

任何线索将不胜感激。 谢谢


PS:这两个文件(mappingbased_objects_en.ttlinfobox_properties_mapped_en.ttl.bz2)似乎没有所有实体信息,例如:史蒂夫乔布斯不在这些文件中,但蒂姆库克在那里,我确定史蒂夫乔布斯出现在 DBpedia 中。

【问题讨论】:

  • 您如何检查两个文件中都没有关于史蒂夫乔布斯的三元组?当然,这两个文件还不够。我的意思是,网上有很多文件可供下载,为什么你认为这两个文件就足够了?例如,person_data 包含出生日期等。instance_types 包含 rdf:type 三元组。等等等等
  • “我如何使用 SPARQL 查询这个”是什么意思?显然,你必须设置 Virtuoso,然后将数据加载到三重存储中,或者不?
  • 请修正你的问题的标题...“但我 确定怎么做"
  • @AKSW 我在那些文件中研究了关键词史蒂夫乔布斯,我没有发现它的单一出现。谈到 Jorn Hees 教程,他说所需的最低系统配置是 4 核、32 GB 的 RAM 和 150 个硬盘空间。但是我提到的那些文件只有250 mb,为什么需要这么高的配置要求。
  • 这两个文件不是 DBpedia 数据的全部,因此很可能缺少您想要的特定内容。要获取托管在公共端点上的所有内容,您大致需要 Jörn 推荐的内容。您可以改为选择启动this prepopulated and preconfigured Pay-As-You-Go DBpedia Snapshot AMI

标签: sparql dbpedia virtuoso


【解决方案1】:

您需要在本地 Triplestore 上安装 DBPedia,例如 Virtuoso。我在this article 中对此进行了解释,但这里是有关如何使用 Virtuoso Triplestore 在本地安装和查询 DBPedia 的要点:

Virtuoso 开源版可以从here 下载。 安装 Virtuoso 后,运行它并启动 VOS 数据库。 在浏览器中转到 Virtuoso 管理页面(您可能需要一些时间才能开始):http://localhost:8890/conductor/ 使用默认凭据登录 (dba/dba) 在用于测试的“Quad Store Upload”选项卡中,您可以将 ttl 文件上传到指定的命名图 IRI,例如“http://localhost:8890/DBPedia”。 接下来,您可以在 SPARQL 选项卡中或直接在本地端点测试三元组。例如:

SELECT count(*) WHERE 
{?category skos:broader <http://dbpedia.org/resource/Category:Environmental_issues>}

但是,对于较大的文件,上传可能会失败。 对于较大的文件以及上传多个文件,最好使用批量上传。

为了从任何地方(而不仅仅是 Virtuoso 导入文件夹)批量上传文件,您必须将您的文件夹添加到 Virtuoso 配置文件 virtuoso.ini 中的 DirsAllowed 属性。您必须重新启动 Virtuoso 才能使 virtuoso.ini 中的更改生效。例如,假设转储文件位于 /tmp/virtuoso_db/dbpedia/ttl,您可以将路径 /tmp/virtuoso_db 添加到 DirsAllowed。

Virtuoso 恢复并运行后,进入 Interactive SQL (ISQL) 窗口并通过键入以下内容注册要加载的文件:

ld_dir('/tmp/virtuoso_db/dbpedia/ttl/','*.ttl','http://localhost:8890/DBPedia');

然后您可以通过输入以下内容来批量加载所有已注册的文件:

rdf_loader_run();

您可以通过对local endpoint 执行以下 SPARQL 查询来监控正在上传的三元组的数量:

select count(*) as ?c where {?a ?b ?c}

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
【解决方案2】:

虽然@firefly 的回答还是正确的,但是dbpedia 本身提供了一种更简单的本地设置dbpedia 的方法:

git clone https://github.com/dbpedia/virtuoso-sparql-endpoint-quickstart.git 
cd virtuoso-sparql-endpoint-quickstart 
COLLECTION_URI=https://databus.dbpedia.org/dbpedia/collections/latest-core VIRTUOSO_ADMIN_PASSWD=password docker-compose up

来源:https://github.com/dbpedia/virtuoso-sparql-endpoint-quickstart

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多