Neo Aims to Reorder the Business World with Graph Databases
(Page 3 of 3)
the database’s core code. Outside programmers contribute “at the fringes” but customers must pay Neo to embed Neo4j in their applications, Eifrem says.
At first, Eifrem thought the Neo4j graph database would have just four main uses. Social networking, where companies must track connections between people, was a no-brainer. So was geographical data, where locations can be stored as nodes and the routes between them can be represented as edges.
Third was network management, where people in operations centers must track millions of switches and routers and data pipes and continuously recalculate the most efficient path for data through the network, depending on which parts of the network are most congested.
Finally, there was master data management, the process big companies use to make sure they’re working from single, consistent set of data—Cisco, for example, chose Neo4j to represent its entire sales hierarchy, including all sales reps, whom they report to, and whom they’re trying to sell to.
But beyond those initial cases, Eifrem says customers are coming up with all sorts of uses he never foresaw, including fraud detection (fraudsters tend to have fewer legitimate connections in a social graph) and drug discovery in the pharmaceutical industry (where interactions between proteins, genes, and compounds that modify their expression can readily be represented as graphs).
Eifrem says the query language that Neo designed to go with Neo4j makes it easy for non-programmers to work with graph databases. In this language, called Cypher, relationships are represented in a user-friendly way that Eifrem compares to ASCII art. If person A loves person B, for example, the relationship would be notated in Cypher this way: (A)-[:Loves]->(B). “You’d never expect a CEO to write an SQL query, but with Cypher, if you can draw it on a whiteboard, you can make a query out of it,” says Adam Frankl, Neo’s vice president of marketing.
As Neo tries to grow, though, one of its big challenges is raising awareness—that is, getting CEOs and CIOs to realize that much of the data their companies own is inherently connective rather than atomic, and that a graph database might help them ask different types of questions about it.
“No one has to ask what a relational database is, but with a graph database not everyone knows what problems it solves,” Eifrem says. “A lot of people think it’s just for social data. But what we see is that it’s much more broadly applicable. It’s also for life sciences and media and the general market. We have, objectively, the most elegant and expressive mode [for storing connective data], and I can prove it with equations and shit, but we are not yet good enough at exposing that.”
On top of that, Eifrem says the 41-employee company is still working on making its product as easy to set up, populate, and use as other NoSQL databases.
“If you are a developer it is not as easy to use Neo4j today as it is to use MongoDB,” he says. “We have been very focused on making the model super-awesome in performance and robustness, and we have not been as focused on ease of use.” But Eifrem also says the company will be “100 percent focused on usability” in 2013, especially for Ruby, C#, and PHP developers.
Once businesses realize that they can do “completely new things” with graph databases, Eifrem thinks, there’s nothing stopping Neo from growing to the scale of previous database giants like Oracle.
“There is the opportunity to make it really big,” he says, with just a lingering touch of the young and arrogant programmer of 2003. “I’m talking about being one of the biggest, most profound companies of this decade. Because if you just exploit your atomic data, you are going to go out of business.”