我正在做一个项目,我想使用 DBpedia。我有几百个 DBpedia 链接,例如
什么是更好地利用时间:
- 抓取这些页面并提取我需要的信息?
- 从 Python 使用 SPARQL 查询来查询数据?
最佳答案
首先,请注意标识 DBpedia 资源的 URI 不是
有页面,但是
使用资源。其次,使用 SPARQL 检索信息的速度将多。 SPARQL 是一种用于 RDF 的查询语言,您正在寻找获取 RDF 数据的方法。要获取有关 FEMA 的信息,您在 SPARQL 中需要做的就是描述查询:
describe
dbpedia:Federal_Emergency_Management_Agency
描述查询可以描述多个资源,所以你可以这样做,例如:
describe
dbpedia:Federal_Emergency_Management_Agency
dbpedia:Mount_Monadnock
# more resources...
如果您只需要有关某些资源的某些信息,您仍然可以使用 values
并以编程方式注入(inject)您感兴趣的资源,通过选择或构造查询来执行类似的操作:
select ?label where {
values ?resource {
dbpedia:Federal_Emergency_Management_Agency # put your values in here and
dbpedia:Mount_Monadnock # ?resource will be bound to each
}
?resource rdfs:label ?label .
filter( langMatches( lang(?label), "EN" ))
}
您还可以使用结构在模型中获取这些三元组:
construct {
?resource rdfs:label ?label
}
where {
values ?resource {
dbpedia:Federal_Emergency_Management_Agency
dbpedia:Mount_Monadnock
}
?resource rdfs:label ?label .
filter( langMatches( lang(?label), "EN" ))
}
关于python - 从 DBpedia 中提取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877222/