2014-09-09 13 views
5

Tôi hiểu rằng thuộc tính nút và mối quan hệ được giới hạn trong các kiểu nguyên thủy hoặc mảng các kiểu nguyên thủy. Các "Maps" của Neo4j 2.1 Reference Card đề cập rằng:Bản đồ và bộ sưu tập lồng nhau trong Neo4j 2

{name: 'Alice', tuổi: 38, địa chỉ: {city: 'London', khu dân cư: true}}

bản đồ Literal là được khai báo trong dấu ngoặc nhọn giống như bản đồ thuộc tính. Bản đồ và bộ sưu tập lồng nhau được hỗ trợ.

Tất nhiên cái gì đó như:

CREATE (alice {name:'Alice', age:38, address:{city:'London', residential:true}}) 

ném một ngoại lệ:

Error: Property values can only be of primitive types or arrays thereof Neo.ClientError.Statement.InvalidType 

trong tình huống không Neo4j hỗ trợ bản đồ lồng nhau và các bộ sưu tập?

Trả lời

4

(Đã chỉnh sửa)

Thẻ tham chiếu hơi quá tinh tế. Từ quan trọng nhất là "chữ". Nói cách khác, bạn chỉ có thể sử dụng các bản đồ và mảng lồng nhau tùy ý bằng chữ, nhưng bạn không thể lưu trữ những thứ như vậy trong một nút hoặc mối quan hệ.

Ví dụ, công trình này:

WITH {name:'Alice', age:38, address:[{city:'London', residential:true}, {city: 'Paris', residential: false} ]} AS x 
RETURN x; 

Nhưng điều này không:

CREATE (x {name:'Alice', age:38, address:[{city:'London', residential:true}, {city: 'Paris', residential: false} ]}) 
RETURN x; 
+1

để lưu trữ chúng? –

0

Có một cách để làm điều này bằng cách chuyển đổi bản đồ lồng nhau để chuỗi json. Đã trả lời here

Các vấn đề liên quan