Я использую rdflib-jsonld для анализа некоторых данных NoSQL и вставки в Sesame. Это проблематично часть кода:rdflib-jsonld генерирует ложный url, когда '<' используется в '@id'
context = {
"@context": {
"isGiven": URIRef('<'+'http://purl.org/net/something#isGiven'+rdfLizerItem['FooByBar']+'>'),
"administeredAs": URIRef('<'+'http://purl.org/net/something#administeredAs'+'>'),
"type":URIRef('<'+'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'+'>'),
}
}
recipient=URIRef('<'+someUrl+rdfLizerItem['FooRecipient']+'>')
jsonldOutputIsAdmin = {"@id": recipient,"isGiven": URIRef('<'+someUrl+ rdfLizerItem['Quantity']+'>')}
print jsonldOutputIsAdmin
g = Graph()
g.parse(data=json.dumps(jsonldOutputIsAdmin), format='json-ld', context=context)
g.close()
for s,p,o in g:
pprint.pprint ((s,p,o))
Вопрос заключается при добавлении <
и >
к URL для @id
, URL-адрес объекта становится полный путь к нему. Например:
(rdflib.term.URIRef(u'file:///C:/path/to/the/url/<http:/purl.org/net/ontologyName#subject>'),
rdflib.term.URIRef(u'<http://purl.org/net/ontologyName#predicate>'),
rdflib.term.Literal(u'<http://purl.org/net/ontologyName#object>'))
Я хочу только URL-адрес объекта, а не путь к файлу. Что вызывает проблему и как я могу ее решить?
Мне нужно <
и >
, чтобы иметь возможность экспортировать троек в кунжут.