2
提取独特的实体,请看下面的代码:SPARQL:从DBpedia中
PREFIX category: <http://dbpedia.org/resource/Category:>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
SELECT DISTINCT *
WHERE {
?s dcterms:subject category:Living_people .
?s foaf:name ?name
}
LIMIT 10000
当运行它,我得到这样的结果:
Sir Alexander Chapman Ferguson
Sir Alex Ferguson
虽然他们是不同的项目,他们肯定相同的实体。所以我想在寻址SPARQL端点时减少输出,也就是说我想避免编辑输出数据,因为在这种情况下它可能很有挑战性。你能帮我解决吗?我的查询中应该修复哪些内容?
非常感谢。 – Hidalgos 2011-12-26 15:08:31
请再提一个问题。你是否暗示我应该添加一个子查询? – Hidalgos 2011-12-26 20:17:00
很难回答你的问题,而不知道你试图使用查询的内容,以及你使用的是什么上下文。无论如何,你的查询很好,我的意思是,如果你正在处理应用程序中的查询结果,你通常会在某种数据结构中存储匹配的对象(在这种情况下是人员)。你可以确保你不存储同一个对象的重复实例。 – Jan 2011-12-26 22:11:05