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

来源:互联网 发布:全包半包和清包 知乎 编辑:程序博客网 时间:2024/05/23 02:04

今天利用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 rdflibg = 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 0
原创粉丝点击