Example #1
0
 /**
  * Translate data from rdf mapping to rdf nodes
  *
  * @return array
  */
 protected function getRdfFromData()
 {
     $rdfNodes = array();
     $rdfMapping = $this->getRdfMapping();
     foreach ($this->data as $docField => $docValue) {
         $fieldName = explode('@', $docField);
         $fieldName = $fieldName[0];
         if (strpos($docField, '@') !== false && in_array($fieldName, $rdfMapping['languageFields'])) {
             $rdfNodes = array_merge($rdfNodes, OpenSKOS_Rdf_Parser::createLanguageField($docField, $docValue));
         } else {
             if (in_array($docField, $rdfMapping['resourceFields'])) {
                 $rdfNodes = array_merge($rdfNodes, OpenSKOS_Rdf_Parser::createResourceField($docField, $docValue));
             } else {
                 if (in_array($docField, $rdfMapping['dctermsDateFields'])) {
                     if ($docField == 'dcterms_dateAccepted' && (empty($docValue) || empty($docValue[0]))) {
                         continue;
                     }
                     $rdfNodes = array_merge($rdfNodes, OpenSKOS_Rdf_Parser::createDcTermsField($docField, $docValue));
                 } else {
                     if (in_array($docField, $rdfMapping['simpleSkosFields'])) {
                         $rdfNodes = array_merge($rdfNodes, OpenSKOS_Rdf_Parser::createSimpleSkosField($docField, $docValue));
                     } else {
                         if (in_array($docField, $rdfMapping['openskosFields'])) {
                             $rdfNodes = array_merge($rdfNodes, OpenSKOS_Rdf_Parser::createSimpleOpenskosField($docField, $docValue));
                         }
                     }
                 }
             }
         }
     }
     return $rdfNodes;
 }