Happy Friday, everyone. I have used https://github.com/quoll/asami to explore working with some data as triples and a graph instead of in its current relational form (fact and dimension tables queried with SQL). This went well and the next step has been to model these data with RDF/RDFS and get it into a bigger graph db hosted in corporate data infra. I have used https://github.com/quoll/donatello to leverage the Clojure I have already written to extract triples to now create RDF triples and ultimately write it all out as a Turtle file. I'd like to be able to load such Turtle files and query it with SPARQL locally (i.e. all on my MacBook), to help make exploration and testing easier. Does anyone have recommendations on a lightweight way to have a local graph store that can ingest Turtle and supports SPARQL? I am aware of Jena, Stardog, GraphDB, RDF4J... Something like Python's https://rdflib.readthedocs.io/en/stable/ is what I'd love to have on Clojure side ("just" a library)... I am not sure it is important right now to be able to work with SPARQL via Clojure but that could be nice. I really just want to make sure I can load the Turtle I am generating and query it in useful ways before pushing updates into a bigger system. I'd appreciate hearing recommendations on how people are doing Clojure-based RDF development and testing. And a big shoutout to @quoll for making Asami, Donatello, Raphael, and Michelangelo. I don't think I have ever had so much enjoyment developing as I have had using Asami over the past few years and I wouldn't be able to enjoy using Clojure for this current work if it weren't for quoll's awesome work.
I tend to go for GraphDB
One day I would like Asami to be Clojure's rdflib, but I'm at university while also working, so it's hard to get time
That's a lot! I got my MS while working and I remember how hard that was. Best of luck pushing through.
Thanks. I've only done one semester so far, but my grades were good
You get a full single-processor version for freeβ¦ you just need to give them your email address, and they will write to you to see if they can sell you a commercial version π Not perfect, but the database is worth it
The other one to consider is Fluree
That's open source, and written in Clojure
I was already in the habit of using GraphDB, but I might have gone with Fluree if they'd had good SPARQL support back when I needed it. They've come a long way though
Thanks for the quick recommendations. I was not aware of Fluree and will check that out. It is not clear at first glance if there is a way to ingest Turtle...
There is. They use Raphael π
well⦠I think they are. Brian said that he was using it. I don't see it in deps.edn, but it could be in a module
Yeah I am digging through their docs now and looking for examples. Their docs say they don't support using SPARQL for transacting new data...
I was helping one of their devs with transitive property paths in SPARQL a few weeks ago
Of course!
I've consulted with them, so I keep following how they're doing
Their web page used to refer to Github, but I'm looking right now, and I don't see it (it might be there, but it's not apparent)
There's always Jena, but every time I've ever tried to use Jena I encounter limits with it. So I like GraphDB