Skip to content


Repository files navigation


Aspen is a simple markup language that transforms simple narrative information into rich graph data for use in Neo4j.

To put it another way, Aspen transforms narrative text to Cypher, specifically for use in creating graph data.

In short, Aspen transforms this:

(Liz) [knows] (Jack)

into (roughly) this

MERGE (:Entity { name: "Liz" })-[:KNOWS]->(:Entity { name: "Jack" })

and can push it to a Neo4j database.

Want Liz and Jack to be nodes with a :Person label? Just add a little config.

  label: Person
(Liz) [knows] (Jack)
MERGE (:Person { name: "Liz" })-[:KNOWS]->(:Person { name: "Jack" })


$ gem install aspen-cli

Start a new project:

$ aspen new your_project_name_here


Quickstart Guide

Full documentation in the Wiki

Why use Aspen?

You need to turn notes and narratives into a network diagram or graph data.

You may also want to connect that data to other data, maybe graph data, maybe tabular data.

For what you want:

  • Spreadsheets are too rigid,
  • Machine learning and Natural Language Processing (NLP) are out of reach, and
  • You're ok using command-line tools for now (we hope to offer a GUI soon)

Code of Conduct

We expect that anyone working on this project will be good and kind to each other. We're developing software about relationships, and anyone who works on this project is expected to have healthy relating skills.

Everyone interacting in the Aspen project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.


Bug reports and pull requests are welcome on GitHub at This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

If you'd like to see Aspen grow, please get in touch, whether you're a developer, user, or potential sponsor. We have ideas on ways to grow Aspen, and we need your help to do so, whatever form that help takes.


The gem is available as open source under the terms of the MIT License.


Aspen is a markup language for turning text into graph data (via Cypher for Neo4j).




Code of conduct





No releases published

Sponsor this project



No packages published