You can install and run Neo4j Community Edition for free locally, or on a linux server. It's GPLv3 open source, so you can use it commercially. There are some contraints to the community edition, like no clustering, and no more than 34 million nodes, but it'll be hard to need those features until you're big. If it turns out you do need Enterprise, they have a startup plan (I think it's free too) for companies with less than 50 employees: neo4j.com/startup-program.
What you're really choosing between is price, language, and support:
PRICE
- Neptune: At least $1000 a year, though you'll likely be spending closer to $5000 a year when you're live.
- Neo4j Community: Free for commercial use.
- Neo4j Enterprise: (free?) for small companies. $35,000? one-time license fee for big companies.
Support
- Neo4j: Large active community, both on their forums and in stackoverflow. It's easy to find and direct-message people building and working on the engine.
- Amazon: ...well, it's Amazon.
Language
To compare the languages, I'll give a sample for getting a node by label "person" who's name property is "Bob", finding "children" nodes, and returning the email property from the children as a list.
Neptune Gremlin
g.V().hasLabel("person").has("name","Bob")
in("children").hasLabel("student").values("email")
Neptune SPARQL
I don't have a clue, it's so esoteric with no user-friendly documentation or guides.
Neo4j Cypher
MATCH ( :person {name: "Bob"})<-[:children]-(x :student)
RETURN x.email