Simple-graph

Data

graph database

SHOW HN2020

237points
42comments
#211of 3,028 in 2020
Top 7%of 2020 by points

How HN took it

CuriousMostly questions and neutral comments

4 positive, 11 neutral or asking, 0 mixed, 5 critical, out of 20 comments about the project. Thread score -0.01.

Performance: 2 for, 3 againstIdea: 2 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • SQLite is a strong choice for a lightweight graph store

    From 2 comments
    • Awesome! And you can write SQL queries on the data amazing SQLite is the best database.
      brian_herman on HN
    • I really like this, OP. I'm member of the clan "why are you creating your own XDR, just use sqlite!!" and have oft jumped to that in technical discussions, so appreciate it.…
      loxias on HN

Objections

  • WITH RECURSIVE queries are inefficient on DAGs and general graphs

    From 2 comments
    • The issue I found with WITH RECURSIVE queries is that they're incredibly inefficient for anything but trees. I've looked around and there doesn't seem to be any way to store a…
      abetlen on HN
    • > I'm pretty sure you could also maintain a temp table and use some kind of "insert...where...returning" construct to squeeze that into a recursive query. I'm not sure if this is…
      abetlen on HN
  • Text node ids may not scale past about a million nodes

    From 1 comment
    • It depends on how the graph is stored in the database. In this project the nodes ids are TEXT so it will likely not scale very well. I know because I use a similar implementation…
      tasogare on HN
  • Graph-on-relational may perform worse than native graph databases

    From 2 comments
    • IMO it’s a different question. SQLite and Postgres are both relational databases, it stands to reason that they’re at least doing things in similar ways. They’re two…
      afavour on HN
    • Isn't the whole point of graph databases that they can traverse graph edges efficiently by following pointers to nodes, which relational databases can't do? Then it seems a bit…
      roland_nilsson on HN
  • Shortest path and aggregation are not implemented

    From 1 comment
    • It really depends on what you want to do with it. I would benchmark the tasks "traversal", "aggregation" and "shortest past" for a 10k to 10M node graph. Anything under 10k would…
      batmansmk on HN

Requests

  • Benchmarks on graphs with more than a million edges

    From 1 comment
    • I really like this, OP. I'm member of the clan "why are you creating your own XDR, just use sqlite!!" and have oft jumped to that in technical discussions, so appreciate it.…
      loxias on HN
  • A graph query language such as Gremlin, Cypher or SPARQL

    From 2 comments
    • I think the big difference here is that when comparing SQLite you are at least using the same query language. In the graph space you have Gremlin, Cryper, GQL and many other…
      joelschw on HN
    • Performance issues are a very valid discussion. But to me, the availability of a graph-oriented query language on top of this graph variant of SQLite is, imho, the very first…
      lolive on HN
  • RDF and CSV import

    From 1 comment
    • Performance issues are a very valid discussion. But to me, the availability of a graph-oriented query language on top of this graph variant of SQLite is, imho, the very first…
      lolive on HN

Questions

  • How does performance compare to Neo4j?

    From 1 comment
    • How does this perform compared to a “native” graph database like Neo4J?
      bjornsing on HN
  • Are recursive queries efficient in SQLite even for trees?

    From 1 comment
    • I'm pretty sure you could also maintain a temp table and use some kind of "insert...where...returning" construct to squeeze that into a recursive query. At a moderate overhead…
      hansvm on HN

Alternatives named

  • Neo4j

    From 2 comments
    • How does this perform compared to a “native” graph database like Neo4J?
      bjornsing on HN
    • Neo4j has failed queries I have written, with "out of memory" errors. I have never, ever, ever gotten that from SQLite.
      lsb on HN
  • SQLite transitive closure extension

    From 1 comment
    • Tangentially related to graph dbs, but if you're looking for more hierarchical support, SQLite does has a transitive closure extension[0] that might be of some assistance. I…
      rekwah on HN
  • graphdb (CodyKochmann)

    From 1 comment
    • Similar project: https://github.com/CodyKochmann/graphdb
      ptrik on HN
  • rdflib-sqlalchemy

    From 1 comment
    • rdflib-sqlalchemy is a SQLAlchemy rdflib graph store backend: https://github.com/RDFLib/rdflib-sqlalchemy It also persists namespace mappings so that e.g. schema:Thing expands to…
      westurner on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/25544397)