我对银行,中央银行,金融机构,大学和学院的地理坐标感兴趣。这是我的问题:
SELECT ?label ?lat ?long
WHERE {
{?x dct:subject category:International_finance_institutions } UNION
{?x dct:subject category:Federal_Reserve_Banks } UNION
{?x dct:subject category:Central_banks } UNION
{?x a <http://schema.org/CollegeOrUniversity> }.
?x geo:lat ?lat .
?x geo:long ?long .
?x rdfs:label ?label.
FILTER (LANGMATCHES(LANG(?label), 'en'))
}
这段代码确实有效(上次下载:2015年6月21日)。但是今天早上我一直收到这个错误:Virtuoso 37000 Error SP030: SPARQL compiler, line 5: Undefined namespace prefix at 'category' before '}'
。我正在检查the list of predefined namespaces,但似乎都是正确的。 category
有什么问题?顺便说一句:我也尝试过这方面提供的其他代码,有些代码也没有用。那些演奏家们改变了什么吗?
答案 0 :(得分:4)
他们改变了namespaces。因此您需要将category:
更改为dbc:
。
SELECT ?label ?lat ?long
WHERE {
{?x dct:subject dbc:International_finance_institutions } UNION
{?x dct:subject dbc:Federal_Reserve_Banks } UNION
{?x dct:subject dbc:Central_banks } UNION
{?x a <http://schema.org/CollegeOrUniversity> }.
?x geo:lat ?lat .
?x geo:long ?long .
?x rdfs:label ?label.
FILTER (LANGMATCHES(LANG(?label), 'en'))
}