OWL 1.0 Metamodel
type: Ontology
version info: This version (a) of owlodm (called OWL1.0a.owl) contains the following improvements (responsibility of Aldo Gangemi): - Removed Annotation superclass from Individual (wrong) - Removed QualifiedNumberRestriction (it will apply to OWL1.1) - Removed AnnotatableElement (wrong, because some ontology elements, e.g. restrictions, are not annotatable), and created a boolean datatype property "annotatable" to express annotability - Removed OntologyElement superclass from DataRange (wrong, because OntologyElement includes those elements that can be defined in a specific ontology, and in OWL1.0 data ranges cannot be defined; this will apply to OWL1.1) - Inclusion of property elements among ontology elements (why not? they are definable in a specific ontology) - Added universal restrictions to prevent errors in checking models containing object, type, and oneOf properties, which have multiple domains and ranges - Added disjointness axioms where applicable Version (b): - Removed bugs that lead to inconsistency - Improved axioms and restrictions for enumerated classes, oneOf, etc.

Restriction
type: Class
subclass of: Restriction
  all values from: DataRange
  on property: toDatatype
subclass of: Restriction
  on property: toClass
  all values from: Class
disjoint with: EnumeratedClass
subclass of: Restriction
  some values from: Property
  on property: onProperty
subclass of: Restriction
  on property: onProperty
  cardinality: 1
subclass of: ClassDescription
disjoint with: BooleanCombination

UniversalRestriction
type: Class
subclass of: Restriction
subclass of: Restriction
  on property: toClass
  max cardinality: 1
subclass of: Restriction
  on property: toDatatype
  max cardinality: 1

HasValue
type: Class
subclass of: Restriction
  on property: toClass
  all values from: Singleton
subclass of: Restriction
  on property: toDatatype
  all values from: Class
    intersection of: EnumeratedDataRange
    intersection of: Restriction
      on property: oneOfDataValue
      cardinality: 1
subclass of: ExistentialRestriction

Singleton
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: oneOfIndividual
    cardinality: 1
  intersection of: EnumeratedClass
subclass of: EnumeratedClass

ExistentialRestriction
type: Class
subclass of: NumberRestriction
subclass of: Restriction
  on property: toDatatype
  max cardinality: 1
subclass of: Restriction
  on property: toClass
  max cardinality: 1