Home / Companies / Neo4j / Blog / July 2021

July 2021 Summaries

25 posts from Neo4j

Filter
Month: Year:
Post Summaries Back to Blog
This week, Neo4j highlights the work of several community members who have made significant contributions to the platform. Rajesh Gaddipati and Vishal Kachave presented at the API Summit 2021 on "The Role of GraphQL in Emerging Technologies," comparing graph databases with relational databases and demonstrating the benefits of using a GraphQL API with Neo4j. Meanwhile, Lju Lazaravic and Alex Erdl have started a weekly series where they walk through how to model a particular dataset and create a graph in AuraDB Free. Will Lyon has posted a tutorial on building a GraphQL Server with Next.js and Vercel, while Marco Del Coco used Hume to create an image recognition application. Tomaz Bratanic uses both the Neo4j Data Science Library and KarateClub to create node embeddings for graph analysis, and Michael Simons released tooling for migrating a Neo4j instance that is embedded in your Java application. The community members also share their work on Twitter, with Lynn Chiu's tweet about using Neo4j to analyze citation clusters gaining popularity.
Jul 31, 2021 923 words in the original blog post.
Graph databases are an excellent choice for storing and querying connected data, allowing information to be stored in a logical and complementary way that reflects the domain being worked in. However, identifying graph-shaped problems can be challenging, which is why webinars like "Identifying Graph-Shaped Problems" featuring Lju Lazarevic provide valuable tips and tricks for spotting certain structures in data and understanding whether it lends itself to working with a graph. Additionally, webinars like "Top 10 Tips for Responsible AI – How Graph Technology Adds Context" featuring Amy Hodler highlight the importance of responsible AI development and application, demonstrating how graphs can add essential context to guide more robust, reliable, and trustworthy outputs.
Jul 28, 2021 369 words in the original blog post.
Graph databases are a good fit for applications with high transactional use cases, such as personalized recommendations, fraud detection, and network/IT management. These applications benefit from the ability to traverse complex relationships between entities in real-time, which is often more efficient than using relational databases. Graph databases offer advantages when dealing with entities connected by multiple relationships, variable-length graph traversals, and pattern recognition. However, they may not be as performant for queries that require aggregations or calculations on large datasets, such as calculating average heights of actors in a database. The key to using graph databases effectively is understanding their strengths and limitations and choosing the right data model for your specific use case.
Jul 28, 2021 2,240 words in the original blog post.
The Neo4j team showcased a significant milestone at this year's NODES 2021 conference, breaking through one trillion relationships in a graph, a massive scale feat. The presentation is an introduction to Neo4j and provides a clear explanation of its capabilities. A live demo by Emil Eifrem and Andreas Kollegger further highlighted the power of the platform, leaving many impressed with their achievement as exemplified by the comment "Mic. Drop."
Jul 25, 2021 124 words in the original blog post.
Kinesis Data Stream from Apache Spark into Neo4j using Neo4j Connector for Apache Spark, leveraging the Spark Structured Streaming API and the Neo4j Connector for Apache Spark. The goal is to read a Kinesis Data Stream from Apache Spark into Neo4j, saving this check-in stream to Neo4j for applying some GDS algorithms in a later stage. To achieve this, we need to first set up our environment by creating an AWS account, setting up an IAM User, and creating a Kinesis Data Stream. We also need to clone the Neo4j Spark Connector Notebooks repository and connect the code with our IAM User. The setup part may be more or less tricky depending on experience with AWS. Once everything is set up, we can execute the code cells in the notebook, go back to the KDG tab, press the Send data button, and see what happened!
Jul 25, 2021 1,983 words in the original blog post.
Hello everyone, I’m leaving for some time off next week but I don’t want to leave you without the weekly update from the Neo4j ecosystem. The Neo4j Certification T-Shirts are back for the summer, allowing you to show off your skills. On our Twitch Channel, Lju and Alex will be discussing datasets each week, starting early next Monday, with recordings available afterwards. We are hiring a Product Manager for Neo4j GraphQL tooling, responsible for shaping the future of GraphQL integrations for Neo4j. The featured community member this week is William Gathright, who has published an article describing how to represent the Sovryn Blockchain as a graph and discusses decentralized finance applications. Various integrations have been showcased, including FlatGraph with GitHubs FlatData and Lobste.rs Data Scraping, as well as Just Like Magic: Turning a Harry Potter book into a Knowledge Graph with SpaCy and Neo4j. Quick, Temporary Neo4j Databases on Demand have been published as a JavaScript library for testing setups or temporary use cases. The NODES 2021 Videos – Apps & APIs Track featured various talks on building applications and APIs to power data in user hands. Hot Reload Your Infrastructure as Code with Skaffold has been shared by Max Andersson, while Recent Updates in Neo4j Bloom cover better performance and usability improvements. Kineviz Visual Query Builder now includes a visual query builder for Cypher, allowing for in-memory querying of the visualized graph. Bloodhound is an amazing cybersecurity tool built on top of Neo4j, with recent cool features shared by Andrew Robbins.
Jul 24, 2021 1,179 words in the original blog post.
We are excited to announce that starting today, individuals who have passed the Neo4j Certified Professional Exam without receiving a T-shirt will be rewarded with one of our new T-shirts. The shirt comes in various colors and is available for both women's and unisex cuts. To receive the free T-shirt, users must log in and order using the same account they used to take the certification exam. Additionally, those who previously took the certification exam can retake it to earn a free T-shirt. The Neo4j Certified Professional Exam tests knowledge of Cypher, graph data modeling, importing data, and multi-database features. We encourage users to share their T-shirt experiences on Twitter with #neo4j #certified, and invite them to show off where they're from.
Jul 22, 2021 152 words in the original blog post.
The author of the text is exploring the concept of a decentralized finance (DeFi) knowledge graph using Neo4j, a graph database. The goal is to learn how the Sovryn protocol works and obtain a robust dataset about it. The author defines several node types for the graph, including Block, Transaction, Address, Token, Contract, and LogEvent. They then create a query system that allows users to interact with the graph using Python. The author demonstrates how to load data from the protocol directly into Python and perform various queries to analyze the data, such as finding high-value transactions and analyzing swaps between tokens. The text concludes by highlighting the potential of knowledge graphs to answer any question related to DeFi and mentions the possibility of applying this approach to other blockchains like Ethereum.
Jul 22, 2021 1,208 words in the original blog post.
Skaffold empowers developers to hot-reload their infrastructure as code, shortening feedback loops until changes can be seen in production. This allows for shorter development cycles and faster deployment of features. Skaffold uses Kubernetes definitions, such as Docker Compose or Helm charts, to set up a functional development environment that mirrors the production setup. By using Skaffold, developers can automatically deploy and redeploy their infrastructure in response to code changes, making it easier to develop complex applications with changing infrastructure requirements.
Jul 21, 2021 620 words in the original blog post.
The text discusses the creation of a knowledge graph based on the Harry Potter book "Harry Potter and the Philosopher's Stone" using Neo4j, SpaCy, and Selenium. The author scraped the characters from the book's fandom page and preprocessed the text to remove co-references. They then used SpaCy's rule-based pattern matching feature to extract entities, prioritizing longer-word entities to overcome issues with single-word matches and character disambiguation. The extracted interactions between characters were stored in a Neo4j graph database, which was visualized to examine the results. The author concludes that the approach turned out well, but notes that fine-tuning might be needed for entity disambiguation on subsequent books.
Jul 20, 2021 2,065 words in the original blog post.
A native graph database is a type of database that stores data in nodes and relationships between those nodes, unlike relational databases which store data in tables with rows and columns. In a graph database, each node represents a discrete entity, such as a person or an address, and the relationships between nodes represent connections between entities. This allows for more efficient querying and pattern matching compared to traditional relational databases, where joins are used to connect related data. Graph databases offer several advantages, including faster query performance, especially for JOIN-heavy applications, and improved ability to query complex patterns. However, they also come with trade-offs, such as slower write performance due to the need to materialize relationships at write time. The choice between a graph database and a relational database depends on the specific needs of the application and the desired balance between read and write performance.
Jul 19, 2021 1,484 words in the original blog post.
The newsletter and blog cover various topics related to Neo4j, a graph database. The featured community member is Charles Chen, who shares his journey with graph databases and the value of Cypher, a pattern-based approach for reading and writing graph data. The newsletter also highlights the use of graphs in investigative journalism, such as analyzing police misconduct cases, and features talks from the Visualization Track at NODES 2021. Additionally, there are updates on Django neomodel, which now supports automatic CRUD forms for Neo4j databases, and a discussion on GraphQL backends in Java, including a showcase of the `neo4j-graphql-java` library. Other topics include write performance improvements for relationship updates, research assistant work with Dataiku and Linkurious, and a demo of rendering graphs in 3D for VR applications using Unreal Engine.
Jul 17, 2021 1,137 words in the original blog post.
The @neo4j-labs/temp-dbs JavaScript library provides a way to create temporary, self-cleaning Neo4j databases on the fly using the multi-db feature. This library allows developers to quickly create and expire Neo4j databases ad hoc, making it suitable for lightweight console-based applications and efficient unit tests. The example walkthrough demonstrates how to get started with creating a minimal webapp that leverages the @neo4j-labs/temp-dbs library, including setting up dependencies, configuring environment variables, and creating routes to interact with temporary databases. Additionally, the example shows how to clean up expired databases using a separate script. This library can be used to ease unit testing by providing a convenient way to create and manage temporary Neo4j databases.
Jul 16, 2021 554 words in the original blog post.
The article highlights the effective use of Neo4j, a native graph database, in analyzing patterns of misconduct complaints against law enforcement officers. The analysis reveals hidden connections between officers, citizens, and complaints, utilizing Eigenvector Centrality to uncover insights into relationships and networks. This project is part of Neo4j's Graphs4Good initiative, which aims to connect people working with data to be more effective in their work, including data journalists who can use Neo4j's tools to uncover connections in real-world data. The article emphasizes the power of graph technology in understanding our world and potentially improving it by revealing insights into relationships and networks that may not be immediately apparent.
Jul 15, 2021 619 words in the original blog post.
Neo4j has implemented new locking algorithms in version 4.3 that allow for more efficient concurrent updates on nodes with a high number of relationships, reducing lock contention and improving performance. This feature is enabled when nodes reach 50+ relationships, at which point they are considered super nodes, or when there are 10+ relationships of a given type and direction in any one group. The new algorithm reduces the impact of locking on performance, allowing for faster updates and improved scalability. By optimizing the locking mechanism, Neo4j 4.3 can handle dense node patterns more efficiently, resulting in significant performance improvements compared to previous versions.
Jul 13, 2021 1,555 words in the original blog post.
The Neo4j blog has published a new issue, covering various topics related to the graph database. The featured community member of the week is Ghlen Nagels, who has written a PHP client library for Neo4j. The article also highlights Clair Sullivan's Node Embedding Streamlit App, which uses Graph Data Science Library to compute node embeddings in Neo4j and visualize them with t-SNE. Additionally, there are updates on the .Net code analysis tool Strazh, which generates a source code representation of .Net projects that can be imported into Neo4j. The article also covers new releases from Neo4j, including version 3.5.29, 4.0.12, and 4.3.2. Furthermore, there are links to interesting articles and tweets, including one on using GitHub's Copilot to generate Neo4j client code and another on the history of Neo4j. The blog post concludes with a call to join the Neo4j Discord community for discussion.
Jul 10, 2021 1,513 words in the original blog post.
Neo4j's star engineer Johannes was previously featured in a video highlighting his work. The company has now released an engaging conversation between consulting engineer Priya Jacob and Tom Geudens from the EMEA field team, presented at this year's NODES conference. This introduction to Neo4j serves as a refresher for existing users or fans, while providing a first look into the background of the graph database space and its rise for newcomers. The conversation revisits the work of Swiss mathematician Leonard Euler and explores various uses of graph databases, including tools and examples to get started.
Jul 09, 2021 184 words in the original blog post.
The text is a tutorial guide for Django developers who want to integrate their Neo4j-based models with Django's admin interface. The tutorial uses the Paradise Papers Search App as an example, which is based on the Paradise Papers dataset available on Neo4j Sandbox. To start, you need to set up your local environment by cloning the repository and installing the requirements. Then, you need to point your app to a sandbox instance of the database and create an account in Neo4j Sandbox. After that, you need to register your models using the `neo_admin.register()` function and add the admin URL to `urls.py`. Finally, you need to set up a relational user database and run the migrations before running the app. The tutorial provides example settings snippets and instructions on how to create an admin superuser. Once you have completed these steps, you can start searching for data using the app's interface or log in to the admin interface at https://127.0.0.1:8000/admin.
Jul 09, 2021 508 words in the original blog post.
The Neo4j Browser has been updated with new features, including the ability to edit queries in situ from within a query result frame, which was previously only available for reusable frames. The browser now also allows users to send their queries back to the main editor by ⌘+ clicking (Mac) or Ctrl + clicking (Windows/Linux). Additionally, the frame buttons have been rearranged to free up more screen width and improve the layout of the result frame query collapses. The guides sidebar has also been improved with features such as scalable pagination controls for large guides and an option to immediately execute queries from Cypher snippets by clicking the play icon. Furthermore, Neo4j Desktop now supports Windows with a new dump and upgrade feature that allows users to generate dump files, load databases, and upgrade DBMSs safely. The desktop also has improved log viewer functionality, folder collapsing in the files section, and clearer guidance on the recommended steps for DBMS upgrades.
Jul 08, 2021 797 words in the original blog post.
The author of the text is announcing a new PHP client for Neo4j, a graph database. The client features multiple easily configurable drivers, an intuitive API, and an extensible architecture. It's designed to be used with the official Neo4j driver team and has been tested and validated with a testkit. The client provides three ways of running queries: transaction functions, auto-committed queries, and unmanaged transactions. Each method has its own strengths and weaknesses, and the author emphasizes the importance of idempotency when using transaction functions. The library also supports results in rows and columns format and has real-world examples available on GitHub.
Jul 07, 2021 788 words in the original blog post.
Neo4j GraphQL provides a secure way to authenticate and authorize users, using a combination of JSON Web Tokens (JWT) and the Graphical Query Language (GQL). The Neo4j GraphQL library uses JWTs to authenticate users, and provides an Object Graph Model (OGM) that allows developers to create custom resolvers for authentication. The auth directive can be used on Type definitions and fields to enforce specific rules, such as allowing or binding patterns between properties. The `where` key is used to specify equality predicates, while the `allow`, `bind`, and `roles` keys enable more complex authorization logic. By using these features, developers can build production-ready Neo4j GraphQL APIs with robust authentication and authorization mechanisms.
Jul 07, 2021 1,666 words in the original blog post.
This article introduces a Codebase Knowledge Graph (CKG) for a .NET Core project using Strazh, a tool that builds a graph from a C# codebase. The CKG is a graph-structured model that integrates free-form data into a network of entities, their semantic types, properties, and relationships. It provides fast access to various codebase insights with rich visualization, ability to catch design violations and mistakes, and help estimate changes, features, and refactoring. Strazh generates the graph by extracting codebase models, transforming them into RDF triples, and loading them into a graph database. The article discusses how to build a CKG from a C# codebase using Strazh, including its usage, benefits, and limitations. It also provides examples of how to use Strazh with Neo4j Database and offers tips for setting up the Docker environment.
Jul 06, 2021 1,947 words in the original blog post.
The Neo4j community continues to be active despite the conclusion of NODES, with various articles, projects, and initiatives being published. A mocking library for the Neo4j JavaScript driver was recently released by Yisroel Yakovson, a featured community member who also provided feedback on GraphQL integrations at NoStack. The Trillion Relationship Graph demo showcased impressive engineering efforts to demonstrate a scaleable solution within three weeks. Dan Flavin's articles explored advanced Bloom topics, including magic search queries and reactive JavaScript driver usage for large data volumes. Ashley Faith reviewed Neo4j in her video series, discussing its use cases, tools, and community. Additionally, AuraDB Free intro videos were released, guiding users through their first steps with Neo4j AuraDB Free. The GraphStuff.FM podcast featured an interview with David Allen on integrations with Apache Spark, Kafka, Tableau, and GraphQL APIs. Various links to tutorials, guides, and articles were shared by the community, including a guide to compiling and running Neo4j on an Apple M1/ARM64.
Jul 03, 2021 1,356 words in the original blog post.
Neo4j has been at the forefront of several notable events in Q2 2021, including leveraging graph technology to help enterprises identify and utilize the complex skill sets of their employees. NASA is using Neo4j's knowledge graph to create a talent-mapping database for major projects such as returning to the Moon and addressing climate change. The Suez Canal crisis has highlighted the importance of transparency in supply chain management, with Neo4j providing insights into the complex global networks involved. Additionally, Neo4j recently secured its largest investment in database history, with $325 million raised, reflecting the growing demand for graph technology as the world becomes increasingly connected and interconnected.
Jul 01, 2021 894 words in the original blog post.
Cypher Sleuthing: Dealing with Dates, Part 3 discusses accessing date and time components in Cypher, including temporal instant types and duration values. The post explains how to access specific parts of durations, such as hours, minutes, and weeks, using various functions like `inHours()`, `inMinutesOfHour()`, and `weeks`. It also covers translating duration values to different precisions, converting between units within the same category, and dealing with components in multiple categories. The post provides examples, such as calculating the number of days a blog post has been published or determining the most popular day of the week for orders. Additionally, it highlights the limitations of certain component conversions and offers resources for further learning.
Jul 01, 2021 1,820 words in the original blog post.