Я пытаюсь добавить тройки в Graph с помощью пакета python rdflib. Отношения предоставляются в виде списка (определенный столбец в кадре данных)
sampleRelations = ['similarTo', 'brotherOf', 'capitalOf']
g = Graph()
# general relations
gen = Namespace('http://abcd.com/general#')
g.bind('gen',gen)
# Adding predefined relationships
g.add( (gen.relatedTo, RDFS.subClassOf, OWL.ObjectProperty) )
. Это работает как обычно. Но при переборе списка:
for rel in sampleRelations:
g.add( ('gen.'+rel, RDFS.subClassOf, OWL.ObjectProperty) )
Выдается ошибка: «Тема% s должна быть термином rdflib»% (s,).
relWithNamespace = gen+rel
print(relWithNamespace)
g.add( (relWithNamespace, RDFS.subClassOf, OWL.ObjectProperty) )
Ошибка
AssertionError: Subject http://abcd.com/general#similarTo must be an rdflib term
Я понимаю проблему. Я ищу указатели, которые могут обойти это.