目标:获得某年官职人员的DBpedia资源。例如 1998 年的美国总统、现任康涅狄格州纽黑文市市长等……
在查看了总统巴拉克奥巴马、市长托尼哈普和其他一些人的 DBpedia 资源页面后,我发现唯一一致提供的信息是属性termStart
和termEnd
. 问题是它termStart
包含termEnd
多个条目,因此使用它们也会包含不正确的资源页面。我不知道如何区分正确和错误。
一个人应该很容易地获得这种性质的查询的结果,这似乎很简单。如果有人使用freebase
,但freebase
不是最新的,因此对纽黑文市长的查询返回空。
以下是我使用 Virtuoso 对 1998 年美国总统的查询
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?s ?w ?dstart ?dend
WHERE {
?s dcterms:subject <http://dbpedia.org/resource/Category:Presidents_of_the_United_States> .
?w foaf:primaryTopic ?s .
?s prop:termStart ?dstart .
?s prop:termEnd ?dend .
FILTER (?dstart < '1998-01-01'^^xsd:date && ?dend > '1998-12-31'^^xsd:date) .
}
我得到的结果是巴拉克·奥巴马、比尔·克林顿、乔治·W·布什和威廉·霍华德·塔夫脱。塔夫脱总统被包括在内,因为结束日期是 1892 年 3 月,我认为可以修复。但是,我不知道剩下的 3 个中哪一个是正确的。请记住,如果我更改上述类别,我将获得不同的职位名称。例如 Mayors_of_New_Haven_,Connecticutts 或 Governors_of_California 等...
Category:
无论如何,如果我以某种方式知道后面的字符串是正确的但不知道它是什么,我可以获得正确的结果吗?或者有没有在特定日期查询任何政府职位持有人?