Конвертировать тройки в формат rdf uriref
У меня есть функция 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'] и Я конвертирую их в формат URIRef, используя RDFLib
Что касается магазина я использую RDFStore для формата n3
Я хочу сказать следующее: RDFLib использует строки Python в качестве субъектов, предикатов и объектов, но некоторые операции не будут работать, если они не будут должным образом преобразованы в формат данных rdflib.URIRef. Только тогда, когда они находятся в правильном формате, я могу сохранить их в RDFStore.
1 ответ
Краткий ответ на ваш вопрос о том, как преобразовать строку в URI:
from rdflib import URIRef
# this cannot be a subject in a triple
uri_str = 'http://stackru.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']