2013-03-20 29 views
11

Tôi mới dùng cả Scala và Neo4j. Tôi muốn tạo một cơ sở dữ liệu Neo4j bằng Scala. Có tài nguyên nào mà tôi có thể tìm thấy một số mã sẵn sàng để tạo nút, xóa nút, thêm thuộc tính, tạo chỉ mục và v.v.Sử dụng neo4j với scala

Cảm ơn.

+0

Một số nội dung từ http://neo4j.org/develop/scala –

Trả lời

10

Trên thực tế có một số tùy chọn nó phụ thuộc vào (a) cách bạn muốn giao tiếp với neo4j (Nghỉ ngơi hay không) (b) môi trường thời gian chạy của bạn.

Khi ứng dụng của bạn được chấp thuận với giao tiếp chỉ dành cho REST và bạn có thể sử dụng ANORM để truy cập (dữ liệu) của bạn. Có một trình điều khiển đầy hứa hẹn hiện tại đủ tốt để thực hiện rất nhiều thứ bằng cách sử dụng Cypher làm ngôn ngữ yêu cầu. Bạn có thể tìm thấy ở đó (AnormCypher): https://github.com/AnormCypher/AnormCypher. Sức mạnh của ANORM là một nguồn của rất nhiều cuộc tranh luận, nhưng tôi nghĩ rằng nó có rất nhiều tính năng tốt.

Ngoài ra còn có trình điều khiển scala FaKod rất hoàn chỉnh và phiên bản thứ hai (M1 cho bây giờ) sẽ bao gồm các khả năng REST. Sức mạnh của trình điều khiển này (neo4j-scala) là DSL sạch mà nó cung cấp cho nội soi ngang traversal trừu tượng, nó khá trực quan và được ghi lại tài liệu.

Mặt khác, tôi đã bắt đầu driver một thời gian, nhưng không có thời gian để dành nhiều nỗ lực của nó (nó sẽ sớm thay đổi). Phiên bản hiện tại vẫn còn thô và kết hợp chặt chẽ với một ứng dụng chơi. Nhưng trình điều khiển này cố gắng sử dụng amap các phản ứng của tương lai (bây giờ akka dựa) và api json của chơi. Tuy nhiên, cách này sẽ không hiệu quả nhất do thiếu tài liệu và làm sạch ... bất kỳ trợ giúp nào đều được chào đón ;-). Ngoài ra đây là một plugin chơi cũng sau đó là khá dễ dàng để cấu hình và tiêm.

Để biết thêm thông tin nói chung driver về, bạn nên đến đó:http://www.neo4j.org/develop/drivers

5

Bạn có thể muốn có một cái nhìn tại gremlin-scala. Nó sử dụng ngăn xếp Tinkerpop giống như JDBC cho các cơ sở dữ liệu quan hệ. Bạn có thể sử dụng nó với một số cơ sở dữ liệu đồ thị bao gồm Neo4J. Có một số ví dụ cơ bản trên trang github và nhiều hơn nữa trong số gremlin wiki.

Disclaimer: Tôi là duy trì Gremlin-scala;)

+0

Nội dung thú vị! Một người lái xe để cai trị tất cả. Tôi thực sự thích đống Tinkerpop. –

0

Có một cái nhìn tại renesca, cho phép bạn sử dụng API Neo4j REST của từ Scala. Bạn có thể tạo và sửa đổi các nút và các mối quan hệ và duy trì tất cả các thay đổi của bạn cùng một lúc.

Để biết thêm các trường hợp nâng cao, hãy kiểm tra renesca-magic, đây là lớp trừu tượng ở đầu renesca. Nó cho phép bạn xác định các lược đồ đồ thị an toàn loại mạnh mẽ với ít mã nhất có thể.

Một số điểm nổi bật là:

  • Nhiều thừa kế tài sản
  • HyperRelations (kết nối Nodes và Quan hệ)

Disclaimer: Tôi là một nhà phát triển của các thư viện này.

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