コード例 #1
0
 /**
  * Short description of method importStaticData
  *
  * @access private
  * @author Jerome Bogaerts, <*****@*****.**>
  * @param  array $staticMap
  * @param  array $map
  * @param  core_kernel_classes_Resource $resource
  * @return mixed
  */
 private function importStaticData($staticMap, $map, core_kernel_classes_Resource $resource)
 {
     foreach ($staticMap as $cleanUri => $value) {
         // If the property was not included in the original CSV file...
         if (!array_key_exists($cleanUri, $map) || $map[$cleanUri] == 'csv_null' || $map[$cleanUri] == 'csv_select') {
             if ($cleanUri == RDF_TYPE) {
                 $resource->setType(new core_kernel_classes_Class($value));
             } else {
                 $values = is_array($value) ? $value : array($value);
                 foreach ($values as $v) {
                     $resource->setPropertyValue(new core_kernel_classes_Property($cleanUri), $v);
                 }
             }
         }
     }
 }
コード例 #2
0
 /**
  * creates the instance
  * 
  * @param array $classes
  * @param array $properties
  * @return core_kernel_classes_Resource
  */
 protected function createInstance($classes, $properties)
 {
     $first = array_shift($classes);
     $instance = $first->createInstanceWithProperties($properties);
     foreach ($classes as $class) {
         $instance = new core_kernel_classes_Resource('');
         $instance->setType($class);
     }
     return $instance;
 }
コード例 #3
0
 /**
  * Change the Class (RDF_TYPE) of a resource
  *
  * @access public
  * @author Jerome Bogaerts, <*****@*****.**>
  * @param  Resource instance
  * @param  Class destinationClass
  * @return boolean
  */
 public function changeClass(core_kernel_classes_Resource $instance, core_kernel_classes_Class $destinationClass)
 {
     $returnValue = (bool) false;
     try {
         foreach ($instance->getTypes() as $type) {
             $instance->removeType($type);
         }
         $instance->setType($destinationClass);
         foreach ($instance->getTypes() as $type) {
             if ($type->getUri() == $destinationClass->getUri()) {
                 $returnValue = true;
                 break;
             }
         }
     } catch (common_Exception $ce) {
         print $ce;
     }
     return (bool) $returnValue;
 }
コード例 #4
0
ファイル: class.Class.php プロジェクト: nagyist/generis
 /**
  * (non-PHPdoc)
  * @see core_kernel_persistence_ClassInterface::createInstance()
  */
 public function createInstance(core_kernel_classes_Class $resource, $label = '', $comment = '', $uri = '')
 {
     $returnValue = null;
     $subject = '';
     if ($uri == '') {
         $subject = common_Utils::getNewUri();
     } else {
         if ($uri[0] == '#') {
             //$uri should start with # and be well formed
             $modelUri = common_ext_NamespaceManager::singleton()->getLocalNamespace()->getUri();
             $subject = rtrim($modelUri, '#') . $uri;
         } else {
             $subject = $uri;
         }
     }
     $returnValue = new core_kernel_classes_Resource($subject, __METHOD__);
     if (!$returnValue->hasType($resource)) {
         $returnValue->setType($resource);
     } else {
         common_Logger::e('already had type ' . $resource);
     }
     if (!empty($label)) {
         $returnValue->setLabel($label);
     }
     if (!empty($comment)) {
         $returnValue->setComment($comment);
     }
     return $returnValue;
 }