คำถามติดแท็ก cypher

9
Neo4j - ภาษาแบบสอบถาม Cypher เทียบกับ Gremlin
ฉันกำลังเริ่มพัฒนา Neo4j โดยใช้ REST API ฉันเห็นว่ามีสองตัวเลือกสำหรับการดำเนินการค้นหาที่ซับซ้อน - Cypher (ภาษาสอบถามของ Neo4j) และ Gremlin (การสืบค้นกราฟ / ภาษาการสำรวจตามวัตถุประสงค์ทั่วไป) นี่คือสิ่งที่ฉันต้องการทราบ - มีคำถามหรือการดำเนินการใดที่สามารถทำได้โดยใช้ Gremlin และไม่สามารถทำได้ด้วย Cypher? หรือในทางกลับกัน? Cypher ดูเหมือนจะชัดเจนสำหรับฉันมากกว่า Gremlin และโดยทั่วไปแล้วดูเหมือนว่าคนใน Neo4j จะไปกับ Cypher แต่ - ถ้า Cypher มีข้อ จำกัด เมื่อเทียบกับ Gremlin - ฉันอยากจะรู้ล่วงหน้าจริงๆ

6
ส่งคืนโหนดหากไม่มีความสัมพันธ์
ฉันกำลังพยายามสร้างข้อความค้นหาโดยใช้ไซเฟอร์ซึ่งจะ "ค้นหา" ส่วนผสมที่ขาดหายไปที่เชฟอาจมีกราฟของฉันถูกตั้งค่าดังนี้: (ingredient_value)-[:is_part_of]->(ingredient) (ingredient)จะมีคีย์ / ค่าของชื่อ = "สีย้อม" (ingredient_value)อาจมีคีย์ / ค่าของ value = "สีแดง" และ (ingredient, name="dye colors")"เป็นส่วนหนึ่งของ" (chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient) ฉันใช้แบบสอบถามนี้เพื่อรับingredientsค่าจริงทั้งหมดที่สูตรต้องการ แต่ฉันต้องการส่งคืนเฉพาะingredientsที่เชฟไม่มีแทนส่วนผสมทั้งหมดที่แต่ละสูตรต้องการ ฉันเหนื่อย (chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef แต่สิ่งนี้กลับไม่มีอะไรเลย นี่คือสิ่งที่ cypher / neo4j สามารถทำได้หรือนี่คือสิ่งที่จัดการได้ดีที่สุดโดยส่งคืนส่วนผสมทั้งหมดและจัดเรียงด้วยตัวเอง? โบนัส: นอกจากนี้ยังมีวิธีใช้ไซเฟอร์เพื่อจับคู่ค่าทั้งหมดที่เชฟมีกับค่าทั้งหมดที่สูตรต้องการ จนถึงตอนนี้ฉันได้ส่งคืนการแข่งขันบางส่วนเท่านั้นที่ส่งคืนโดย a chef-[:has_value]->ingredient_value<-[:requires_value]-recipeและรวบรวมผลลัพธ์ด้วยตัวเอง
90 neo4j  cypher 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.