I recently used HyperGraphDB , which meets all your requirements. I am very impressed with this: “HyperGraphDB is a general-purpose open source data storage engine based on the powerful knowledge management formalism known as directional hypergraphs. While the persistent memory model is designed primarily for knowledge management, AI and semantic web projects can also be used as a built-in object-oriented database for Java projects of any size, or a graph database, or a relational database (not SQL).
John mikic
source share