top | item 1040292

Gremlin: A Graph-Based Programming Language

62 points| dood | 16 years ago |github.com | reply

11 comments

order
[+] blasdel|16 years ago|reply
Fuck Yes!

I have a quixotic project I've been tilting at off and on for 5 years now, where all the existing solutions make poor use of relational databases (usually SQLite), but the problem maps directly onto an EAV graph database. I was worried I'd have to write my own query metalanguage, but now I don't have to!

It's depressing how much the W3C salted the earth with the way they tied RDF to the twin loadstones of terrible XML tree serialization and SemWeb wankery. I couldn't find any way to get anything useful done with their SPARQL either.

EAV graph databases might have their day in the sun thanks to the NoSQL hype-wave. AppEngine's BigTable-backed datastore is a terrific exemplar, hopefully other players can come up with similarly compelling APIs and hosting stories.

[+] chancho|16 years ago|reply
Fuck Yes! quixotic relational databases (usually SQLite) EAV graph query metalanguage depressing W3C salted the earth RDF twin loadstones XML tree serialization SemWeb wankery SPARQL EAV graph databases NoSQL hype-wave AppEngine's BigTable-backed datastore exemplar APIs.

If I could send one message back 100 years in time, this would be it.

[+] andrewcooke|16 years ago|reply
you're aware of datalog etc? sounds like that would have been ok for your project (even 5 years ago).
[+] giardini|16 years ago|reply
Prolog may be easier to use. See the section on "Graphs" at

"P-99: Ninety-Nine Prolog Problems"

https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/

[+] blasdel|16 years ago|reply
The advantage to this is that it works as an ad-hoc query language for existing graph databases. I could use Gremlin to generate views of the data, and have other programs operating on database independently.

Prolog doesn't really play well with others -- it's effectively its own operating system like Smalltalk or Pick.

[+] stevejohnson|16 years ago|reply
A while back I looked to see if anyone had used XPath for graph traversal, since it seemed like a good fit. I'm working on a similar concept (but not that similar).

I didn't find this at the time, but now that I have, it looks like a great package. Thanks, submitter! This is probably what I'll be doing with my Friday night.

[+] bliss|16 years ago|reply
My thoughts exactly, if this does what it says on the tin, it will save me months!

This is definitely my Friday night! Now to get the source, what license is being used here....

Real hackers steal!

[+] hans|16 years ago|reply
Looks like there is no specific license yet ...