Re: Implement third party triplestore as backend and sparql endpoint
The SQLite3 storage backend is implemented in triplelite.py, and the SPARQL engine in the sparql/ directory. However, some parts of Owlready perform direct SQL calls and possibly need to to updated as well.
However, changing the backend is problematic for performances: SQLite3 provides high performance because it runs in the same process as Python. Most other databases (like PostgresQL or MySQL) run in a separate process and you need inter-process communication, usually achieved by network calls. A call a needed each time you query the store, i.e. each time you do "entity.property". These repeated calls have a high cost, making this option about 10 times slower than SQLite3.
Before planning another backend, you need to consider how Python will communicate with that backend. I looked rapidly to komma, but it is not clear to me where the data are stored (file ? database ? memory ?) and how it can be accessed by Python.
Possibly the inverse operation is easier: add support for Owlready SQLite3 files in komma?