Home / Companies / Neo4j / Blog / July 2015

July 2015 Summaries

19 posts from Neo4j

Filter
Month: Year:
Post Summaries Back to Blog
The author of this text is a developer who created a graph database model using Neo4j to analyze data from the Packagist package repository for PHP. The dataset consists of over 60,000 packages and nearly 20,000 maintainers, which was collected by making HTTP calls to the Packagist site and retrieving JSON data. The author used three node labels: Package, Maintainer, and Version, with relationships between them such as HAS_VERSION, MAINTAINED_BY, REQUIRES, and REQUIRES_DEV. The graph database model allowed the author to discover interesting patterns and connections in the data, including what packages get required by other packages, what maintainers have the most packages, and what maintainers work together on packages. The author found that certain well-known open source component libraries are frequently required, and some maintainers who may not be high-profile individuals make significant contributions to the community.
Jul 30, 2015 652 words in the original blog post.
Neo4j's query language Cypher can be used to load data from CSV directly, but not from JSON files or URLs. However, with the help of user-defined procedures like `apoc.load.json`, it is possible to ingest document-structured information from APIs and other sources into a more usable graph model. This can be achieved by retrieving data from APIs that return JSON responses, such as Stack Overflow's API, and then using Cypher queries to deconstruct and insert the data into Neo4j. The process involves creating a graph model, building a Cypher query to import the data, and executing it on the Neo4j server or embedded API. Different programming languages like Python, JavaScript, Ruby, Java, and Bash can be used to call the transactional Cypher endpoint directly, allowing developers to easily access web-APIs and transform their data into a graph structure without duplication of information and rich relationships.
Jul 29, 2015 1,601 words in the original blog post.
You can connect your social media accounts with Neo4j to visualize your social data as an interactive graph. To start, access your Facebook data using the Graph API Explorer and generate an access token. Then, set up a new asp.net website in Visual Studio, add necessary namespaces, and create a connection to Neo4j. Next, write Cypher queries to display a graph of users and their liked categories as nodes and relationships between them. Finally, run your application, initialize the graph, and explore your social data by clicking on nodes in Neo4j. This allows you to visualize the relationships between your liked pages or Twitter history, providing an interactive experience with more related information upon click.
Jul 28, 2015 452 words in the original blog post.
The performance of relational database applications is becoming slower due to rapid growth in data volume, velocity, and variety, as well as increasing complexity and interconnectedness. Relational databases were designed for tabular data with a consistent structure, but struggle to handle data relationships and are inflexible when it comes to changes in schema or business requirements. The five surest signs that it's time to give up on relational databases include a large number of JOINs, self-JOINs, frequent schema changes, slow-running queries despite tuning, and pre-computing results, which can lead to inefficiencies and hinder data-driven insights. In contrast, graph databases are purpose-built to store highly connected data, adapt to changing schemas, and capture real-time insights from data relationships, making them a more suitable solution for handling today's complex data landscape.
Jul 27, 2015 727 words in the original blog post.
The Jersey Client API is used to utilize the REST API from Java when authentication is required, allowing developers to create a WebTarget instance that can derive other web targets. A Client instance is first built using one of the static ClientBuilder factory methods, and then a WebTarget is created from it. The URI passed to the method as a String represents the targeted web resource's context root, enabling the derivation of other web targets by appending paths to it.
Jul 23, 2015 289 words in the original blog post.
The Neo4j team has released a semi-official beta Docker image for their graph database, which can be used to run Neo4j in a containerized environment. The image is based on the Ubuntu and Java 8 images and includes the latest stable version of Neo4j. It can be built from scratch using the provided Dockerfile or pulled directly from Docker Hub. The image exposes ports for HTTP, HTTPS, and shell connections, and allows users to mount their own data directory. Authentication is required for Neo4j 2.2.x versions, and users can disable authentication by setting an environment variable. The image is intended as a community resource and may not come with official support or guarantees.
Jul 22, 2015 723 words in the original blog post.
Graph databases, such as Neo4j, are well-suited for capturing and modeling complex relations in life sciences, particularly in entangled problems like heart failure. The HOMAGE consortium is using graph databases to organize patient information in context of biomedical knowledge, helping clinical researchers grasp the mechanisms driving heart failure and ultimately leading to improved patient care. Integrating data and knowledge involves modeling an incomplete and ever-changing model of how our bodies work and what we know about it, which poses practical and conceptual challenges due to ambiguous labels and redundant ontologies. Graph databases help address these challenges by providing a flexible and agile data model that can anticipate new insights and needs of researchers, storing information in a format that facilitates querying relations and paths. The Neo4j database used in the HOMAGE platform contains over 130 thousand nodes and over 6.5 million relationships, allowing researchers to query and mine relevant information effectively, build predictive models, and identify patterns and key players that may lead to new biomarkers or drug targets. The platform is gaining attention from clinical researchers as a direct way to systematically and quickly query their favorite heart failure biomarkers against existing knowledge, demonstrating the importance of interdisciplinary collaboration between clinicians and data scientists in datafied healthcare.
Jul 21, 2015 1,175 words in the original blog post.
The author of the text, on the Neo4j.rb team, aims to improve documentation by creating a series of screencasts to supplement their written documentation. Inspired by the RubyTapas series, they want to create easily digestible chunks that cover one topic thoroughly and are useful for both beginners and experienced users. The goal is to use the same Ruby app in every episode to showcase consistency and provide a publicly available app for reference. Each episode has an associated Git tag, allowing viewers to follow along with the progress of a real-life app, which is built around an Asset Management system using Neo4j gems. The screencast series covers topics such as setting up a new Ruby on Rails application with Neo4j, properties, and associations in ActiveNode models.
Jul 20, 2015 454 words in the original blog post.
The author, who is familiar with Neo4j, discusses the importance of reviewing lessons learned prior to starting a new project. He notes that most lesson learned databases go unused due to difficulties in searching and reviewing the data. To overcome this issue, he uses topic modeling and graph databases to create an efficient search engine for his database. The author models his graph on a whiteboard, creates nodes for the data, establishes relationships between them, and adds labels to the nodes based on their relevance. He then uses Linkurious, a web-based interface, to visualize the data and allow users to search and connect lessons based on their criteria. This approach enables users to explore the data in ways that traditional keyword searches cannot, providing a more effective search experience and reducing time spent searching for answers. The author believes that using graph databases like Neo4j, combined with tools like R/RStudio and Linkurious, can provide excellent analytical and visual representations of large document repositories.
Jul 16, 2015 2,182 words in the original blog post.
Graph databases like Neo4j have emerged as a better alternative to traditional relational databases for managing and monitoring complex network interdependencies in today's dynamic IT ecosystems. With their ability to accommodate highly connected, partially structured datasets that can evolve over time, graph databases provide improved flexibility in design and enable relationships to be easily captured that are unsuited to traditional hierarchic models. They also allow for better adaptability to changes when the changes themselves are less predictable or not strictly hierarchic in nature. Neo4j's unique graph model makes it simple to model real-life or business situations, providing a much better working foundation for key stakeholders who are not necessarily technical. In particular, Neo4j is well-suited for managing large complex networks with many silos and processes, such as the deployment for a large European telecommunications provider. The company was able to predict and warn customers in advance of any service interruptions, maintain customer service agreements, and avoid financial penalties due to unplanned downtime. The Neo4j deployment achieved various benefits, including fast and powerful queries, custom visualization modules, single point of failure detection, and effectively unified cross-domain views, enabling experts from different silos to work together for the first time and agree on a common domain terminology.
Jul 15, 2015 1,229 words in the original blog post.
Graph-based databases, such as Neo4j, offer a distinct approach to data storage and querying compared to traditional relational databases like RDBMS. By leveraging relationships between entities, graph databases enable efficient querying and retrieval of complex data structures, making them particularly useful for applications involving networks, social media, or hierarchical data. To get started with Neo4j, one can install and set up an instance, navigate its console, and learn the Cypher query language, which allows for flexible and powerful querying of graph-structured data. By understanding the strengths and limitations of graph databases compared to relational databases, developers can identify scenarios where a graph database is better suited to meet their specific needs, ultimately leading to more efficient and effective data management.
Jul 14, 2015 429 words in the original blog post.
We founded KinCards, an app that lets users create and share virtual business cards with personalized contact information. To manage complex relationships and data, we chose Neo4j, a robust NoSQL graph database that can handle large volumes of data while returning results in milliseconds. With Neo4j's intuitive platform and startup program support, our team was able to quickly learn and implement the technology, building KinCards from scratch within no time. As a result, KinCards is gaining popularity, handling load efficiently with fast response times, flexibility, scalability, and availability, making it easier for users to eliminate physical business cards.
Jul 13, 2015 572 words in the original blog post.
The author explores using the `jq` command-line JSON processor to export Cypher query results from Neo4j to a CSV file. They start by executing a Cypher statement against the transactional HTTP-API endpoint, which returns the connections between people in the Pokec social network dataset. The author then uses `curl` to send the query and receive the response as JSON. Next, they use `jq` to transform the JSON into CSV format, selecting specific fields and converting them to CSV using various transformers. Finally, they test their approach by extracting data from Neo4j at high speed, transferring 1 GB of data in just 3 minutes with an average transfer rate of 6.2 MB/s.
Jul 10, 2015 533 words in the original blog post.
The text provides information on various resources, including videos and articles, related to graph databases, specifically Neo4j. The videos cover topics such as getting started with Apache Spark and Neo4j, managing metadata using the Neo4j wizard, and analyzing Ruby's ObjectSpace with Neo4j. The articles explore different aspects of graph databases, including fraud detection in retail, context-awareness, and natural language processing with Neo4j. Some resources also delve into specific use cases, such as analyzing the Montreal-Pierre Elliott Trudeau International Airport data using Neo4j, or providing relationship advice to WordPress. Additionally, some resources discuss advanced topics like stopping brute force attacks and modifying lineage with Neo4j. Overall, these resources aim to provide insights and practical knowledge for developers working with graph databases like Neo4j.
Jul 09, 2015 244 words in the original blog post.
Graph databases, specifically Neo4j, are designed to manage complex interdependencies in IT network management by storing interconnected data that is not purely hierarchic. Unlike relational databases, graph databases make it easier to understand network data and can capture the relationships between devices more effectively. This allows for better diagnosis of failures and improved scalability, especially when dealing with large numbers of machines. The developer's experience with Neo4j has been positive, citing its excellent community support and ease of use, which led them to leverage Neo4j in developing their own network management solution.
Jul 08, 2015 789 words in the original blog post.
JCypher is an open source Java project that utilizes the power of Neo4j graph databases to bring closer the promise of orthogonal persistence, allowing developers to focus on their domain models instead of database mapping. It provides a default mapping and Domain Queries at the business domains level of abstraction, while offering a generic graph model for access to graph databases and a native Java DSL for intuitive query formulation against graph databases.
Jul 07, 2015 555 words in the original blog post.
Building an effective recommendation engine is crucial for business success, but creating one from scratch can be challenging. To avoid common pitfalls, it's essential to steer clear of popularity-based, content-based, and collaborative filtering models, which are often limited and lack flexibility. Instead, a hybrid model combining the power of both collaborative filtering and content-based recommendations is necessary. Additionally, real-time results, guiding users with timely suggestions, and leveraging graph database technologies like Neo4j are essential for staying competitive. With Neo4j's native graph database capabilities and community-built GraphGists, building an effective recommendation engine can be achieved in a short amount of time, making it an attractive option for startups.
Jul 06, 2015 595 words in the original blog post.
The Object Graph Mapping library, developed by Spring Data in collaboration with GraphAware, has released version 1.1.0, which allows users to map Java objects to Neo4j graph databases without any additional dependencies. The library is designed for high-performance transactional operations and uses Cypher queries to interact with the Neo4j server. It features fast bytecode scanning, tunable read and write depths, session-based delta tracking, simple configuration, and support for authentication. Users can annotate their entities or use default mappings, and create concrete services to provide persistence. The library is licensed under Apache License v2.0 and can be used in any Java or JVM-based application.
Jul 03, 2015 548 words in the original blog post.
We've integrated Neo4j, an open-source graph database, with Slack, a popular collaboration tool. The integration allows users to import users, channels, and memberships into Neo4j, execute Cypher queries, and even recommend new channels based on collaborative filtering algorithms. This innovative combination showcases the potential of graph databases in real-world applications, making it easier for teams to manage their data and collaborate more efficiently.
Jul 01, 2015 662 words in the original blog post.