🎓 Doc Freemo :jpf: 🇳🇱

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

🎓 Doc Freemo :jpf: 🇳🇱

I really REALLY love the look of the new site I just launched for my Goblin project.

goblin-ogm.com/

Its an Open-source :opensource: OGM (Object-Graph Mapper) for Python.

#Python #OGM #ORM #GraphDB #Tinkerpop #TP3 #TP #OSS #FLOSS

🎓 Doc Freemo :jpf: 🇳🇱

I just did my first release as the new project owner for Goblin! It's an open-source :opensource: OGM for Graph Databases that sits on top of Tinkerpop.

Check it out here:
git.qoto.org/goblin-ogm/goblin

#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS

🎓 Doc Freemo :jpf: 🇳🇱

So now that I took over the Goblin open-source :opensource: 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!

git.qoto.org/goblin-ogm/aiogre

github.com/goblin-ogm/aiogreml

#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS

prasoon

Is there some meta for understanding the introduction on #tinkerpop documentation?

🎓 Doc Freemo :jpf: 🇳🇱

Just did a release of version 3.3.1 of #Ferma.

Ferma is an :opensource: open-source ORM/OGM for Graph Databases written in Java.

Check it out here: git.qoto.org/Ferma/Ferma

#Ferma #GrapgDB #nosql #Gremlin #Tinkerpop #graphDatabase #GraphTheory

🎓 Doc Freemo :jpf: 🇳🇱

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