我正在通过python rdflib执行sparql查询,如
r=sparql.prepareQuery('SELECT ?label WHERE { <%s> rdfs:label ?label . }'%i)
我的目标是以这种方式获取概念的标签。 结果我得到了这样的东西:
rdflib.term.Literal(u'primary phloem sieve cell', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#string'))
由此我想提取标签和数据类型。(分别为主要韧皮部筛选细胞和字符串) 我正在使用
if type(o) == rdflib.term.Literal:
output.append(o.toPython())
哪里
o= rdflib.term.Literal(u'primary phloem sieve cell', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#string'))
但它不起作用。 我是rdflib的新手。 有谁知道我怎么能这样做?
我知道我需要将结果转换为string的标签但是如果数据类型不是字符串并且我想获取数据类型
答案 0 :(得分:3)
我弄清楚了。因为查询结果的类型是“rdflib.query.ResultRow&#39; 并且o [0]是class&#; rdflib.term.Literal&#39;。如果条件不起作用。 删除if条件对我和我需要执行另一个sparql查询的数据类型。