Giống như việc tạo các nút trong Neo4j, chúng ta có thể sử dụng CREATE
để tạo mối quan hệ giữa các nút đó.
Câu lệnh để tạo mối quan hệ bao gồm CREATE
, tiếp theo là chi tiết về mối quan hệ mà bạn đang tạo.
Ví dụ
Hãy tạo mối quan hệ giữa một số nút mà chúng ta đã tạo trước đó. Đầu tiên, hãy tạo mối quan hệ giữa nghệ sĩ và album.
Chúng tôi sẽ tạo mối quan hệ sau:
Đây là CREATE
của Cypher câu lệnh để tạo mối quan hệ trên:
MATCH (a:Artist),(b:Album) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" CREATE (a)-[r:RELEASED]->(b) RETURN r
Giải thích về Quy tắc trên
Đầu tiên, chúng tôi sử dụng MATCH
để tìm hai nút mà chúng tôi muốn tạo mối quan hệ giữa.
Có thể có nhiều nút với một Nghệ sĩ hoặc Anbom để chúng tôi thu hẹp nó xuống chỉ những nút mà chúng tôi quan tâm. Trong trường hợp này, chúng tôi sử dụng một giá trị thuộc tính để lọc nó. Chúng tôi sử dụng Tên thuộc tính mà chúng tôi đã chỉ định trước đây cho mỗi nút.
Sau đó, có CREATE
thực tế tuyên bố. Đây là những gì tạo ra mối quan hệ. Trong trường hợp này, nó tham chiếu đến hai nút bằng tên biến (tức là a
và b
) mà chúng tôi đã cung cấp cho họ ở dòng đầu tiên. Mối quan hệ được thiết lập bằng cách sử dụng mẫu mã ASCII, với mũi tên chỉ hướng của mối quan hệ:(a)-[r:RELEASED]->(b)
.
Chúng tôi đặt cho mối quan hệ một tên biến là r
và cung cấp cho mối quan hệ một loại RELEASED
(như trong "ban nhạc này đã phát hành anbom này "). Kiểu của mối quan hệ tương tự như nhãn của nút.
Thêm nhiều mối quan hệ hơn
Ví dụ trên là một ví dụ rất đơn giản về mối quan hệ. Một trong những điều mà Neo4j thực sự giỏi, là xử lý nhiều mối quan hệ được kết nối với nhau.
Hãy xây dựng mối quan hệ mà chúng ta vừa thiết lập, để chúng ta có thể thấy việc tiếp tục tạo thêm các nút và mối quan hệ giữa chúng dễ dàng như thế nào. Vì vậy, chúng tôi sẽ tạo thêm một nút và thêm hai mối quan hệ nữa.
Chúng ta sẽ kết thúc với biểu đồ sau:
Biểu đồ này cho thấy Devin Townsend chơi trong ban nhạc, biểu diễn trong album mà ban nhạc đã phát hành và anh ấy cũng là người sản xuất album.
Vì vậy, hãy bắt đầu bằng cách tạo nút cho Devin Townsend:
CREATE (p:Person { Name: "Devin Townsend" })
Bây giờ, hãy tạo các mối quan hệ và trả về biểu đồ:
MATCH (a:Artist),(b:Album),(p:Person) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a) RETURN a,b,p
Bây giờ bạn sẽ thấy biểu đồ như trong ảnh chụp màn hình trước.