先前正在运行的SPARQL查询上的未定义名称空间前缀

时间:2015-09-30 10:14:22

标签: namespaces sparql dbpedia

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

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有什么问题?顺便说一句:我也尝试过这方面提供的其他代码,有些代码也没有用。那些演奏家们改变了什么吗?

1 个答案:

答案 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')) 
}