def create_property(clazz, property, type, options={})
      raise ArgumentError, "class name is blank" if blank?(clazz)
      raise ArgumentError, "property name is blank" if blank?(property)
      opt_pattern = {
        :mandatory => :optional , :notnull => :optional, :min => :optional, :max => :optional,
        :readonly =>  :optional, :linked_class => :optional
      }
      verify_options(options, opt_pattern)

      cmd = "CREATE PROPERTY #{clazz}.#{property} #{type.to_s}"
      # link?
      if [:link, :linklist, :linkset, :linkmap].include? type.to_s.downcase.to_sym
        raise ArgumentError, "defined linked-type, but not linked-class" unless options.include? :linked_class
        cmd << " #{options[:linked_class]}"
      end
      command cmd

      # ALTER PROPERTY ...
      options.delete :linked_class # it's not option for ALTER
      unless options.empty?
        options.each do |k,v|
          command "ALTER PROPERTY #{clazz}.#{property} #{k.to_s.upcase} #{v}"
        end
      end
    end
def create_property(clazz, property, type, options={})
      raise ArgumentError, "class name is blank" if blank?(clazz)
      raise ArgumentError, "property name is blank" if blank?(property)
      opt_pattern = {
        :mandatory => :optional , :notnull => :optional, :min => :optional, :max => :optional,
        :readonly =>  :optional, :linked_class => :optional
      }
      verify_options(options, opt_pattern)

      cmd = "CREATE PROPERTY #{clazz}.#{property} #{type.to_s}"
      # link?
      if [:link, :linklist, :linkset, :linkmap].include? type.to_s.downcase.to_sym
        raise ArgumentError, "defined linked-type, but not linked-class" unless options.include? :linked_class
        cmd << " #{options[:linked_class]}"
      end
      command cmd

      # ALTER PROPERTY ...
      options.delete :linked_class # it's not option for ALTER
      unless options.empty?
        options.each do |k,v|
          command "ALTER PROPERTY #{clazz}.#{property} #{k.to_s.upcase} #{v}"
        end
      end
    end
Creates a new property in the schema.
 You need to create the class before.