从中提取数据类型和标签名称rdflib.term.Li

2024-06-16 09:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过pythonrdflib执行sparql查询

r=sparql.prepareQuery('SELECT ?label WHERE { <%s> rdfs:label ?label . }'%i)

我的目的是用这种方式为概念命名。 结果我得到了这样的结果:

^{pr2}$

我想从中提取标签和数据类型(即本例分别为初级韧皮部筛孔和字符串) 我正在使用

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作为label,但是如果数据类型不是string,而我想获取数据类型呢


Tags: 目的概念string方式whereselectsparqllabel
1条回答
网友
1楼 · 发布于 2024-06-16 09:25:26

我想出来了出去。就像查询结果的类型即o是'rdflib.query.ResultRow' o[0]是类'rdflib.term.Literal'因此if条件不起作用。 删除if条件对我有效,对于需要执行另一个sparql查询的数据类型也是如此。在

相关问题 更多 >