Show HN: GraFlo - Universal ETL tool for property KG (Neo4j, TigerGraph, Arango)

5 pointsposted 7 hours ago
by acrostoic

3 Comments

syats

5 hours ago

Cool! These are indeed very common graph-building steps.

Thinking outloud here, but some of these were supposed to be solved with RML (https://rml.io/) for the RDF paradigm. I witnessed a bit of their evolution: it started with similar operations as GraFlo and eventually they built some support for arbitrary java code. For example, say you want your node ID to be generated by concatenating the values of the firstName column and the lastName column, but only after some weird string normalization (think of making sure everything is utf8)... you woundn't want to make your schema-mappings Turing-complete, so you'd eventually have to allow for calling other functions. Any way, all of that was for RDF graphs, it's cool to see something like this for property graphs.

x0xa

7 hours ago

Are there any tools for data migration when swapping database engines? Thanks.

acrostoic

6 hours ago

Not directly - GraFlo is for the ingestion side, not migration. Migration between different property graph DBs isn't trivial (and sometimes not even possible) because they're organized in fundamentally different ways. Some are much more flexible with uniqueness constraints, indexes, or how they handle certain graph patterns.

But the nice thing is: if you have your source data and GraFlo schema, regenerating your graph in a different DB is trivial. GraFlo handles indexes and constraints for each target database. It's like having the recipe instead of trying to reverse-engineer the cake.