Sparql 中的字符串

Strings in Sparql

我在玩 DBPedia

通过这个查询,我得到了所有出生在伦敦的人:

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

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

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

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

这是因为这个关系的对象是一个实体,而不是一个字符串,因此第二个查询没有结果。

要知道 属性(即 dbo:birthPlace)是否将实体与文字相关联,一种方法是查看 "About" 页面31=],例如,birthPlace's one.

可以看到birthPlace的类型是owl:ObjectProperty,意思是关系的对象必须是一个实体,定义使用 URI。 另一种可能性是 DatatypePropertyas for the "abstract" property for example,其中关系的对象将是文字。

出生地是一个实体这一事实允许做很多事情,例如在同一查询中检索有关该地点的特定信息。

希望对您有所帮助!