Sparql DBPedia:dbo:region属性有问题

Sparql DBPedia:dbo:region属性有问题,sparql,dbpedia,Sparql,Dbpedia,我正在尝试使用SPARQL查询从DBPedia收集所有在美国活跃的音乐家。我尝试了以下查询,但它返回一个空列表: PREFIX dbp: <http://dbpedia.org/property/> SELECT distinct ?person where {?person a dbo:MusicalArtist . ?person dbp:region "United States"} LIMIT 100 前缀dbp: 选择不同的人,其中{人a dbo:音乐艺术家。?人dbp:

我正在尝试使用SPARQL查询从DBPedia收集所有在美国活跃的音乐家。我尝试了以下查询,但它返回一个空列表:

PREFIX dbp: <http://dbpedia.org/property/>
SELECT distinct ?person where {?person a dbo:MusicalArtist . ?person dbp:region "United States"} LIMIT 100
前缀dbp:
选择不同的人,其中{人a dbo:音乐艺术家。?人dbp:地区“美国”}限制100

我不确定这里出了什么问题。我尝试在其他属性(如foaf:name)上匹配字符串值,但没有遇到任何问题,因此我不确定“region”属性为什么不起作用。

解决了!感谢上面评论中的@UninformedUser

我们只需要指定字符串匹配的文本类型

PREFIX dbp: <http://dbpedia.org/property/> 
SELECT distinct ?person where {?person a dbo:MusicalArtist . ?person dbp:region "United States"^^rdf:langString} LIMIT 100
前缀dbp:
选择不同的人,其中{人a dbo:MusicalArtist.?人dbp:region“United States”^^rdf:langString}限制100

为什么你认为音乐家有这样的财产?我是说,你查过音乐家吗?我看不出这样的属性值存在。为什么你认为它必须是一个字符串文字而不是URI?我的问题是基于这样的音乐家:你可以看到“dbp:region”的值是“United States”。没错。但其他许多人没有。这样你不会得到一个完整的结果。无论如何,问题是缺少文字类型:
前缀dbp:SELECT distinct?person where{?person a dbo:MusicalArtist。?person dbp:region“United United”^^rdf:langString}LIMIT 100