Tôi có một số rắc rối với py2neo tìm và find_one (http://py2neo.org/2.0/essentials.html)py2neo: Graph.find_one với nhiều khóa/giá trị
Những gì tôi muốn ở Cypher là:
MATCH (p:Person) WHERE p.name='Alice' AND p.age=22 RETURN p
Say, nơi có nhiều hơn một bộ khóa/giá trị (ví dụ: nếu có nhiều hơn một 'Alice' trong biểu đồ).
Vấn đề của tôi là tôi không biết những gì để cung cấp cho graph.find_one, mã làm việc là:
graph.find_one('Person', 'name', 'Alice')
Những gì tôi muốn là một cái gì đó tương tự (Đây không phải là làm việc!):
graph.find_one('Person', {'name': 'Alice', 'age': 22})
Một giải pháp có thể (xấu) là tạo biểu đồ.find và sau đó lặp lại các thuộc tính kết quả và tìm tuổi, nhưng tôi không thích giải pháp đó.
Phần thưởng: Có thể với graph.find để làm điều gì đó như tuổi> 25 không?
EDIT: Mới "giải pháp"
find_person = "MATCH (p: Person) WHERE p.name = {N} VÀ p.age = {A} RETURN p"
>>> tx = graph.cypher.begin()
>>> tx.append(find_person, {'N': 'Alice', 'A': 22})
>>> res = tx.process()
>>> print(res[0][0][0])
(n423:Person {age:22,name:"Lisa"})
những gì tôi không thích về vấn đề này là tôi bỏ lỡ Lưu ý đối tượng, (và tôi không hiểu đầy đủ về RecordListList, và làm thế nào để di chuyển nó nicley)
Cảm ơn câu trả lời của bạn .. :-) Vấn đề với t giải pháp mũ là nó thực sự chiếu xạ quá khứ trong các thông số. Tôi đã thực hiện một chỉnh sửa cho bài đăng, với một ý tưởng tốt hơn một chút, nhưng vẫn chưa có. –
@ThomasRepsdorph, tôi cập nhật câu trả lời của tôi để giải thích làm thế nào để vượt qua các thông số, điều này về cơ bản là những gì 'find' nên làm, bạn có thể gửi một yêu cầu kéo một khi bạn nhận được nó làm việc. – elyase
Âm thanh vui nhộn, tôi sẽ cố gắng .. :-D Và cảm ơn sự giúp đỡ của bạn. –