我一直在尝试执行此查询,但我不确定我需要的语法是什么。我已经看到了很多关于如何在查询中询问是否比其他东西更大或更短的例子,但我不知道如何询问是否有其他东西。
这是我的最后一次(失败)尝试:
PREFIX : <http:/dbpedia.org/resource/>
ASK
{
FILTER(<http:/dbpedia.org/resource/Paris> IN <http:/dbpedia.org/resource/Member_states_of_the_United_Nations>)
}
答案 0 :(得分:2)
部分问题是有一个名为
的DBpedia 资源<强> HTTP:/dbpedia.org/resource/Member_states_of_the_United_Nations 强>
但你真正想要的是,因为它的dct:subject属性的值是类别,
<强> http://dbpedia.org/page/Category:Member_states_of_the_United_Nations 强>
例如,您可以获得具有以下查询的成员国家/地区列表:
select ?country {
?country a dbo:Country ;
dct:subject dbc:Member_states_of_the_United_Nations
}
然而,巴黎不是一个成员国。这是法国的一个城市,是一个成员。您可以检查某些内容是否是询问查询的成员,如:
ask {
dbr:France a dbo:Country ;
dct:subject dbc:Member_states_of_the_United_Nations
}
您可以获得包含以下查询成员的国家/地区中已填充的地点列表:
select ?city ?country {
?city a dbo:PopulatedPlace ;
dbo:country ?country .
?country a dbo:Country ;
dct:subject dbc:Member_states_of_the_United_Nations .
}
SPARQL results (limited to 100)
您可以将其修改为询问查询,以检查具有特定名称的城市。 E.g:
ask {
?city rdfs:label "Paris"@en ;
a dbo:PopulatedPlace ;
dbo:country ?country .
?country a dbo:Country ;
dct:subject dbc:Member_states_of_the_United_Nations .
}
答案 1 :(得分:0)
使用dc:hasPart术语:
<http:/dbpedia.org/resource/Member_states_of_the_United_Nations> <http://dublincore.org/documents/dcmi-terms/#terms-hasPart> <http:/dbpedia.org/resource/Paris>
this w3 document中描述了这一点。