Developer Guides Getting Started Getting Started What is a Graph Database? Intro to Graph DBs Video Series Concepts: RDBMS to Graph Concepts: NoSQL to Graph Getting Started Resources Neo4j Graph Platform Graph Platform Overview Neo4j Desktop Intro Neo4j Browser Intro… Read more →
Using Neo4j from Swift
If you are an iOS, macOS or Linux developer using Swift, this guide provides instructions for how to use the Theo framework to interact with Neo4j.
You should be familiar with graph database concepts and the property graph model. You should have installed Neo4j and made yourself familiar with our Cypher query language.
Members of the each programming language community have invested a lot of time and love to develop each one of the community drivers for Neo4j, so if you use any one of them, please provide feedback to the authors.
|The community drivers have been graciously contributed by the Neo4j community. Many of them are fully featured and well-maintained, but some may not be. Neo4j does not take any responsibility for their usability.|
Swift is a great language for writing iOS and macOS apps, and with the introduction of Swift 3.0, it has become a great language for writing server side applications as well. All of which are excellent places to use Neo4j.
Theo, the Swift framework for interfacing Neo4j, is now available in it’s version 3.0.
With this version, Theo gets full support for Swift 3, Linux support, and better integration with popular package managers. This on top of features you already expect, like CRUD operations for nodes and relationships, cypher support and transaction support.
Apart from reading the detailed instructions, you can take a look at our example project for how to use Theo in your iOS project.
Theo is available for iOS, macOS and Linux, using package managers such as the Swift Package Manager, CocoaPods and Carthage, as well as a git submodule, regardless if your app is written in Objective-C or Swift.
You can also easily integrate it in server side swift project on macOS or Linux as a git submodule or the Swift Package Manager. If you are new to server side swift development, we recommend you try Theo out together with Vapor. Other suggested web frameworks you can integrate Theo with are Kitura and Perfect.
Theo has been available since Swift 1.2, and has followed the Swift versions since then. For the future we also plan to stay on top of the latest Swift versions. Theo interfaces Neo4j via the REST protocol, support for Bolt is absolutely a priority on our roadmap ahead.
We look forward to hearing what you create using Theo and Neo4j. Feel free to ask any developer questions on the Neo4j Online Community.
After installing Theo in your project, you are ready to
Then you can instantiate your client like so
create a node
fetch a node
do a cypher query
or a transaction
As you can see, it is very much how you would expect Swift code to read, and it integrates with Neo4j very much how you would expect a Neo4j integration to be. So no hard learning curves, meaning you can start being productive right away.