以前工作的 SPARQL 查询上未定义的命名空间前缀

Undefined namespace prefix on previously working SPARQL query

我对银行、中央银行、金融机构、大学和学院的地理坐标感兴趣。这是我的查询:

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 怎么了?顺便说一句:我也试过这边提供的其他代码,有些也不起作用。演奏家们改变了什么吗?

他们改变了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')) 
}