A DAML+OIL ontology editor with constraint propagation functionality to ensure that constraints applied to properties and restrictions are correctly propagated through an ontology, and datatype management functionality for manipulating custom datatypes.