[英]how to filter out non-resource values in DBpedia SPARQL query?
我有这个查询来回归有效的哲学家的时代:
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?philosopher ?era
WHERE {
?philosopher a dbpedia-owl:Philosopher ;
dbpprop:era ?era .
}
返回的?era
示例值为:
我想只返回资源时代。 我试过了:
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?philosopher ?era
WHERE {
?philosopher a dbpedia-owl:Philosopher ;
dbpprop:era ?era .
?era a <http://dbpedia.org/resource>
}
但这没有任何回报。 如何过滤掉非资源时代?
您实际上想要使用具有ISURI
功能的FILTER
,而不是添加额外的三重模式,例如,
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?philosopher ?era
WHERE {
?philosopher a dbpedia-owl:Philosopher ;
dbpprop:era ?era .
FILTER(ISURI(?era))
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.