我的SPARQL查询根本不起作用

我的SPARQL查询根本不起作用,sparql,dbpedia,Sparql,Dbpedia,我当前正在尝试运行我的查询,但我不断收到错误消息,即在第0行中,括号在“}”处不平衡 我已经检查了我的整个代码多次,但我似乎没有得到修复。我目前正在使用dbpedia端点 PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX yago: <http://dbpedia.org/class/yago/> PREFIX dbp: <http://dbpedia.org/property/> PREFIX d

我当前正在尝试运行我的查询,但我不断收到错误消息,即在第0行中,括号在“}”处不平衡

我已经检查了我的整个代码多次,但我似乎没有得到修复。我目前正在使用dbpedia端点

PREFIX  dbo:  <http://dbpedia.org/ontology/>
PREFIX  yago: <http://dbpedia.org/class/yago/>
PREFIX  dbp:  <http://dbpedia.org/property/>
PREFIX  dct:  <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?country ?government  ?population
WHERE{ ?country  dct:subject  <http://dbpedia.org/resource>/Category:Countries_in_Europe> ;
 rdfs:label ?country;         
dbo:government  ?government.
?government rdfs:label ?government.
?population rdfs:subClassOf* dbo:PopulatedPlace
rdf:type dbpedia-owl:Country;
rdfs:label ?country ; 
prop:populationEstimate ?population . 
FILTER (?population < 3000000) . 
FILTER ( lang(?country) AND (lang(?(government = 'en')
} 
图表中应显示三行,第一行以国家为标题,第二行以国家的政府类型为标题,第三行以总人口300万下降为标题


非常感谢你帮了我的忙

此查询中有多个错误

我突然想到几件事

事情1-

?government rdfs:label ?government.
你有几个类似的主语谓语主语结构

事情2-

?population rdfs:subClassOf* dbo:PopulatedPlace
rdf:type dbpedia-owl:Country;
我想在dbo:PopulatedPlace后面需要一个分号

事情3-

FILTER ( lang(?country) AND (lang(?(government = 'en')
该过滤器以多种方式破坏语法。我想这会达到你的目的-

FILTER ( lang(?country)    = 'en') .
FILTER ( lang(?government) = 'en') .
事情4-

<http://dbpedia.org/resource>/Category:Countries_in_Europe>
我认为应该是dbo:国家

事情6-

prop:populationEstimate
我认为应该是dbp:populationEstimate


还有很多问题。。。我不确定您是否真的在尝试。

您的整个查询都被破坏了。使用与主题相同的变量,然后将其作为标签的占位符,这是行不通的。例如?国家变量。那么,人口三重模式的目标是什么?人口是一个字面值?那你为什么认为那是三排呢?SPARQL不是这样工作的。三重模式集用作交叉点,从技术上讲,这是公共变量上的连接。您可以为每个国家/地区获取一行,然后获取值,但不能为每个国家/地区获取三行,并且您的筛选器已断开,并且包含欧洲国家/地区的URI。来吧,这真是奇怪的错误,你应该自己去看。。。我想愿望不是三行而是三列。这个属性叫做governmentType…government->governmentTypepopulation->populationTotal
prop:populationEstimate