jexp's comments

jexp | 1 year ago | on: What Is a Knowledge Graph?

Thanks for the praise for APOC-ML, happy that it's useful.

Did you see the two blog posts that Tomaz Bratanic did on the topic?

For the ingestion: https://neo4j.com/developer-blog/global-graphrag-neo4j-langc... For the retrievers: https://neo4j.com/developer-blog/microsoft-graphrag-neo4j/

My general point on GraphRAG is that it extracts and compresses the horizontal topic-clustering across many documents and makes that available for retrieval.

And that by creating the semantic network of entities, you can use patterns in the graph structure to answer questions that rely on information coming together from different documents. Think the detectives board connecting facts with strings from many different sources.

Feel free to ping me for a deeper discussion: michael at neo4j

jexp | 1 year ago | on: The Algorithm Behind Jim Simons's Success

RenTec was covered in much depth at the Acquired podcast. Basically algorithms from signal processing applied to huge volumes of historical and current data to determine buy and sell signals. Originally developed for national defense.

Very secretive all external partners were bought out. Only hundred or so people benefited in the billions per person. Including Robert Mercer of Trump campaign financing and Cambridge Analytica fame.

Very interesting but also disheartening episode about smart people only caring about getting richer.

https://www.acquired.fm/episodes/renaissance-technologies

jexp | 2 years ago | on: God writes Haskell

God wrote in Lisp, Bob Kanefsky performed by Julia Ecklar. My favorite song.

https://www.prometheus-music.com/audio/eternalflame.mp3

Refrain (full lyrics): http://www.songworm.com/lyrics/songworm-parody/EternalFlame....

For God wrote in Lisp code

When he filled the leaves with green.

The fractal flowers and recursive roots:

The most lovely hack I’ve seen.

And when I ponder snowflakes, never finding two the same,

I know God likes a language with its own four-letter name.

jexp | 2 years ago | on: Germany’s Nuclear Phase-Out Has Been a Disaster

The article is factually incorrect on many fronts. There were only 3 reactors running at last. Nuclear was never profitable, the country shouldered most of its costs (esp for radioactive waste storage)

The renewable energy transition was blocked and delayed by the same Merkel govt. Germany was once leading in wind and PV energy and all those industries were destroyed and almost 100k jobs lost. 60bn subsidies per year go to fossil fuel companies including coal mining and burning. Often under the disguise of job retention. All through industrial lobbying and strong unions in the fossil fuel industries.

jexp | 4 years ago | on: Generating JSON Directly from Postgres

I'm not impressed. Same in Neo4j's

MATCH (e:Employee) RETURN e { .* } as employee;

MATCH (e:Employee) RETURN collect(e { .* }) as employees;

MATCH (e:Employee)-[:IN]->(d:Department) WITH d, collect(e {.*}) as employees

jexp | 4 years ago | on: Neo4j raises $325M series F

Not sure if you saw our graphql integration, that takes typedefs and converts a graphql query into a single cypher query, which can then be executed directly. https://neo4j.com/product/graphql-library/ has links to docs and api scaffolding tools.

When I started back then in 2016 with it, it was pretty cool how directly graphql mapped to the graph model in the db.

jexp | 4 years ago | on: Neo4j raises $325M series F

That's what you can do in Neo pretty easily. The DS library offers a bunch (50+) algorithms to run on the graph data directly or projected, e.g. PR on 117M wikipedia links runs in 20s.

jexp | 5 years ago | on: Build your next app with a graph database

Not sure why, but the blog post in question (same URL), has been sneakily replaced with one replacing "graph database" with "GraphQL" in the title.

And changing the tagline on relational database from "Relational databases: a software engineering fail" to "Relational databases: engineering success is not always the best software engineering fit"

https://dgraph.io/blog/post/graphdb-for-your-next-app/

Fortunately internet archive still has the previous version, that the comments here were discussing. https://web.archive.org/web/20200709192510/https://dgraph.io...

jexp | 8 years ago | on: Ask HN: If you've used a graph database, would you use it again?

It runs authenticated enabled by default and uses https and also our binary (always-TLS) protocol.

Every database benefits from having the _hot_ dataset in memory, so that's the same with Neo4j.

2011 was many years ago, since then the memory management has been completely rewritten. You very probably wouldn't use the Neo4j Browser in production as it is meant to be a developer tool. Usually, you would build an app that uses the drivers to connect to the db.

jexp | 8 years ago | on: Ask HN: If you've used a graph database, would you use it again?

A graph database is similar, only it uses direct-record-ids for linking connected entities and not indexes. So instead of doing joins on indexes it follows record-pointers during graph traversals.

In the graph databases book (graphdatabases.com) there is a chapter on the internal architecture of Neo4j.

jexp | 8 years ago | on: Ask HN: If you've used a graph database, would you use it again?

Transaction isolation is a no-brainer, so I don't think your example holds. Also, your example is not related to the algebra but to isolation.

"Claiming ACID" what is ambiguous about that? Transaction support with different serialization levels, like other databases that offer it.

And Neo4j originally started b/c RDBMS was not able to execute the complex deep traversals needed in real time. Dedicated storage & query engine for graphs allow you to run statements quickly that would otherwise take too long to execute.

Regarding the data model, the property-graph model is much closer to the object model but with richer relationships, it doesn't suffer from the object-rdbms impedance mismatch and is better suited to express real-world domains & scenarios. It also represents semantic relevant relationships as first class citizens in the database, allowing for proper information representation and much faster retrieval.

Disclaimer: I work with/for Neo4j, for 8+ years and still love it.

page 1