我想在本地设置DBpedia数据集,但是我不确定该怎么做。我已经下载了mappingbased_objects_en.ttl
和infobox_properties_mapped_en.ttl.bz2
,还需要下载其他内容吗?
现在如何使用SPARQL对此进行查询?我是否需要安装任何东西以使其可从sparql查询。是否有用于SPARQL的任何数据库软件,例如mysql?
我尝试了http://dbpedia.org/sparql,但是由于10000个查询限制的限制,我想在系统中设置DBpedia
任何领导将不胜感激。 谢谢
PS:这两个文件(mappingbased_objects_en.ttl
,infobox_properties_mapped_en.ttl.bz2
)似乎不包含例如ex的所有实体信息:这些文件中没有Steve Jobs,但Tim Cook在那,我DBpedia中有某些史蒂夫工作。
答案 0 :(得分:1)
您需要在本地三元存储(例如Virtuoso)上安装DBPedia。我在this article中对此进行了说明,但是这是如何使用Virtuoso Triplestore在本地安装和查询DBPedia的要点:
Virtuoso开源版可以从here下载。 一旦安装了Virtuoso,请运行它并启动VOS数据库。 在浏览器中转到Virtuoso管理页面(您可能需要花一些时间才能开始):http://localhost:8890/conductor/ 使用默认凭据登录(dba / dba) 在用于测试的“ Quad Store上载”选项卡中,可以将ttl文件上载到指定的命名图IRI,例如“ http://localhost:8890/DBPedia”。 接下来,您可以在SPARQL选项卡中或直接在本地端点上测试Triplestore。例如:
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}
答案 1 :(得分:0)
虽然@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