Sparql:让所有统治城市的政客

Sparql:让所有统治城市的政客,sparql,Sparql,我是sparql的新手,我试图了解如何获取构建查询所需的资源。我开始尝试让所有统治一个城市或国家的政治家参与进来,目前我可以做以下几点: 我首先按照snorql中的链接(在前缀中)并通过在末尾添加“political”来查找实体。我发现了一个: PREFIX : <http://dbpedia.org/resource/> 前缀: 所以我写了,资源确实存在。我试着这样使用它: PREFIX dbo: <http://dbpedia.org/ontology/> PRE

我是sparql的新手,我试图了解如何获取构建查询所需的资源。我开始尝试让所有统治一个城市或国家的政治家参与进来,目前我可以做以下几点:

我首先按照snorql中的链接(在前缀中)并通过在末尾添加“political”来查找实体。我发现了一个:

PREFIX : <http://dbpedia.org/resource/>
前缀:
所以我写了,资源确实存在。我试着这样使用它:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT ?thing WHERE { 
   ?thing a :Politician .
   ?thing dbo:birthPlace dbpedia:Italy.
}
LIMIT 50
前缀dbo:
前缀dbpedia:
选择{
事情一:政客。
事物dbo:出生地dbpedia:意大利。
}
限制50

即使我删除了
选择
的第二行,也没有结果。但是如果我将第一行改为:
?thing a dbo:Person
。或者,即使我把它去掉,我也会得到在意大利出生的人。但不仅仅是政客。第二个问题是,我不需要出生但统治这个地方的政客。我如何或在哪里可以找到这种“关系/描述符”?现在我只是在谷歌上搜索和复制粘贴一些现有的例子,但我想了解如何寻找更具体的东西


提前感谢

您的第一个查询不起作用,因为不是默认(
)命名空间的一部分,而是存在于DBpedia本体命名空间(
dbo
)中

因此,您的查询应该是:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT ?thing WHERE { 
   ?thing a dbo:Politician .
   ?thing dbo:birthPlace dbpedia:Italy.
}
LIMIT 50
它将列出所有谓词


我建议您浏览一两个政客,看看他们必须检查的谓词是否适合您。

您的第一个查询不起作用,因为
political
不是默认(
)命名空间的一部分,而是存在于DBpedia本体命名空间(
dbo
)中

因此,您的查询应该是:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT ?thing WHERE { 
   ?thing a dbo:Politician .
   ?thing dbo:birthPlace dbpedia:Italy.
}
LIMIT 50
它将列出所有谓词


我建议你浏览一两位政治家,看看他们必须检查的谓词是否适用于你。

我不太确定我是否理解你的问题。你到底想做什么?@aquiros找到50位统治意大利的政治家。不管什么时候,问题只是我加了什么?事情a:政客我没有结果,具体问题是因为政客是
dbo
前缀的一部分,而不是默认前缀。试着用一个dbo:political。是的,它奏效了。第二个问题是,我不想要出生在意大利的政客,只想要那些统治意大利的政客(我知道,这对一个地区来说更有意义),我不太确定我是否理解你的问题。你到底想做什么?@aquiros找到50位统治意大利的政治家。不管什么时候,问题只是我加了什么?事情a:政客我没有结果,具体问题是因为政客是
dbo
前缀的一部分,而不是默认前缀。试着用一个dbo:political。是的,它奏效了。第二个问题是,我不想要出生在意大利的政客,只想要统治意大利的政客(我知道,这对一个地区来说更有意义)