graphdb/src/main/java/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.java
public OrientEdgeType createEdgeType(final String iClassName, final OClass iSuperClass, final int clusters) {
    makeActive();

    OrientEdgeType.checkType(iSuperClass);
    return executeOutsideTx(new OCallable<OrientEdgeType, OrientBaseGraph>() {
      @Override
      public OrientEdgeType call(final OrientBaseGraph g) {
        return new OrientEdgeType(g, getRawGraph().getMetadata().getSchema().createClass(iClassName, clusters, iSuperClass));
      }
    }, "create edge type '", iClassName, "' as subclass of '", iSuperClass.getName(), "' (clusters=" + clusters + ")");
  }
public OrientEdgeType createEdgeType(final String iClassName, final OClass iSuperClass, final int clusters) {
    makeActive();

    OrientEdgeType.checkType(iSuperClass);
    return executeOutsideTx(new OCallable<OrientEdgeType, OrientBaseGraph>() {
      @Override
      public OrientEdgeType call(final OrientBaseGraph g) {
        return new OrientEdgeType(g, getRawGraph().getMetadata().getSchema().createClass(iClassName, clusters, iSuperClass));
      }
    }, "create edge type '", iClassName, "' as subclass of '", iSuperClass.getName(), "' (clusters=" + clusters + ")");
  }
Creates a new Edge persistent class specifying the super class.

@param iClassName  Edge class name
@param iSuperClass OClass Edge to extend
@param clusters    The number of clusters to create for the new class. By default the MINIMUMCLUSTERS database setting is used.
In v2.2 and later, the number of clusters are proportioned to the amount of cores found on the machine

@return OrientEdgeType instance representing the persistent class