Rdf 从dbpedia查询城市及其国家
我正试图在OWL中为国家和城市构建一个本体(如果已经存在这样的实现,请指向我) 为了获取数据,我尝试将sparql与以下代码一起使用:Rdf 从dbpedia查询城市及其国家,rdf,sparql,owl,dbpedia,Rdf,Sparql,Owl,Dbpedia,我正试图在OWL中为国家和城市构建一个本体(如果已经存在这样的实现,请指向我) 为了获取数据,我尝试将sparql与以下代码一起使用: SELECT ?c WHERE { ?c rdfs:label ?name . ?c dbpedia-owl:country <http://dbpedia.org/resource/Country> . } 选择?c其中{ ?c rdfs:标签?名称。 ?c dbpedia猫头鹰:国家。 } 我是sparql和dbpedia的新手。
SELECT ?c WHERE {
?c rdfs:label ?name .
?c dbpedia-owl:country <http://dbpedia.org/resource/Country> .
}
选择?c其中{
?c rdfs:标签?名称。
?c dbpedia猫头鹰:国家。
}
我是sparql和dbpedia的新手。上述代码并没有返回我所有的城市和他们所在的国家。我真的需要使用dbpedia来实现这一点
有什么建议吗?SPARQL区分大小写(因为RDF区分大小写)。DBpedia使用的约定是,属性名称以小写字母开头(例如,对于“属于X的国家是…”,DBpedia owl:country),类名以大写字母开头(例如,DBpedia owl:country
)
如果所说的有效,我的意思是返回结果,那么它有效(City
,而不是City
):
但是,请注意,并非所有您和我称之为城市的地方都被定义为dbpedia owl:City
——它们可能属于dbpedia owl:collection
或其他类别。因此,上面的查询可能不会生成您想要的所有城市
另外:要构建一个本体,您不需要“数据”。例如,本体定义了所有城市都是人口密集的地方,所有人口密集的地方都是地方。要做到这一点,您不需要知道爱丁堡在英国。在
你检查过了吗?我修改了来自you链接的查询,得到了一个SELECT DISTINCE?city?country WHERE{?city rdf:type dbpedia owl:city;rdfs:label?label;dbpedia owl:country?country}但它仍然不起作用这一个起作用了,但我得到了很多不相关的结果:SELECT*WHERE{?x rdf:type dbpedia owl:Country}感谢您的回复,事实上,对于这个本体,我只需要像containment一样执行查询扩展,所以如果我能知道,所有的地方都是另一个地方,这可以帮助我,无论是一个定居点还是一个城市,这都不是一个真正的问题,对我来说非常重要的是像a包含B和C。C包含D……有可能得到这个吗来自dbpedia的fo??所以你正在构建一个知识库。我不确定我是否理解你在这里提出的问题;给定的查询显示,你可以找到一个城市所在的国家:“英国”包含“爱丁堡”……你认为如果我们扩展查询,假设像“唯一的城市”,执行(城市,猫头鹰:定居点,地点,…)的联合吗,这不是更好吗?这取决于你想知道什么。你只需要一个城市所在的国家吗?或者你想包括为城市定义的省、州或地区吗?在这种情况下,我只需要知道哪个是什么就够了。顺便问一下,有没有一个地方可以描述图表结构dbpedia的名称??
SELECT DISTINCT ?city ?country
WHERE { ?city rdf:type dbpedia-owl:City ;
rdfs:label ?label ;
dbpedia-owl:country ?country
}
SELECT DISTINCT ?city ?country
WHERE { ?city rdf:type dbo:City ;
rdfs:label ?label ;
dbo:country ?country
}