I want to extract all statements from DBPedia's dump file.
Is it possible to write a sparql query to extract the list of predicates which contains the date values (like releaseDate, deathDate, birthDate,...)?
您可以编写一个 SPARQL 查询(您使用 SPARQL 标记,所以大概这就是您想要查询这些东西的方式)来查找这些属性。您需要做的就是查询 owl:DatatypeProperties 的内容(因为日期应该是文字),然后根据它们的字符串表示进行过滤。例如:
select ?p where {
?p a owl:DatatypeProperty
filter( contains( str(?p), "Date" ) || contains( str(?p), "date" ))
}
limit 100
现在,这将返回其字符串形式包含字符串“日期”或“日期”的任何属性。你会发现其中大部分都是你正在寻找的东西。但是,一个更好的方法可能是搜索以 xsd:date 为范围的事物,使用如下查询:
select ?p where {
?p a owl:DatatypeProperty ;
rdfs:range xsd:date .
}
limit 100
这样做的好处是您将获得其值应该是日期的属性,即使它们的名称不包含日期。例如,您将获得: