如何获取URI的后缀(在#之后)?

时间:2014-08-22 18:15:23

标签: rdf sparql

我输入了这个查询:

SELECT ?p  FROM a.owl WHERE {<http:/edamontology.org/operation_0311> ?p ?o } 

结果是每个属性的完整URI。 E.g:

http:/www.geneontology.org/formats/oboInOwl#inSubset
http:/www.w3.org/2000/01/rdf-schema#subClassOf
http:/www.w3.org/2002/07/owl#Class

我不想要URI,我只想在#之后获得该部分。也就是说,我想要

inSubset
subClassOf
Class

我怎么能得到它?

1 个答案:

答案 0 :(得分:3)

在出现#之后,您需要URI的字符串部分。使用strafter即可轻松实现。

select (strafter(str(?p),'#') as ?plabel) {
  values ?p { <http:/www.geneontology.org/formats/oboInOwl#inSubset>
              <http:/www.w3.org/2000/01/rdf-schema#subClassOf>
              <http:/www.w3.org/2002/07/owl#Class> }
}

SPARQL results

plabel
----------
inSubset
subClassOf
Class