将三元组转换为rdf uriref格式

时间:2012-07-21 18:14:00

标签: rdf triples rdfstore

我有一个python函数,它定义了主题,对象和谓词中的三元组并迭代它们但我需要将三元组转换为RDF URIRef数据格式,以便我可以将它存储在我的RDF存储中。我怎么能这样做呢?

我正在使用RDFLib作为我的RDF存储,如上所述我试图将字典中的一组数据(传感器数据特定)转换为RDFLIb URIRef格式。

例如,如果我有self.triples [self.identifier] [prov ['subject']] = self.subject.identifier               self.triples [self.identifier] [rdf ['type']] = prov ['alternateOf']         然后我使用RDFLib将它们转换为URIRef格式

至于我正在使用RDFStore for n3格式的商店

我的观点是: RDFLib使用Python字符串作为主题,谓词和对象,但有些操作 如果它们未正确转换为rdflib.URIRef数据格式,则无法工作。只有当它们处于正确的格式时才可以存储在RDFStore中。

1 个答案:

答案 0 :(得分:1)

关于如何将字符串转换为uri的问题的简短回答:

from rdflib import URIRef
# this cannot be a subject in a triple
uri_str = 'http://stackoverflow.com/questions/11594712'
# this can be a subject (or predicate or object) of a triple
uri_ref = URIRef(uri_str)

使用Namespace

from rdflib import Namespace

ns_str = 'http://example.com/namespace/doc/'
ns = Namespace(ns_str)

uri_str = ns_str+'fragment'

assert URIRef(ns_str+'fragment') == ns.fragment == ns['fragment']