Я ищу что-то вроде sqlite, но нереляционное. Другими словами, я хотел бы работать с тройным хранилищем (набором троек объект-предикат-субъект) вместо таблиц. Это означает, что я хочу использовать запросы SPARQL вместо SQL.
Первая идея, которая приходит в голову, - это RDFLib. Однако я вижу две проблемы с этим вариантом:
- RDFLib не является базой данных и, как следствие, не предназначен для работы с параллельным процессом (например, с параллельным запросом, инициированным многими веб-пользователями). Это может привести к несоответствиям, если два пользователя одновременно попытаются добавить или удалить из тройного хранилища.
- RDFLib разработан для работы с RDF, который представляет собой частную реализацию (синтаксис) тройного хранилища. Например, у каждого объекта, предиката и субъекта должен быть URI, а у меня их нет. В моем тройном хранилище я хотел бы иметь такие тройки:
("Washington","is capital of", "USA")
(то есть без URI).