ConjunctiveGraph от rdflib с магазином IOMemory поточно-ориентирован? - PullRequest
1 голос
/ 26 апреля 2020

Я извлекаю несколько наборов данных из нескольких источников и хочу распараллелить это, используя библиотеку threading в Python 3.8.2. Все наборы данных заканчиваются в разных контекстах в ConjunctiveGraph, который использует хранилище IOMemory. Я видел, что существует ConcurrentStore, но нет ни одного примера, не документированного так много, и он не реализует интерфейс Store, что делает его непригодным для использования.

При чтении кода IOMemory, Я видел места, где проверяется наличие элементов в коллекциях, а затем добавляются вещи без того, чтобы я видел код блокировки вокруг. * * * 1013

1 Ответ

0 голосов
/ 27 апреля 2020

Возможно ли ответ зависит от того, являются ли базовые Python объекты сами по себе потокобезопасными? Python set() лежит в основе RDFlib Graph.

Вы также можете создать независимые Graph с, а затем объединить их все в ConjunctiveGraph или Dataset после того, как они будут заполнены. Это может обойти проблему.

Любая работа по ConcurrentStore будет принята с благодарностью!

...