我尝试在DBpedia中的SPARQL中编写一个查询,以返回某个国家/地区的高中的所有信息。我在这里运行snorql查询link,但它返回“无结果”。我在查询中找不到任何错误。有人可以帮忙吗?
SELECT ?school
WHERE {
?school a owl:school.
?school owl:location ?city.
?city owl:isPartOf ?state.
?state owl:country <http://dbpedia.org/resource/United_States>.
}
编辑:
答案 0 :(得分:4)
你似乎对你应该使用的本体有误。您正在使用映射到前缀owl
的命名空间中的各种标识符,即:
owl:school
owl:location
owl:isPartOf
owl:country
但是,由于您未指定自定义前缀映射,因此使用默认映射,owl
映射到http://www.w3.org/2002/07/owl#
,即OWL 2。 OWL 2不包含列出的标识符的任何定义,因此DBpedia不使用这些标识符。
DBpedia 使用名称空间School
中的location
,isPartOf
,country
和http://dbpedia.org/ontology/
标识符到前缀dbpedia-owl
。因此,在您的查询中,只需使用您实际想要使用的本体的前缀。此外,请注意类 dbpedia-owl:School
是大写的,dbpedia-owl:school
只有一个小的 s 属性。
SELECT ?school
WHERE {
?school a dbpedia-owl:School.
?school dbpedia-owl:location ?city.
?city dbpedia-owl:isPartOf ?state.
?state dbpedia-owl:country <http://dbpedia.org/resource/United_States>.
}