繁体   English   中英

如何在DBpedia SPARQL查询中过滤掉非资源值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM