gpt4 book ai didi

sparql - 开始使用 DBpedia

转载 作者:行者123 更新时间:2023-12-02 08:14:59 26 4
gpt4 key购买 nike

我想开始使用 DBpedia。目前我所知道的是 DBpedia 是 Wikipedia 数据的结构化形式,可以使用 SPARQL 进行查询。对我来说,DBpedia 的基本思想(为维基百科数据提供结构)似乎确实令人惊奇,所以如果我的问题很基本,请简单点。

我的目标

从 DBpedia 获取简单的数据摘录。例如世界各国及其首都和人口。或者随机获取 100 个名人、他们的出生日期和地点以及简短的描述。最终我想查询元数据以查找 DBpedia 中的“实体”类型(例如山脉?河流?城市?)及其“属性”。但这是一个单独的问题,一旦我掌握了基础知识,我就可以进行实验。

到目前为止我发现了什么

在 Google 中我发现 http://wiki.dbpedia.org/develop/getting-started但我认为这是关于安装所有 DBpedia,我只想查询它。

我还发现了https://mickael.kerjean.me/2016/05/20/walkthrough-dbpedia-and-triplestore/但它假设您已经设置了 SPARQL 或 SNORQL,并且我不知道如何执行此操作。

麻生我找到了https://docs.data.world/tutorials/sparql/Your_First_Sparql_Query.html这是 SPARQL 的指南,但它再次假设您正在使用他们自己的 DataWorld 环境。

在 Stackoverflow 上我发现 List countries from DBpediaList countries from DBpedia但他们再次假设您已经设置了 SPARQL 环境。

问题

  1. 我应该使用什么软件对 DBpedia 数据编写简单查询 - 我需要 SPARQL 还是 SNORQL?我是在本地安装它们还是可以使用基于网络的工具?我使用 Windows 10,并且对 SQL 查询很满意。
  2. 设置好软件后,获取世界国家/地区、首都和人口列表的最简单查询是什么?
  3. 另外,我如何编写一个基本查询来返回(例如)100 个随机人员及其基本详细信息?

最佳答案

关于你的第一个问题的答案,实际上SPARQL是一种查询语言而不是软件,你可以在这里写下你的查询https://dbpedia.org/sparql .

为了获得国家、首都和各自的人口:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT min(?country_name) as ?Country_name min(?capital_name) as ?Capital_name min(?population) as ?Population
WHERE {
?country a dbo:Country.
?country rdfs:label ?country_name.
?country dbo:capital ?capital.
?capital rdfs:label ?capital_name.
?country ?p ?population .
FILTER(?p = dbo:populationTotal || ?p = dbp:populationCensus).
FILTER NOT EXISTS { ?country dbo:dissolutionYear ?year }
FILTER langMatches( lang(?country_name), "en" ).
FILTER langMatches( lang(?capital_name), "en" ).}
GROUP BY ?country_name

对于您的第三个问题,这是一个示例解决方案:

SELECT  distinct ?link ?person_full_name ?birth_year   WHERE { 
?link a foaf:Person.
?link ?p ?person_full_name.
FILTER(?p IN(dbo:birthName,dbp:birthName,dbp:fullname,dbp:name)).
?link rdfs:label ?person_name .
?person_name bif:contains "abdul" .
OPTIONAL { ?link dbo:birthYear ?birth_year . }
FILTER(langMatches(lang(?person_full_name), "en"))
}
LIMIT 100

关于sparql - 开始使用 DBpedia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48790879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com