We describe the TENTACLE system, an extensible database system which uses a graph data model to store and manipulate poorly structured data. To enable the database to be tailored to particular problem domains, it has been equipped with a small embedded interpreter which can be used to construct the equivalent of customised views of or front-ends to a given semi-structured data domain. To demonstrate the capabilities of the system we have built a web server directly on top of the database system, making it possible to provide a clean mapping between the logical structure of the web pages and the underlying storage system.