我想使用 SPARQL 查询从 DBPedia 端点提取所有主题/谓词/对象,其中 Predicate 是日期/时间属性。
我试图从转储中解析 DBPedia 的信息框属性并使用此查询过滤语句。但是有很多对象的日期/时间格式不正确(例如公元前 200 年,...)。
如何查询 Dump 文件或 DBPedia 的端点来解析所有有效的基于日期/时间的语句?
前面问题的答案显示了如何检索具有给定数据类型的属性。很容易扩展它以获取使用该属性的语句。该查询绑定?p
;现在只需添加?s ?p ?o
到查询中。例如:
select ?s ?p ?o where {
?p a owl:DatatypeProperty ;
rdfs:range xsd:date .
?s ?p ?o .
}
limit 100
请注意DBpedia 3.8 下载页面关于“原始信息框属性”和“本体信息框属性”数据集的说明:
原始信息框属性
从维基百科信息框中提取的信息。请注意,此数据位于不太干净的 /property/ 命名空间中。本体信息框属性(/ontology/ 命名空间)应始终优先于该数据。
本体信息框属性
使用基于本体的提取从 Infoboxes 中提取的高质量数据。此数据集中的谓词位于 /ontology/ 命名空间中。在以前的版本中曾被称为基于映射的属性。
请注意,此数据的质量比 /property/ 命名空间中的原始信息框属性要高得多。例如,一个人的出生日期有三个不同的原始维基百科信息框属性。在 /ontology/ 命名空间中,它们都映射到一个关系 http://dbpedia.org/ontology/birthDate上。统一这些关系是 DBpedia 的强项。
如果您最终从“原始信息框属性”数据集中获得奇怪的数据值,这并不奇怪。您应该真正使用“本体信息框属性”。