I'd like to build an ontology for my web application, and I thought of using Neo4j to represent the ontology (since I use Neo4j anyway).
Right now, it seems I have to write it from scratch, including the entire ontology implementation, validation, reasoning, GUI editor. Definitely too much work.
Is there a framework or library that will allow me to manage my ontology on neo4j without implementing it from scratch? If not, what is the most reasonable alternative? (I'm using Neo4j over Node.js)
The SPARQL Query language, which is what Neo4j supports, is read-only.
Additionally, Neo4j has scalability weaknesses related to scaling writes, hence if your application is expected to have very large write throughputs, then Neo4j is not for you.
The World's Leading Organizations Rely on Neo4j. With more than 950 enterprise customers, Neo4j is the world's leading provider of scalable graph technology, enabling connected data applications for more than 75% of the Fortune 100.
ontology implementation, validation, reasoning, GUI editor.
You can use Tinkerpop's Blueprints stack, if you want those things (except the GUI editor), whilst still using the Neo4j as the DB. It abstracts away from the "low-level" graph databases' API and provides a unified interface. This means you can change the DB in the future, while retaining the features.
To get started you'll need the main Blueprints lib, Neo4j impl. and Sail oupl.. At this point you should be using the GraphSail
class and its Connection class for semantic graph management.
Note that by using the Sail ouplementation (I didn't come up with the term..) you may use Sesame's libs like (pasting from my maven project) sesame-rio-rdfxml, sesame-rio-ntriples, sesame-repository-sail, sesame-queryparser-sparql.
I'm not working for Tinkerpop, but I really enjoy their framework.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With