我有一个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中。
答案 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']