SPARQL中的字符串

3

我正在尝试使用DBPedia

使用这个查询,我可以获取所有在伦敦出生的人:

SELECT ?person
WHERE {      
  ?person dbo:birthPlace :London
}

但是为什么执行这个查询时我得到了一个空结果?

SELECT ?person
WHERE {      
  ?person dbo:birthPlace "London"
}

我刚刚将 London 更改为字符串。

1个回答

7
这是因为此关系的对象是一个实体,而不是字符串,因此第二个查询没有结果。
要知道一个属性(例如dbo: birthPlace)是否将实体与文字相关联,一种方法是查看属性的“关于”页面,例如birthPlace's one
可以看到那里的birthPlace类型是owl:ObjectProperty,这意味着关系的对象必须是一个用URI定义的实体。另一种可能性是DatatypeProperty,例如例如“abstract”属性, 其中关系的对象将是文字。
出生地是实体的事实允许很多事情,例如在同一查询中检索有关该地点的特定信息。
希望能有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接