OntClass E = model.createClass( ns + "E" );
OntClass C = model
.createIntersectionClass( null, model.createList( new RDFNode[] { D, E } ) );
Resource i = model.createResource( ns + "i" );
Resource j = model.createResource( ns + "j" );
Resource k = model.createResource( ns + "k" );
Property p = model.createObjectProperty( ns + "p" );
RDFList list = model.createList( new RDFNode[] { p } );
model.add( C, OWL2.hasKey, list );
model.add( i, RDF.type, C );