【发布时间】:2020-03-06 16:34:58
【问题描述】:
我正在尝试使用 SPARQL 查询从 DBPedia 收集所有在美国活跃的音乐家。我尝试了以下查询,但它返回一个空列表:
PREFIX dbp: <http://dbpedia.org/property/>
SELECT distinct ?person where {?person a dbo:MusicalArtist . ?person dbp:region "United States"} LIMIT 100
我不确定这里出了什么问题。我已经尝试在 foaf:name 等其他属性上匹配字符串值而没有任何问题,所以我不确定为什么“区域”属性不起作用。
【问题讨论】:
-
为什么你认为音乐家有这样的属性?我的意思是,你检查过任何音乐家吗?我不认为存在这样的属性值。为什么你认为它必须是字符串文字而不是 URI?
-
我的问题基于这样的音乐家:dbpedia.org/page/Nicki_Minaj 您可以看到“dbp:region”的值是“United States”。
-
真的。但许多其他人没有。这样你不会得到完整的结果。无论如何,问题是缺少文字类型:
PREFIX dbp: <http://dbpedia.org/property/> SELECT distinct ?person where {?person a dbo:MusicalArtist . ?person dbp:region "United States"^^rdf:langString} LIMIT 100