Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
graphdb
sqlite based graph database for storing native python objects and their relationships to each other
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
https://github.com/RDFLib/rdflib-sqlalchemy
It also persists namespace mappings so that e.g. schema:Thing expands to http://schema.org/Thing
The table schema and indices are defined in rdflib_sqlalchemy/tables.py:
Interesting. SQLite is awesome.
I did something similar recently, a block store for a rust implementation of ipfs, which models a directed acyclic graph of content-addressed nodes.
https://github.com/actyx/ipfs-sqlite-block-store
I found that performance is pretty decent if you do almost everything inside SQLite using WITH RECURSIVE.
The documentation has some really great examples for WITH RECURSIVE. https://sqlite.org/lang_with.html
Similar project: https://github.com/CodyKochmann/graphdb
Why not add that functionality directly to SQLite via stored procs*
*https://github.com/wolfch/sqlite-3.7.3.p1
I've actually been working on an extension to perform breadth first search queries in SQLite on general graphs [0]. The extension is actually based off of the transitive closure extension. You can use it on any existing SQLite database as long as you can wrangle your edges into either a real or virtual table and the node ids are integers (I'm planning on removing this constraint in the future).
[0]: https://github.com/abetlen/sqlite3-bfsvtab-ext
To some extent I think it depends on what data you're storing in the graph ie. If it's temporal data using a ulid instead of a guid speeds things up significantly (30x for large data) as your ids are not as fragmented.
https://github.com/schinckel/ulid-postgres/blob/master/ulid....
Related posts
- Amino – The Public IPFS DHT Is Getting a Facelift
- Gomobile-ipfs: Packages for Android, iOS and React-Native that allow one to run and use an IPFS node on mobile devices
- Social Media on the Decentralized Web
- Generating a CID on the frontend, and then passing the files to the backend to be pinned.
- Does anyone else believe FIL will make them lot of money