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:
- Make the graph safe and performant using the Unsafe APIs where necessary
- Take advantage of Swift’s functional programming to traverse and query the graph using Sequence and Collection
- 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