如何通过sparql查询仅获取值“Tuýp_2”并删除URIRef链接“ http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#Tuýp_2”

问题描述

我是rdflib的新手 我试图仅获取值Tuýp_2,不包括IRI http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#Tuýp_2

def testontology():
    test = """PREFIX : <http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#> SELECT ?a   WHERE { <http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#Benhnhan001>:coLoaiTieuDuong ?a}"""
    r = list(graph.query(test))
    for item in r:
        result = str(item['a'])
    return render_template("testontology.html",values=result)

经过protege尝试的查询“ test”的结果很好result picture

当我使用graph.query时,它将返回包含iri的值

我也尝试过SELECT (str(?b) as ?a),但结果仍然相同 我认为问题在于,我对使用rdflib中的graph.query获得价值一无所知

请帮助我查询

解决方法

解决了

PREFIX : <http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#> 
SELECT ?aTxt ?a   WHERE { <http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#Benhnhan001>:coLoaiTieuDuong ?a}.
bind(strafter(str(?a),"http://www.semanticweb.org/ngocv/ontologies/2020/5/hotrobenhtieuduong#") as ?aTxt)}