【问题标题】:Strings in SparqlSparql 中的字符串
【发布时间】:2016-02-22 21:55:42
【问题描述】:
我在玩DBPedia。
通过这个查询,我得到了所有在伦敦出生的人:
SELECT ?person
WHERE {
?person dbo:birthPlace :London
}
但是为什么我在执行这个查询时得到一个空的结果呢?
SELECT ?person
WHERE {
?person dbo:birthPlace "London"
}
我刚刚将London 更改为字符串。
【问题讨论】:
标签:
sparql
semantic-web
dbpedia
linked-data
【解决方案1】:
这是因为这个关系的对象是一个实体,而不是一个字符串,因此第二个查询没有结果。
要了解属性(即 dbo:birthPlace)是否将实体与文字相关联,一种方法是查看属性的“关于”页面,例如 birthPlace's one。
可以看出birthPlace的类型是owl:ObjectProperty,这意味着关系的对象必须是一个实体,用URI定义>。
另一种可能性是 DatatypeProperty、as for the "abstract" property for example,其中关系的对象将是文字。
出生地是一个实体这一事实允许做很多事情,例如在同一个查询中检索有关该地点的特定信息。
希望有帮助!