March 2016 Summaries
22 posts from Neo4j
Filter
Month:
Year:
Post Summaries
Back to Blog
Neo4j is a graph database that stores data in a logical and intuitive manner, prioritizing representations, discoverability, and maintainability of data relationships. It meets the top three goals developers look for when evaluating databases: intuitiveness, speed, and agility. With Neo4j, businesses can make better and faster decisions, perform complex business logic, and adapt to changes quickly, thanks to its declarative query language Cypher and real-time processing capabilities. The database is being used by major companies such as eBay, Telenor, Cisco, adidas, and Walmart, and has led to a surge in demand for professionals with Neo4j skills, prompting Edureka to launch an online course that covers the technology in detail.
Mar 31, 2016
914 words in the original blog post.
Neo4j was created to provide a better way to work with data by focusing on relationships rather than just storing and retrieving data. The first version of Neo4j was developed by Emil, who wanted to find a better approach than the hierarchical model he used in his previous experience. Neo4j's purpose is to simplify the understanding of structured data and enable fast traversals. The best practices for using Neo4j include using a rich data model, Cypher carefully, avoiding Cartesian products, large result sets that build up memory, and checking indexes and labels. It's also important to use separate queries, tune server configuration, get a cluster running, pick an awesome driver, and have a relationship with the Neo4j team. By following these tips, developers can effectively work with data using graph databases like Neo4j.
Mar 30, 2016
2,319 words in the original blog post.
Neo4j has been ranked in the top 20 database management systems by DB-Engines for the first time, marking a milestone validation of graph databases. The company's journey began when its founders were working on an enterprise content management system and struggled with the limitations of relational databases like Informix, which couldn't handle connected data queries. They then created a new kind of database optimized for connected data: the graph database. Fifteen years later, Neo4j is now in the top 20 globally, with its previous version Informix holding the same position. This achievement underscores the growing adoption and success of graph databases in various industries.
Mar 29, 2016
540 words in the original blog post.
We will extend the legis-graph dataset by adding US Congressional districts to the graph, utilizing neo4j-spatial to index the geometries of these districts. We will then connect Neo4j to Mapbox, a mapping framework, to create an interactive geographical visualization in the browser. This extension allows for powerful graph traversal queries to answer questions like "What are the topics of bills certain legislators are sponsoring?" and "Who is the most influential Senator in Congress with influence over certain topics?". The dataset models US Congress as a graph, enabling the transformation of the data model easily as requirements change. By indexing nodes that contain vector geometries specified as properties on the nodes, we can query the spatial component of the data using an HTTP request to the REST API exposed by the neo4j-spatial plugin. This enables the creation of an interactive map interface that allows users to query legis-graph based on spatial geometries and visualize the results as part of the map. The extension also integrates with Mapbox, allowing users to click on the map to find the closest Congressional district and query legis-graph for information about that legislator, including the Committees on which they serve and the topics of bills referred to those committees.
Mar 28, 2016
1,650 words in the original blog post.
The conversation revolves around Lauren Winter's experience using Neo4j for a simulation game project, SimYou, which aims to simulate human memories and relationships. She praises Neo4j for its ease of use, professionalism, and flexibility in handling complex data structures. The database's graph nature allows her team to model the concept of things that shape human understanding, such as bicycles, in a unique way. Lauren notes that Neo4j's capabilities are often overlooked by other developers who prefer relational databases or have not explored its full potential. She expresses her excitement about the project and its potential to revolutionize the way we understand human relationships and emotions.
Mar 25, 2016
1,244 words in the original blog post.
Cypher is a graph query language used in Neo4j, allowing users to write complex queries with an order-of-magnitude less code than SQL. By using Cypher, users can reduce the impedance mismatch between conceptual and physical models of their database, making it easier for non-technical users to understand and work with queries. Cypher is particularly useful for teams operating in an agile environment, enabling them to start small and evolve their model over time without undertaking a painful schema migration. Mark Needham, a graph advocate and field engineer for the Neo4j team, will lead a live webinar on April 7th to introduce SQL developers to Cypher and show how it can be used to model datasets, import data, query data, and evolve models as data changes.
Mar 24, 2016
407 words in the original blog post.
The history of computing has led to our current graph world, with Warren Weaver's essay in 1948 describing three epochs: simplicity, disorganized complexity, and organized complexity. The latter is characterized by understanding both elements and their interactions within a system. Graphs, which represent attributes and relationships, are a perfect representation of this concept. The text showcases various graphs, including network analysis visualizations, to demonstrate the power of graphing passions. It also explores how graphs can be used in space travel, with calculations showing that traveling 12 light years is necessary for our stellar neighborhood to open up. The navigational pathways of stellar travel are then discussed, with a 3D visualization created using NAViGaTOR tool, allowing for the shortest path to be determined using Dijkstra's algorithm.
Mar 23, 2016
2,157 words in the original blog post.
The author of this article is a software engineer who co-founded devRant, a community platform for developers. The author explains how they chose Neo4j as their primary and only data store due to its scalability, flexibility, and performance. They describe the challenges of using relational databases in this context, such as scalability issues with votes on rants and comments. In contrast, Neo4j's graph database structure allows for rapid development, efficient querying, and scalability. The author highlights the benefits of using a graph database in rapidly growing technical startups, including flexibility for new features and queryable analytics. They also demonstrate how Neo4j can be used to create complex algorithms surrounding their data, such as collaborative filtering for content feeds. Overall, the article showcases the advantages of using Neo4j for building scalable and flexible applications.
Mar 22, 2016
1,087 words in the original blog post.
The Neo4j Browser is a familiar and comfortable way to interact directly with your new graph database, allowing you to connect to the database via `localhost:7474`. To access Neo4j programmatically, you can use the REST API or language drivers for your programming language of choice. The Neo4j-JDBC driver supports JDBC APIs, while Spring Data Neo4j provides fast and comprehensive object graph mapping, along with support for Spring conversions, transaction handling, and more. Leveraging connected data relationships are where graph databases shine, capturing rich relationship information in a way relational databases never can, and allowing businesses to match changes in their database schema with the speed of business agility.
Mar 21, 2016
1,187 words in the original blog post.
The author of the post is motivated to re-imagine BeachBody's fitness programs and nutritional supplements as a graph database, aiming to provide personalized recommendations based on user personas. The author has created several user personas and analyzed publicly available data from BeachBody's website to understand the relationships between different concepts such as fitness programs, nutritional supplements, gear, and community. The main ideas that would allow for making recommendations were workout goals, eating goals, muscle groups, body areas, workout types, and supplement types. The author has unified these concepts into a real-time recommendation engine by creating consumer-centric data points and relationships connecting to the nodes representing these concepts. The goal is to provide personalized fitness program and nutritional supplement recommendations that align with the user's specific needs and goals.
Mar 17, 2016
654 words in the original blog post.
Anders Nawroth was a quiet but caring colleague who passed away after a battle with cancer, leaving behind a legacy of his loving work on Neo4j's documentation and examples. He was an employee #4 at Neo Technology, which now has over 120 employees, and cared deeply about the company's mission of helping people make sense of data. Despite being introverted, he made a significant impact on those who knew him through his fine humor, wisdom, and contributions to the open source community. His legacy lives on in the daily use of Neo4j's documentation, GraphGists, and DocGists, which he enabled by contributing to these projects. Those who worked with him remembered him as an inspiration and a kind friend, who always tried to make the best of his circumstances despite chronic illnesses. The company is mourning the loss of a beloved colleague and family member, but his memory will continue to inspire those who knew him.
Mar 16, 2016
567 words in the original blog post.
The GraphGist community came together to document and explain various types of data modeling in a graph using the GraphGist tool. The community submitted dozens of entries, and after evaluating them, the winners were announced. The grand prize winner received a $500 Amazon gift certificate and a ticket to the GraphConnect conference, while category winners each got a $250 Amazon gift certificate and a conference ticket. The submissions showcased diverse use cases for graph data modeling, including pop culture, sports, and public web APIs. The community's hard work was recognized by judges Kevin Van Gundy, Nicole White, William Lyon, Jonatan Jäderberg, and Luanne Misquitta, who helped evaluate the entries.
Mar 15, 2016
247 words in the original blog post.
You can import data from a relational database into a graph database using various strategies, including abandoning the relational database and migrating all data to the graph database, continuing to use the relational database for certain use cases while storing related data in a graph database, or duplicating data in both databases. The process typically involves extracting data from the relational database, such as by dumping tables or accessing them with a database driver, and then importing it into the graph database using tools like Neo4j's LOAD CSV command or the neo4j-import command-line bulk loader. These methods allow for flexible and efficient data import processes, enabling developers to choose the best strategy for their application goals and use cases.
Mar 14, 2016
1,560 words in the original blog post.
Rachel Lader, a software developer, worked on a project called Clippr that aimed to revolutionize how people interact with their favorite websites. The project used Neo4j, a graph database, to create a system that could automatically categorize bookmarks, provide suggestions based on keywords extracted from the content, and offer visual snapshots of the bookmarked website. Neo4j's ability to define relationships between nodes and add properties to those relationships was particularly valuable for the project. The developer found that learning Cypher, Neo4j's query language, allowed them to write queries in a single line, which greatly simplified their work. They also appreciated the flexibility of Neo4j's schema, which could be easily changed or updated as needed. However, they did encounter some challenges, such as dealing with relationships between nodes that made it difficult to delete certain nodes. Despite this, the developer found Neo4j to be a powerful tool that was easy to pick up and use, especially when paired with an ORM like Seraph.
Mar 11, 2016
1,083 words in the original blog post.
Discovery, especially non-text discovery, is challenging. When looking for new music or guided meditation tracks, users might not know exactly what they want, but can identify a general preference for a particular style or theme. Clean, user-generated tags can improve discoverability on websites like SoundCloud. However, free-form tags may degrade discoverability due to misspelled words or personal tags. The ConceptNet5 dataset provides a solution by helping users select and search by relevant tags in multiple languages. This dataset is used in conjunction with the SoundCloud API to recommend tags for user-generated items, improving discoverability and user experience. By leveraging graph databases like Neo4j, developers can create powerful recommendation systems that utilize relationships between concepts and tags to suggest relevant content to users.
Mar 10, 2016
887 words in the original blog post.
Neo4j is a graph database optimized for online transaction processing (OLTP) and intended as a primary database. It's being used by customers and open-source users for graph compute and analytics, despite not being built specifically for these purposes. There are two types of graph compute: subgraph queries and global algorithms. Subgraph queries involve traversing the graph from an anchor node to a specific subset of nodes, while global algorithms perform more complex operations on the entire graph. Neo4j includes algorithms for subgraph traversal, but not for global algorithms, which can be performed using extensions such as Graph Processing or Mazerunner. These extensions enable real-time queries and processing of large datasets, but may have limitations due to computational performance challenges. Mazerunner is an open-source tool that uses Spark for graph processing, while the Neo4j Graph Analysis extension allows for direct execution of algorithms within Neo4j, potentially offering faster results for smaller datasets.
Mar 09, 2016
2,074 words in the original blog post.
The Neo4j community has been actively sharing its knowledge and experiences through various content formats, including articles, podcasts, slides, and projects. The community's growth is evident in the increasing number of nodes in the graph representing community members. To be featured in the "From the Community" blog post, individuals can follow the Neo4j Twitter account and use the #Neo4j hashtag. The community has also showcased a wide range of projects, including GraphGists, libraries, and code repositories, which demonstrate its diversity and creativity. Additionally, the community is organizing events, such as GraphConnect Europe, where members can meet in person to network and learn from each other's experiences.
Mar 08, 2016
567 words in the original blog post.
The text discusses the limitations of SQL when dealing with complex, relationship-oriented queries and introduces Cypher as a graph query language that can efficiently handle such queries. It highlights the key differences between SQL and Cypher, including syntax, data modeling, and performance. The comparison shows that Cypher is more concise and efficient than SQL for querying connected data, reducing errors and improving application performance. The text concludes that for domains with highly connected data, a graph model and query language like Cypher are necessary, making it easier for developers from an SQL background to learn and execute Cypher queries.
Mar 07, 2016
2,204 words in the original blog post.
Matthias Sieber, a senior software engineer at MediaHound, shared his experience with Neo4j in a 5-minute interview. He first discovered Neo4j while teaching boot camp students about music discovery and recommendations services, and it eventually became the database of choice for his most recent project, a business-to-business marketplace. The company used Neo4j to store product data bound to manufacturers, allowing distributors to set prices and lead times. Matthias chose Neo4j over other options because of its ease of use and compatibility with hapi.js and Angular.js frameworks. He found that Neo4j's graph database structure was well-suited for modeling connected data, making it easier to implement features like "users who bought this item also bought these items." Matthias believes that a better understanding of Neo4j would have led him to use it more often in his previous projects, and he has been impressed by the ease of use of the database. He also praised the Neo4j team's interactions with the community, citing their responsiveness to his tweet.
Mar 04, 2016
842 words in the original blog post.
Relational databases, while still a foundation of many modern mission-critical applications, face shortcomings in handling large volumes of data with relevant connections. Graph databases, considered the next generation of relational databases, offer a competitive advantage by inherently storing and modeling data relationships, eliminating complex queries and performance degradation. These databases provide minutes-to-milliseconds performance, drastically accelerated development cycles, and extreme business responsiveness, making them an attractive option for enterprises looking to shift away from traditional relational databases.
Mar 03, 2016
470 words in the original blog post.
Trace One, an enterprise software company, aims to solve food safety issues and lack of consumer trust in the food supply chain by using Neo4j, a graph database. The current system's limitations, including SQL's inability to handle complex queries due to varying levels of ingredients and suppliers, are addressed by Neo4j's ability to model complex relationships and scale well for large datasets. Transparency-One, their solution, provides a private workspace for each member of the supply chain to publish information, allowing companies to share data with customers and invite suppliers while keeping it private. The system also continuously checks for data freshness and improves trust drivers by embedding quality processes and standards into the solution. By addressing these issues, Trace One aims to create a healthier and safer food supply chain, increasing consumer trust and meeting their needs.
Mar 02, 2016
2,114 words in the original blog post.
The author, who spends a lot of their free time answering Stack Overflow questions about Cypher, Neo4j's graph query language, discusses common gotchas and mistakes they see in queries. They explain the difference between using `LIMIT` and `collect()[..x]`, providing examples to illustrate this distinction. The author also delves into the usage of the `MERGE` keyword, which can lead to unexpected behavior due to uniqueness constraints, and provides guidance on how to use it correctly. Additionally, they address common misconceptions about the `WITH` clause, including automatic grouping by variables and unbound variables. Finally, the author emphasizes the importance of practicing Cypher writing and suggests resources for further learning and improvement.
Mar 01, 2016
2,018 words in the original blog post.