我当前的查询如下:
SELECT DISTINCT ?pred WHERE {
?pred a rdf:Property
}
ORDER BY ?pred
返回谓词,例如http://dbpedia.org/ontology/birthYear和http://dbpedia.org/property/abandoned。我如何修改查询以仅获得带有前缀“ http://dbpedia.org/ontology/”的结果?
答案 0 :(得分:2)
@AKSW在注释中提供了一种可能的解决方案,它确实可以为您提供所需的内容-
SELECT ?pred
WHERE
{ VALUES ?type {owl:ObjectProperty owl:DatatypeProperty }
?pred a ?type
}
ORDER BY ?pred
也就是说,您的问题是特定的,而上述方法无法回答,因此这个可能就是您想要的-
SELECT ?pred
WHERE
{
?pred a rdf:Property
FILTER ( REGEX ( STR (?pred), "http://dbpedia.org/ontology/", "i" ) )
}
ORDER BY ?pred