Skip to content

v0.3.4 — g.ingest() text-to-graph ingestion

Choose a tag to compare

@gibbrdev gibbrdev released this 26 Feb 21:33
· 20 commits to main since this release

What's new

g.ingest() is live — extract entities and relationships from any text and write them directly to Neo4j.

from gibsgraph import Graph

g = Graph("bolt://localhost:7687", password="...", read_only=False)
g.ingest("Apple acquired Beats Electronics for $3 billion in 2014.", source="news")

Highlights

  • Free-form extraction — no schema required, works on any text
  • Entity resolution — prevents duplicates on repeated ingestion
  • All 4 LLM providers — OpenAI, Anthropic, Mistral, xAI/Grok
  • Jupyter-friendly — clear error message with nest_asyncio hint when running in notebooks
  • 12 new unit tests (244 total passing), mypy strict clean

Details

  • Uses neo4j-graphrag SimpleKGPipeline under the hood
  • Embeddings via OpenAI (text-embedding-3-small by default)
  • Entity counts computed via before/after delta on __Entity__ label
  • No new dependencies — neo4j-graphrag[all] was already in deps

Full Changelog: v0.3.3...v0.3.4

Full Changelog: v0.3.3...v0.3.4