-1

我是 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”的结果是好的结果图片

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

我也试过了SELECT (str(?b) as ?a),但结果还是一样我认为问题是我不太了解graph.query在 rdflib 中获取价值

请帮我查询值

4

1 回答 1

0

解决了

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)}
于 2020-08-14T08:54:30.690 回答