What is a Graph Database? - Developer Guides


本站和网页 https://neo4j.com/developer/graph-database/ 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

What is a Graph Database? - Developer Guides
Developer
Docs
Neo4j DBMS
Getting Started
Operations
Migration and Upgrade
Status Codes
Java Developer Reference
Kerberos Add-on
Neo4j Aura
Neo4j Aura
Neo4j AuraDB
Neo4j AuraDS
Neo4j Tools
Neo4j Bloom
Neo4j Browser
Neo4j Desktop
Neo4j Ops Manager
Neo4j Graph Data Science
Neo4j Graph Data Science Library
Cypher Query Language
Cypher
Cypher Cheat Sheet
APOC Library
Neo4j Drivers and APIs
Go Driver
Java Driver
JavaScript Driver
.Net Driver
Python Driver
Neo4j GraphQL Library
HTTP API
OGM Library
Spring Data Neo4j
Neo4j Connector for Apache Spark
Neo4j Connector for Apache Kafka
Labs
arrows.app
Details
arrows.app
APOC
Documentation
Developer Guide
GraphQL & GRANDStack
Details
GRANDstack.io
Halin
Kafka Integration
Details
Documentation
ETL Tool
Details
Documentation
Neo4j Plugin For Liquibase
Details
Documentation
Neosemantics
Getting Started
Documentation
Neo4j Helm
Details
Documentation
NeoDash
Details
Documentation
Get Help
GraphAcademy
Free, Self Paced Training
Certification
Community Forum
Discord Chat
Knowledge Base
Neo4j Developer Blog
Neo4j Videos
Get Started
Neo4j AuraDB Start Free
Start your fully managed Neo4j cloud database
Neo4j Sandbox
Learn and use Neo4j for data science & more
Neo4j Desktop
Manage multiple local or remote Neo4j projects
Search
For Beginners
Getting Started
What is a Graph Database?
Intro to Graph DBs Video Series
Concepts: RDBMS to Graph
Concepts: NoSQL to Graph
Getting Started Resources
Neo4j Graph Platform
Neo4j Database
Neo4j Desktop
Neo4j Browser
Available Neo4j Browser Guides
Tutorial: Create Custom Browser Guide
Neo4j Bloom
How-To: Neo4j ETL Tool
Neo4j APOC Library
Neo4j & GraphQL
Cypher Query Language
Getting Started with Cypher
Writing Queries
Updating
Filtering Query Results
Controlling Query Processing
Working with Dates
Using Subqueries
Tutorial: Getting Started with Cypher
Tutorial: Build a Recommendation Engine
Comparing SQL and Cypher
User Defined Procedures & Functions
Filtering SHOW commands
Cypher Runtime and Replanning
Cypher Style Guide
Cypher Resources
For Developers
Graph Data Modeling
Graph Modeling Guidelines
Modeling: RDBMS to Graph
Modeling Designs
Graph Modeling Tips
Refactoring a graph model
Interactive Graph Models
Data Import
Importing CSV
Importing API Data
Import: RDBMS to Graph
How-To: Import Northwind Dataset
How-To: Desktop CSV Import
Example Datasets
Drivers & Language Guides
Java
Spring
Spring Data Neo4j
Java Driver Spring Boot Starter
Quarkus, Helidon, Micronaut
Neo4j Object Graph Mapper
Procedures and Functions
Third-party libraries
Courses:
Building Neo4j Applications with Java
.NET
Building Neo4j Applications with .NET
JavaScript
Building Neo4j Applications with Node.js
Python
Building Neo4j Applications with Python
Go
Building Neo4j Applications with Go
Ruby
PHP
Erlang & Elixir
Perl
Building Applications
Building Apps with Java
Building Apps with Python
Building Apps with Node.js
Building Apps with .NET
Building Apps with Go
Neo4j Tools & Integrations
Neo4j Connector for Apache Spark
Neo4j Connector for Apache Kafka
Neo4j Connector for Business Intelligence
Graph Apps
Featured Graph Apps
Building Graph Apps
Courses
Neo4j Fundamentals
Cypher Fundamentals
Graph Data Modeling Fundamentals
Importing CSV Data into Neo4j
For Data Scientists
Neo4j Graph Data Science
Graph Algorithms
NEuler: No-code Graph Algorithms
Natural Language Processing (NLP)
Tutorials
Graph Embeddings
Build a Knowledge Graph with NLP and Ontologies
How-To Guides
Entity Extraction with APOC NLP
Link Prediction with scikit-learn
Link Prediction with AutoML
Node Classification with GDSL
Link Prediction with GDSL
Concepts
Graph Search Algorithms
Path Finding Algorithms
Centrality Algorithms
Community Detection Algorithms
Graph Embeddings
Link Prediction
Connected Feature Extraction
Graph Visualization
Visualization Tools
Courses
Neo4j Fundamentals
Cypher Fundamentals
Graph Data Modeling Fundamentals
Importing CSV Data into Neo4j
For Administrators
Neo4j Administration
How-To: Memory Management
Tutorials
Managing Multiple Databases
Multi Tenancy Worked Example
Sharding Graphs with Fabric
Performance Tuning
Docker & Neo4j
How-To: Run Neo4j in Docker
Neo4j in the Cloud
Orchestration Tools
Tutorial: Deploy Neo4j Cluster on GCP
Courses
Neo4j Fundamentals
Cypher Fundamentals
Graph Data Modeling Fundamentals
Importing CSV Data into Neo4j
For Everyone
Developer Newsletter
Free Downloadable Neo4j Presentation Materials
Twitch & YouTube Live Streams
Neo4j Videos
Speaker Program: Share your Story
Community Support
Community Forum
Discord Chat
StackOverflow
Learn with GraphAcademy
Free Online Courses
Neo4j Certification
Documentation & Resources
Neo4j Documentation
Contributing to Neo4j
Contributor License Agreement
Code Contributions
Developer Guides
Getting Started
What is a Graph Database?
Edit this Page
What is a Graph Database?
Beginner
A graph database stores nodes and relationships instead of tables, or documents.
Data is stored just like you might sketch ideas on a whiteboard.
Your data is stored without restricting it to a pre-defined model, allowing a very flexible way of thinking about and using it.
Why Graph Databases?
We live in a connected world, and understanding most domains requires processing rich sets of connections to understand what’s really happening.
Often, we find that the connections between items are as important as the items themselves.
How else do people do this today? While existing relational databases can store these relationships, they navigate them with expensive JOIN operations or cross-lookups, often tied to a rigid schema.
It turns out that "relational" databases handle relationships poorly.
In a graph database, there are no JOINs or lookups.
Relationships are stored natively alongside the data elements (the nodes) in a much more flexible format.
Everything about the system is optimized for traversing through data quickly; millions of connections per second, per core.
Graph databases address big challenges many of us tackle daily.
Modern data problems often involve many-to-many relationships with heterogeneous data that sets up needs to:
Navigate deep hierarchies,
Find hidden connections between distant items, and
Discover inter-relationships between items.
Whether it’s a social network, payment networks, or road network you’ll find that everything is an interconnected graph of relationships.
And when we want to ask questions about the real world, many questions are about the relationships rather than about the individual data elements.
The Property Graph Model
In Neo4j, information is organized as nodes, relationships, and properties.
Building blocks of the property graph model
Nodes are the entities in the graph.
Nodes can be tagged with labels, representing their different roles in your domain. (For example, Person).
Nodes can hold any number of key-value pairs, or properties. (For example, name)
Node labels may also attach metadata (such as index or constraint information) to certain nodes.
Relationships provide directed, named, connections between two node entities (e.g. Person LOVES Person).
Relationships always have a direction, a type, a start node, and an end node, and they can have properties, just like nodes.
Nodes can have any number or type of relationships without sacrificing performance.
Although relationships are always directed, they can be navigated efficiently in any direction.
If you’d like to learn more about any of these, you can read more about Graph Data Modeling.
What is Neo4j?
Neo4j is an open-source, NoSQL, native graph database that provides an ACID-compliant transactional backend for your applications that has been publicly available since 2007.
Neo4j is offered as a managed service via AuraDB.
But you can also run Neo4j yourself with either Community Edition or Enterprise Edition.
The Enterprise Edition includes all that Community Edition has to offer, plus extra enterprise requirements such as backups, clustering, and failover abilities. Neo4j is written in Java and Scala, and the source code is available on GitHub.
Neo4j is a native graph database, which means that it implements a true graph model all the way down to the storage level.
The data isn’t stored as a "graph abstraction" on top of another technology, it’s stored just as you whiteboard it.
This is important because it’s the reason why Neo4j outperforms other graphs and stays so flexible.
Beyond the core graph, Neo4j provides what you’d expect out of a database; ACID transactions, cluster support, and runtime failover. This stability and maturity is why it’s been used in production scenarios for large enterprise workloads for years.
What makes Neo4j the easiest graph to work with?
Cypher, a declarative query language similar to SQL, but optimized for graphs.
Now used by other databases like SAP HANA Graph and Redis graph via the openCypher project.
Constant time traversals in big graphs for both depth and breadth due to efficient representation of nodes and relationships.
Enables scale-up to billions of nodes on moderate hardware.
Flexible property graph schema that can adapt over time, making it possible to materialize and add new relationships later to shortcut and speed up the domain data when the business needs change.
Drivers for popular programming languages, including Java, JavaScript, .NET, Python, and many more.
Where and How is Neo4j Used?
Neo4j is used today by thousands of startups, educational institutions, and large enterprises in all sectors including financial services, government, energy, technology, retail, and manufacturing.
From innovative new technology to driving businesses, users are generating insights with graph, generating new revenue, and improving their overall efficiency.
Learn more about different use cases and companies using them in the video below.
Resources
Neo4j Fundamentals Course on GraphAcademy
Free eBook: O’Reilly Graph Databases
Video Series: Intro to Graph Databases
Learn with GraphAcademy
Neo4j Fundamentals
In this free course, we take you on a journey from 1736 Prussia for a brief history of graph theory, discuss the types of graphs you may see in the wild, and walk through an example dataset.
This course is designed for both beginners and non-technical audiences who are interested in learning more about Graphs and Neo4j.
Learn more
Intro to Graph DBs Video Series
Was this page helpful?
Neo4j Aura
Experience Graph Databases
Free forever, no credit card required.
Start on AuraDB
This Week in Neo4j
Subscribe now to get weekly Neo4j Developer news directly to your
inbox
© 2022 Neo4j, Inc.
Terms | Privacy | Sitemap
Neo4j®, Neo Technology®, Cypher®, Neo4j® Bloom™ and
Neo4j® Aura™ are registered trademarks
of Neo4j, Inc. All other marks are owned by their respective companies.
Contact Us →
US: 1-855-636-4532
Sweden +46 171 480 113
UK: +44 20 3868 3223
France: +33 (0) 8 05 08 03 44
Learn
Sandbox
Neo4j Community Site
Neo4j Developer Blog
Neo4j Videos
GraphAcademy
Neo4j Labs
Social
Twitter
Meetups
Github
Stack Overflow
Want to Speak? Get $ back.

Copyright ©uecom 京ICP备18064371号-3 IPV6
2024-03-29 18:36:21
tech.zxsbr.com
10.0.12.16