Tôi đang thử Neo4j lần đầu tiên. Tôi đang sử dụng phiên bản cộng đồng 2.0-RC1.Thêm mối quan hệ vào các nút hiện có với Cypher
tôi đã tạo ra một số nút:
MERGE (u:User{username:'admin',password:'admin'})
MERGE (r1:Role{name:'ROLE_ADMIN'})
MERGE (r2:Role{name:'ROLE_WEB_USER'})
MERGE (r3:Role{name:'ROLE_REST_USER'})
và bây giờ tôi muốn thêm mối quan hệ giữa các nút. Tuy nhiên, tôi không muốn xóa cơ sở dữ liệu hiện có được tạo bằng tập lệnh ở trên, thêm các câu lệnh và chạy lại. Tôi muốn thêm mối quan hệ vào các nút hiện có. Google đã giúp tôi tìm thấy điều này:
START n=node(*), m=node(*)
where has(n.username) and has(m.name) and n.username = 'admin'
and m.name = 'ROLE_WEB_USER'
create (n)-[:HAS_ROLE]->(m)
Làm việc tốt (mặc dù tôi không hiểu tất cả cú pháp). Tuy nhiên, tôi biết rằng điều này tìm thấy bất kỳ nút nào có thuộc tính tên người dùng và bất kỳ nút nào có thuộc tính tên, thay vì sử dụng các nhãn để kiểm tra xem nó có đúng loại nút hay không.
Làm cách nào tôi có thể thực hiện tương tự bằng cách sử dụng nhãn?
r không phải là lựa chọn tốt nhất của tên biến cho nút thứ hai, thường là r được chỉ định làm tên biến cho mối quan hệ. –