1

我有一个 python 函数,它在主题、对象和谓词中定义三元组并遍历它们,但我需要将三元组转换为 RDF URIRef 数据格式,以便我可以将其存储在我的 RDF 存储中。我该怎么办?

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

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

至于商店,我使用的是 n3 格式的 RDFStore

我的观点是:RDFLib 使用 Python 字符串作为主语、谓语和宾语,但如果它们没有正确转换为 rdflib.URIRef 数据格式,则某些操作将无法工作。只有当它们采用正确的格式时,我才能将它们存储在 RDFStore 中。

4

1 回答 1

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']
于 2012-07-24T18:50:11.280 回答