我正在使用DBpedia来检索有关特定城镇的POI(例如巴塞罗那)的数据。我试图在Stack Overflow上找到问题的适当答案,但是几乎所有提供的答案都无法解决,并且鉴于我是SPARQL的新手,所以我无法弄清楚它是否是SPARQL。错误的语法或是否还有其他内容。我正在使用位于以下地址的DBpedia SPARQL端点:http://dbpedia.org/sparql
我尝试使用诸如?citylabel
或?location
之类的东西,并使用FILTER
命令或直接为这些类填充值。我还尝试了其他一些事情,但结果却不令人满意(大多数情况下,我无法解决的语法错误)。在大多数情况下,这些解决方案已得到应用,并且似乎对人们来说效果很好,所以我不知道发生了什么。
BASE <http://www.dbpedia.org/resource/>
PREFIX : <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia3: <http://dbpedia.org/ontology/>
SELECT (SAMPLE(?label) as ?activity_name)
(SAMPLE(?latitude) as ?activity_lat)
(SAMPLE(?longitude) as ?activity_lon)
(SAMPLE(?homepage) as ?URL)
(SAMPLE(?type) as ?activity_type)
(SAMPLE(?abstract) as ?descriptor)
WHERE
{ ?Museum a dbo:Museum ;
rdfs:label ?label ;
dbo:abstract ?abstract ;
dbo:type ?type ;
geo:lat ?latitude ;
geo:long ?longitude ;
foaf:homepage ?homepage .
}
GROUP BY ?Museum ?label
我认为,该查询的结果几乎是DBpedia所知并归类的任何博物馆。我想要的是巴塞罗那的博物馆清单。有人可以给我一个相当深入的答案,以便我了解它是如何工作的吗?谢谢,谢谢。