Swift is a safe and powerful programming language which gives us many powerful features, including enums, tuples, protocols, generics, functional programming and more!

Neo4j is a leading NoSQL graph database built in Java with a really interesting concept: Model data as graphs! When you sit down to model data, you probably start by making a graph. I have people, they ATTEND the try! Swift conference. The people KNOW other people. I’ve just described some nodes and the relationships between them!

Let's create SwiftGraph! SwiftGraph will be a fast, in-memory graph, modeled after Neo4j using pointers, protocols, and other features learned from sessions at the conference. Let’s:

  1. Make the graph safe and performant using the Unsafe APIs where necessary
  2. Take advantage of Swift’s functional programming to traverse and query the graph using Sequence and Collection
  3. Compare performance of querying a large dataset between the graph and CoreData.

This project aims to push the limits of Swift using many of its great features!

What it does

It builds an in-memory graph that can be traversed.

How I built it

Challenges I ran into

I ran into challenges architecting the graph, choosing whether or not to use protocols

Accomplishments that I'm proud of

What I learned

What's next for SwiftGraph

Built With

Share this project: