rdflib中SPARQL如何判断得到的结果为空

今天利用rdflib中的SPARQL搜索时,需要判断搜索结果是否为空,根据查询结果所属的类追溯到了sparqlResult类,如下所示


class SPARQLResult(Result):

    def __init__(self, res):
        Result.__init__(self, res["type_"])
        self.vars = res.get("vars_")
        self.bindings = res.get("bindings")
        self.askAnswer = res.get("askAnswer")
        self.graph = res.get("graph")

Python代码如下:

<span style="font-size:18px;">import rdflib

g = rdflib.Graph()

g.parse("vc-db-1.rdf")
print '--------------------------------------------------'
q = u"SELECT ?x WHERE { ?x  <http://www.w3.org/2001/vcard-rdf/3.0#FN>  'John Smith' }"
qres = g.query(q)
print qres.vars
# [rdflib.term.Variable(u'givenName')]
print qres.bindings
# [{rdflib.term.Variable(u'givenName'): rdflib.term.Literal(u'Rebecca')}, {rdflib.term.Variable(u'givenName'): rdflib.term.Literal(u'John')}]
print qres.graph
# None</span>

我们可以看到,qres.bindings中含有我们需要的结果,如果值为空,则输出[],所以我们只需要令qres.bindings==[]即可判断。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值