2012-06-10 27 views
6

Tôi muốn xây dựng bản thể luận cho ứng dụng web của mình và tôi đã nghĩ đến việc sử dụng Neo4j để thể hiện bản thể luận (vì tôi vẫn sử dụng Neo4j).Khuôn khổ tốt để ontology repesent bên trong một cơ sở dữ liệu neo4j?

Ngay bây giờ, có vẻ như tôi phải viết nó từ đầu, bao gồm toàn bộ bản thể thực hiện, xác thực, lý luận, trình soạn thảo GUI. Chắc chắn quá nhiều công việc.

Có khung hoặc thư viện nào cho phép tôi quản lý bản thể luận của mình trên neo4j mà không triển khai nó từ đầu không? Nếu không, lựa chọn hợp lý nhất là gì? (Tôi đang sử dụng Neo4j trên Node.js)

+1

Bạn có cần tiền thần học hoặc RDF không? Tôi biết rằng ví dụ http://disease-ontology.org/faq/ đang sử dụng Neo4j trong chương trình phụ trợ, có thể bạn có thể nhận được một số thông tin ở đó? –

+0

Tôi muốn đại diện cho bản thể luận. Cảm ơn, đây là một hướng dẫn tốt! Họ có một đại diện GitHub: http://github.com/IGS/disease-ontology - Nó có một số mã Python để đối phó với Ontology –

Trả lời

3

ontology implementation, validation, reasoning, GUI editor.

Bạn có thể sử dụng ngăn xếp Tinkerpop's Blueprints, nếu bạn muốn những thứ đó (ngoại trừ trình chỉnh sửa GUI), trong khi vẫn sử dụng Neo4j làm DB. Nó tóm tắt từ API cơ sở dữ liệu đồ thị "cấp thấp" và cung cấp giao diện thống nhất. Điều này có nghĩa là bạn có thể thay đổi DB trong tương lai, trong khi vẫn giữ lại các tính năng.

Để bắt đầu, bạn cần có bản Blueprints lib chính, Neo4j impl.Sail oupl.. Tại thời điểm này, bạn nên sử dụng lớp GraphSail và lớp Kết nối của nó để quản lý biểu đồ ngữ nghĩa.

Lưu ý rằng bằng cách sử dụng Sail ouplementation (tôi đã không đưa ra thuật ngữ ..), bạn có thể sử dụng lib của Sesame như (dán từ dự án maven của tôi) mè-rio-rdfxml, mè rio-ntriples, vừng -quá trình-buồm, mè-queryparser-sparql.

Tôi không làm việc cho Tinkerpop, nhưng tôi thực sự thích khung của họ.