Need advice about which tool to choose?Ask the StackShare community!

Cayley

25
73
+ 1
7
Neo4j

1.2K
1.4K
+ 1
352
Add tool

Cayley vs Neo4j: What are the differences?

Introduction:

Cayley and Neo4j are both widely used graph databases that offer efficient ways to store and query graph data. Despite sharing the same fundamental concept, there are key differences between the two platforms that can influence the choice of database for a specific use case.

  1. Data Model: Cayley utilizes a flexible data model that allows users to define schemas and relationships using a variety of graph types, including directed, undirected, and mixed graphs. In contrast, Neo4j follows a strict property graph model, which consists of nodes, relationships, and properties attached to both nodes and relationships.

  2. Query Language: Neo4j uses Cypher, a declarative query language specifically designed for graph databases, which offers a user-friendly syntax for querying and manipulating graph data. On the other hand, Cayley supports multiple query languages, including Gremlin, a powerful graph traversal language, allowing users to choose the most suitable language for their specific requirements.

  3. Scalability: Neo4j is known for its scalability features, offering high availability clustering configurations that enable horizontal scaling for handling large volumes of graph data. Cayley, while capable of scaling horizontally through distributed graph processing, may require additional configuration and customization for achieving similar scalability levels as Neo4j.

  4. Community Support: Neo4j has a large, active community of users and contributors, providing extensive documentation, tutorials, and support resources for developers. Cayley, being a relatively newer platform, has a smaller community base, which may affect the availability of resources and community-driven plugins compared to Neo4j.

  5. Licensing Model: Neo4j follows a dual licensing model, offering both open-source and commercial editions, providing users with the flexibility to choose a suitable license based on their project requirements. In contrast, Cayley is predominantly open-source, which may limit certain features and support available in enterprise settings, where commercial licenses with additional features and support are preferred.

  6. Integration Ecosystem: Neo4j offers robust integration capabilities with popular programming languages, frameworks, and tools, making it easier to incorporate graph database functionality into existing applications. Cayley, although supporting multiple backends and external storage providers, may require additional development effort for seamless integration with specific technologies compared to Neo4j's extensive ecosystem.

In Summary, Cayley and Neo4j differ in data modeling flexibility, query languages, scalability, community support, licensing models, and integration ecosystems, influencing the choice of graph database platform for different use cases.

Advice on Cayley and Neo4j
Jaime Ramos
Needs advice
on
ArangoDBArangoDBDgraphDgraph
and
Neo4jNeo4j

Hi, I want to create a social network for students, and I was wondering which of these three Oriented Graph DB's would you recommend. I plan to implement machine learning algorithms such as k-means and others to give recommendations and some basic data analyses; also, everything is going to be hosted in the cloud, so I expect the DB to be hosted there. I want the queries to be as fast as possible, and I like good tools to monitor my data. I would appreciate any recommendations or thoughts.

Context:

I released the MVP 6 months ago and got almost 600 users just from my university in Colombia, But now I want to expand it all over my country. I am expecting more or less 20000 users.

See more
Replies (3)
Recommends
on
ArangoDBArangoDB

I have not used the others but I agree, ArangoDB should meet your needs. If you have worked with RDBMS and SQL before Arango will be a easy transition. AQL is simple yet powerful and deployment can be as small or large as you need. I love the fact that for my local development I can run it as docker container as part of my project and for production I can have multiple machines in a cluster. The project is also under active development and with the latest round of funding I feel comfortable that it will be around a while.

See more
David López Felguera
Full Stack Developer at NPAW · | 5 upvotes · 48.7K views
Recommends
on
ArangoDBArangoDB

Hi Jaime. I've worked with Neo4j and ArangoDB for a few years and for me, I prefer to use ArangoDB because its query sintax (AQL) is easier. I've built a network topology with both databases and now ArangoDB is the databases for that network topology. Also, ArangoDB has ArangoML that maybe can help you with your recommendation algorithims.

See more
Recommends
on
ArangoDBArangoDB

Hi Jaime, I work with Arango for about 3 years quite a lot. Before I do some investigation and choose ArangoDB against Neo4j due to multi-type DB, speed, and also clustering (but we do not use it now). Now we have RMDB and Graph working together. As others said, AQL is quite easy, but u can use some of the drivers like Java Spring, that get you to another level.. If you prefer more copy-paste with little rework, perhaps Neo4j can do the job for you, because there is a bigger community around it.. But I have to solve some issues with the ArangoDB community and its also fast. So I will preffere ArangoDB... Btw, there is a super easy Foxx Microservice tool on Arango that can help you solve basic things faster than write down robust BackEnd.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Cayley
Pros of Neo4j
  • 7
    Full open source
  • 70
    Cypher – graph query language
  • 61
    Great graphdb
  • 33
    Open source
  • 31
    Rest api
  • 27
    High-Performance Native API
  • 23
    ACID
  • 21
    Easy setup
  • 17
    Great support
  • 11
    Clustering
  • 9
    Hot Backups
  • 8
    Great Web Admin UI
  • 7
    Powerful, flexible data model
  • 7
    Mature
  • 6
    Embeddable
  • 5
    Easy to Use and Model
  • 4
    Best Graphdb
  • 4
    Highly-available
  • 2
    It's awesome, I wanted to try it
  • 2
    Great onboarding process
  • 2
    Great query language and built in data browser
  • 2
    Used by Crunchbase

Sign up to add or upvote prosMake informed product decisions

Cons of Cayley
Cons of Neo4j
    Be the first to leave a con
    • 9
      Comparably slow
    • 4
      Can't store a vertex as JSON
    • 1
      Doesn't have a managed cloud service at low cost

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Cayley?

    Cayley is an open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph. Its goal is to be a part of the developer's toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.

    What is Neo4j?

    Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Cayley?
    What companies use Neo4j?
      No companies found
      See which teams inside your own company are using Cayley or Neo4j.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Cayley?
      What tools integrate with Neo4j?
        No integrations found

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        What are some alternatives to Cayley and Neo4j?
        Titan
        Titan is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
        Dgraph
        Dgraph's goal is to provide Google production level scale and throughput, with low enough latency to be serving real time user queries, over terabytes of structured data. Dgraph supports GraphQL-like query syntax, and responds in JSON and Protocol Buffers over GRPC and HTTP.
        JanusGraph
        It is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. It is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
        ArangoDB
        A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
        MongoDB
        MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
        See all alternatives