节点、关系与属性
理解图的基本构成:节点(实体)、关系(连接)以及描述节点和关系的属性
节点、关系与属性 是 CoddyKit 上的免费 Neo4j Graph Database Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Neo4j Graph Database Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Neo4j Graph Database Fundamentals 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Graph Building Blocks
Welcome to Cypher Fundamentals! To query a graph database like Neo4j, you first need to understand its core components.
Think of graphs as powerful ways to model real-world connections. They are built from three main elements:
- Nodes: Your entities or 'things'
- Relationships: How those 'things' are connected
- Properties: Descriptors for nodes and relationships
Nodes: The Nouns of Your Graph
Nodes are the fundamental entities in your graph. They represent real-world objects, people, places, or concepts.
For example, in a social network, 'Alice' or 'New York' would be nodes. In an e-commerce graph, 'Product A' or 'Customer B' would be nodes.
Nodes can have labels to categorize them, like 'Person' or 'City'.
Node Labels: Categorize Your Data
Labels classify nodes into groups. A node can have one or more labels. This helps you organize and query your graph efficiently.
For example, a node representing 'Alice' might have the label :Person. A node for 'Neo4j' might have the label :Database.
Let's create a simple node with a label:
CREATE (:Person {name: 'Alice'})Properties: Descriptive Attributes
Properties are key-value pairs that describe nodes or relationships. They store specific details about an entity or connection.
For a :Person node, properties could be name: 'Alice', age: 30, or city: 'London'. For a :Product node, properties might be price: 19.99 or category: 'Electronics'.
Here's how to create a node with multiple properties:
CREATE (:Movie {
title: 'Inception',
releaseYear: 2010,
genre: 'Sci-Fi'
})Relationships: Connecting the Dots
Relationships define how nodes are connected to each other. They are the 'verbs' of your graph, showing interactions or associations.
Unlike relational tables where connections are implicit via foreign keys, graph relationships are explicit, first-class citizens.
Relationships always have a type and a direction.
Relationship Types: What's the Link?
Every relationship has a type, which describes the nature of the connection. For instance, 'FRIENDS_WITH', 'ACTED_IN', or 'OWNS'.
Relationship types are crucial for understanding and querying your graph. They help you specify exactly what kind of connection you're looking for.
Let's create two nodes and connect them with a relationship:
CREATE (p1:Person {name: 'Bob'})
CREATE (p2:Person {name: 'Charlie'})
CREATE (p1)-[:FRIENDS_WITH]->(p2)Relationship Direction Matters
Relationships are directional, meaning they flow from one node to another. This direction is important for understanding the context of the connection.
(Alice)-[:LIKES]->(Bob): Alice likes Bob(Bob)-[:LIKES]->(Alice): Bob likes Alice
The arrows --> and <-- indicate direction. If direction isn't specified (--), the relationship is considered undirected in a query, but it's always stored with a direction.
Properties on Relationships Too!
Just like nodes, relationships can also have properties. These properties describe the relationship itself, not the connected nodes.
For example, a [:WORKS_FOR] relationship might have a startDate: '2020-01-15' property. A [:RATED] relationship could have a score: 5 property.
Here's an example of adding properties to a relationship:
CREATE (u:User {name: 'Eve'})
CREATE (p:Product {id: 'P123'})
CREATE (u)-[:PURCHASED {
date: '2023-10-26',
quantity: 2
}]->(p)Visualizing a Graph Pattern
Let's see how these components look together in a simple graph structure. Imagine a person reviewing a movie:
(Person)-[:REVIEWED {rating: 4}]->(Movie)
Here:
(Person)and(Movie)are nodes, with their respective labels.[:REVIEWED]is the relationship type, showing direction.{rating: 4}is a property on theREVIEWEDrelationship.
This structure is incredibly flexible for modeling complex domains!
Check Your Understanding
What are the three fundamental building blocks of a graph database like Neo4j?
Recap: Graph Essentials
Great job! In this lesson, you learned about the foundational elements of a graph database:
- Nodes are your entities, categorized by labels.
- Relationships connect nodes, defined by a type and direction.
- Properties are key-value pairs that add descriptive details to both nodes and relationships.
Understanding these concepts is key to building and querying powerful graph models. Next, we'll dive deeper into creating actual data using Cypher's CREATE clause!
常见问题解答
「节点、关系与属性」课时是免费的吗?
是的 — 「节点、关系与属性」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Neo4j Graph Database Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Neo4j Graph Database Fundamentals 课程共包含 4 节课。
「节点、关系与属性」这节课中我会学到什么?
理解图的基本构成:节点(实体)、关系(连接)以及描述节点和关系的属性 你通过在浏览器中直接运行的动手代码来练习 Neo4j Graph Database Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Neo4j Graph Database Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Neo4j Graph Database Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「节点、关系与属性」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Neo4j Graph Database Fundamentals 课中编写并运行代码吗?
能。每节 Neo4j Graph Database Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。