Should these transactions be thought of the same as transactions in SQL databases?
Some descriptions of SQL database transactions that relate to what I think of as SQL database transactions:
If so then will all the ACID rules apply? I take it that the answer is yes because the description notes
Transactions allow running a goal in isolation . Database changes from other threads are invisible while changes inside the transaction are invisible to other threads and become atomically visible to other threads if the transaction is committed .
I noticed that
D for Durability is missing.
If so then I will use the Microsoft Northwind database which is like a
Hello World! of SQL databases and has countless examples accessible via the Internet to do similar examples with SWI-Prolog. Also there is wide-world-importers which I just learned about and looks to have many transaction examples.
Related to this is the NoSQL database Neo4j from which I have learned a lot about SQL databases from their documentation, e.g.
Graph Databases for Beginners: ACID vs. BASE Explained
Neo4j’s Causal Clustering
Cypher transaction API
All of this could take some time so I will be stepping away from the Discourse self-hosting project while doing this. If these examples turn into something promising I will look at creating some Wiki topics for them.