use*_*330 2 semantic-web sparql dbpedia linked-data
我正在玩DBPedia.
有了这个问题,我得到了所有在伦敦出生的人:
SELECT ?person
WHERE {
?person dbo:birthPlace :London
}
Run Code Online (Sandbox Code Playgroud)
但是,当我执行此查询时,为什么我得到一个空结果?
SELECT ?person
WHERE {
?person dbo:birthPlace "London"
}
Run Code Online (Sandbox Code Playgroud)
我刚刚换成London了一个String.
这是因为此关系的对象是实体,而不是字符串,因此第二个查询没有结果.
要知道,如果一个属性(即DBO:出生地)涉及文字或不是一个实体,一种方法是看一下属性的"关于"页面,例如,发源地的一个.
可以看出,birthPlace的类型是owl:ObjectProperty,这意味着关系的对象必须是一个用URI定义的实体.另一种可能性是DatatypeProperty,例如"abstract"属性,其中关系的对象将是文字.
出生地是一个实体的事实允许很多事情,例如,在同一查询中检索关于该地点的特定信息.
希望有所帮助!