/**
  * @param Schemas\AbstractProperty                       $obj
  * @param                                                $propertyName
  * @param array                                          $attributes
  * @param bool|false                                     $isArray
  */
 protected function _setProperty(AbstractProperty $obj, $propertyName, array $attributes, $isArray = false)
 {
     $attributes['ns'] = $obj->getUri();
     $attributes['classmap'] = $this->getClassmap($propertyName);
     $attributes['property'] = $obj->getName();
     //was ocmap
     $obj->setAttributes($attributes);
     if ($isArray) {
         $this->{$propertyName}[] = $obj;
     } else {
         $this->{$propertyName} = $obj;
     }
 }
 public function getStructure(AbstractProperty $v, $k = '', $full = true)
 {
     $value = $v->getValue();
     if (in_array($k, ['Subject', 'Genre', 'Language'], true)) {
         $value = ucwords($value);
     }
     if ($full) {
         return ['label' => $v->getLabel(), 'value' => $value, 'attrs' => $v->getAttributes(), 'iri' => $v->getUri(), 'explain' => $v->getDescription()];
     } else {
         return ['label' => $v->getLabel(), 'value' => $value, 'attrs' => $v->getAttributes()];
     }
 }