#python #rdf #rdflib #turtle-rdf #triples
Вопрос:
Я хочу добавить тройки в определенном порядке, используя библиотеку RDFLib Python. Я знаю, что тройки RDF не упорядочены, однако я надеялся добавить тройки в том порядке, в котором вызывается функция add (). Например,
Если я добавлю следующие тройки
bob = URIRef("http://example.org/people/Bob")
name = Literal("Bob")
g.add((bob, RDF.type, FOAF.Person))
g.add((bob, FOAF.name, name))
Полученный результат
ex:Bob foaf:name "Bob";
rdf:type foaf:Person.
Есть ли способ обеспечить, чтобы порядок, в котором вызывается функция добавления, соответствовал выходному файлу? Например
ex:Bob rdf:type foaf:Person.
foaf:name "Bob".
Спасибо за любую помощь!
Комментарии:
1. нет, это невозможно, но вы можете просто расширить/написать сериализатор Turtle или N-Triples — я имею в виду, что код с открытым исходным кодом.
Ответ №1:
К сожалению, нет. Из документации,
Графики RDFLib являются не отсортированными контейнерами; они имеют обычные операции набора (например, add() для добавления тройки) плюс методы, которые ищут тройки и возвращают их в произвольном порядке.