ฉันกำลังเพิ่มข้อจำกัดให้กับฐานข้อมูล neo4j โดยใช้ข้อจำกัดของ Cypher และมีช่องคุณสมบัติบนโหนดที่ฉันต้องการให้ค่าเป็นหนึ่งในชุดสตริง
ฉันได้สร้างข้อจำกัดว่าต้องมีฟิลด์นี้อยู่ แต่ไม่แน่ใจว่าคุณสามารถจำกัดค่านั้นเองได้หรือไม่
ตัวอย่างเช่น โหนดของฉันอาจมีลักษณะเช่นนี้
(e:Entity { foo: 'a' })
และฉันก็มีข้อจำกัด
CREATE CONSTRAINT ON (e:Entity) ASSERT EXISTS (e.foo)
แต่ฉันต้องการให้ foo
เป็น a
, b
, c
หรือ d
เท่านั้น ดังนั้นในตัวอย่างนี้ โหนดก็ใช้ได้ อย่างไรก็ตามหากจะต้องเพิ่มโหนดอื่น
(e:Entity { foo: 'e' })
,
ถ้าอย่างนั้นฉันก็อยากให้สิ่งนี้ล้มเหลวและมีข้อยกเว้น
เอกสารประกอบเกี่ยวกับข้อจำกัด neo4j ระบุว่าปัจจุบันยังไม่มีวิธี ของการทำเช่นนี้ มีใครเคยเจอสิ่งนี้มาก่อนและมีวิธีแก้ปัญหาที่เป็นไปได้หรือไม่?
ขอบคุณล่วงหน้า!