Добавление троек в определенном порядке с помощью RDFLib Python

#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() для добавления тройки) плюс методы, которые ищут тройки и возвращают их в произвольном порядке.