Goblin OGM on top of TinkerPop 3.
Read more here:
https://jeffreyfreeman.me/projects/goblin/
#TinkerPop3 #Freemo
Anyone know if there is a good framework or something out there that implements a distributed Graph Database using Tinkerpop 3.x?
#Tinkerpop3 #Tinkerpop #GraphDB #Graphs #Graphtheory #Science
I just did my first release as the new project owner for Goblin! It's an open-source
OGM for Graph Databases that sits on top of Tinkerpop.
Check it out here:
https://git.qoto.org/goblin-ogm/goblin
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
Woot just released version 3.3.2 of aiogremlin, a open-source
Gremlin DSL for python.
https://pypi.org/project/aiogremlin/
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
So now that I took over the Goblin open-source
project I started cleaning up the README and other repo documentation. Its amazing how just a little bit of time and attention can make a project look significantly more professional. Logo only cost me 7 bucks too!
https://git.qoto.org/goblin-ogm/aiogremlin
https://github.com/goblin-ogm/aiogremlin
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
So Gremlin Python ( Tinkerpop 3 ) does not have transaction support. So only way to get transaction like behavior is to make sure you do everything in a single database traversal.
Because I am writing an ORM / OGM model as my base that means I needed to implement something that looks like optimistic locking all my own (only works on immutable write-only graphs). Its a huge pain in the ass.
Anyway after half a day I finally figured out this is the traversal I need to resolve my optimistic lock when creating a single new node in the DB:
session.g.E().has('dirty',1).aggregate('x').fold().V().has('dirty',1).aggregate('x').choose(__.V().hasLabel('account').has("fingerprint", "DEADF00D").hasNot('dirty').count().is_(0), __.select('x').unfold().properties('dirty').drop()).iterate()
#programming #coding #Tinkerpop #tinkerpop3 #graphdb #graphtheory #python #gremlin