我想从DBPedia的转储文件中提取所有语句。
是否可以编写sparql查询来提取包含日期值的谓词列表(如releaseDate,deathDate,birthDate,...)?
答案 0 :(得分:1)
您可以编写SPARQL查询(使用SPARQL进行标记,因此可能是您要查询这些内容的方式),以查找这些属性。您需要做的就是查询owl:DatatypeProperties(因为日期应该是文字),然后根据它们的字符串表示进行过滤。例如:
select ?p where {
?p a owl:DatatypeProperty
filter( contains( str(?p), "Date" ) || contains( str(?p), "date" ))
}
limit 100
现在,这将返回其字符串形式包含字符串“Date”或“date”的任何属性。你会发现大多数都是你正在寻找的东西。但是,更好的方法是搜索具有xsd:date作为其范围的内容,使用如下查询:
select ?p where {
?p a owl:DatatypeProperty ;
rdfs:range xsd:date .
}
limit 100
这样做的好处是,您将获得其值应为日期的属性,即使它们的名称不包含日期。例如,你会得到: