HyperGraphDB is a general purpose, extensible, portable, distributed, embeddable data storage mechanism. Designed specifically for artificial intelligence and semantic web projects, it can also be used as an embedded object-oriented database for projects of all sizes. It is a Java-based product built on top of the Berkeley DB storage library. It can be used as a single in-process database bound to a location on the local disk or within a "cloud" of networked database instances communicating and sharing data in a P2P (peer-to-peer) fashion. Key features include storage of generalized hypergraphs, an open, extensible type system, basic query system and graph traversal algorithms, out-of-the-box support for Java object storage, thread-safe transactions, and a P2P framework for data distribution.