The Semantic Web uses ontological descriptions, in particularly Web Ontology Language OWL, as a universal medium to formally describe and exchange knowledge of various domains. Currently, many OWL ontologies for different domains come into being successively. Therefore, how to store OWL ontologies becomes one of ordinary needs of the Semantic Web. Based on the efficient storage mechanism of object-oriented databases, they may be used to store OWL ontologies for realizing the management of large amounts of knowledge in the Semantic Web. To this end, the main objective of this paper is to investigate how to store OWL ontologies in object-oriented databases, and we propose a formal approach and develop a prototype tool for storing OWL ontologies in object-oriented databases. Firstly, after giving a complete formal definition of OWL ontologies, we propose an overall architecture of storing OWL ontologies in object-oriented databases. Based on the architecture, we further give storage rules and explain how to store OWL ontologies in object-oriented databases with a running example in detail. The correctness and quality of the storage approach are proved and analyzed. Finally, we implement a prototype tool which can store OWL ontologies in a widely used open source object database db4o. Also, a query interface is developed in the prototype tool for querying the stored OWL ontologies. The storage and query examples are provided to show that the approach is feasible and the tool is efficient. (C) 2014 Elsevier B.V. All rights reserved.