首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从rdflib.term.Literal中提取数据类型和标签名称

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

Stack Overflow用户
提问于 2014-10-05 14:23:09
回答 1查看 1.2K关注 0票数 0

我正在通过python rdflib执行sparql查询,如

代码语言:javascript
复制
r=sparql.prepareQuery('SELECT ?label WHERE { <%s> rdfs:label ?label . }'%i)

我的目标是以这种方式获取概念的标签。因此,我得到了这样的东西:

代码语言:javascript
复制
rdflib.term.Literal(u'primary phloem sieve cell', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#string'))

从这里,我想提取标签和数据类型。(本例中的主韧皮部、筛子单元格和字符串)我使用的是

代码语言:javascript
复制
if type(o) == rdflib.term.Literal:
    output.append(o.toPython())

哪里

代码语言:javascript
复制
o= rdflib.term.Literal(u'primary phloem sieve cell', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#string')) 

但这是行不通的。我对rdflib还不熟悉。有人知道我是怎么做到的吗?

我知道我需要将结果转换为string for label,但是如果数据类型不是string,并且我想获取数据类型,该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-05 15:05:19

我认为它是out.As查询结果的类型,即o是'rdflib.query.ResultRow‘,o是类’rdflib.Term.out.As‘,因此if条件不工作。删除对我和数据类型有效的if条件,我需要执行另一个sparql查询。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26203482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档