从DBPedia中提取基于日期/时间的谓词

时间:2013-09-02 19:24:41

标签: rdf sparql dbpedia n3

我想从DBPedia的转储文件中提取所有语句。

是否可以编写sparql查询来提取包含日期值的谓词列表(如releaseDate,deathDate,birthDate,...)?

1 个答案:

答案 0 :(得分:1)

您可以编写SPARQL查询(使用SPARQL进行标记,因此可能是您要查询这些内容的方式),以查找这些属性。您需要做的就是查询owl:DatatypeProperties(因为日期应该是文字),然后根据它们的字符串表示进行过滤。例如:

select ?p where {
  ?p a owl:DatatypeProperty
  filter( contains( str(?p), "Date" ) || contains( str(?p), "date" ))
}
limit 100

SPARQL results

现在,这将返回其字符串形式包含字符串“Date”或“date”的任何属性。你会发现大多数都是你正在寻找的东西。但是,更好的方法是搜索具有xsd:date作为其范围的内容,使用如下查询:

select ?p where {
  ?p a owl:DatatypeProperty ;
     rdfs:range xsd:date .
}
limit 100

SPARQL results

这样做的好处是,您将获得其值应为日期的属性,即使它们的名称不包含日期。例如,你会得到: