/**
  * Inialisation de l'instance d'onto_store_arc2 dans self::store
  * @return void
  * @access private
  */
 private static function init()
 {
     if (!is_object(self::$store)) {
         $onto_store_config = array('db_name' => DATA_BASE, 'db_user' => USER_NAME, 'db_pwd' => USER_PASS, 'db_host' => SQL_SERVER, 'store_name' => 'rdfstore', 'max_errors' => 100, 'store_strip_mb_comp_str' => 0);
         self::$store = new onto_store_arc2($onto_store_config);
         self::$store->set_namespaces(array("skos" => "http://www.w3.org/2004/02/skos/core#", "dc" => "http://purl.org/dc/elements/1.1", "dct" => "http://purl.org/dc/terms/", "owl" => "http://www.w3.org/2002/07/owl#", "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs" => "http://www.w3.org/2000/01/rdf-schema#", "xsd" => "http://www.w3.org/2001/XMLSchema#", "pmb" => "http://www.pmbservices.fr/ontology#"));
     }
 }
 /**
  * Retourne le détail d'un concept
  * @return array Tableau des différentes propriétés du concept
  */
 public function get_details()
 {
     global $lang;
     $details = array();
     $query = "select * where {\n\t\t\t\t<" . $this->uri . "> rdf:type skos:Concept .\n\t\t\t\t<" . $this->uri . "> skos:prefLabel ?label .\t\t\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:altLabel ?altlabel\n\t\t\t\t} . \n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:note ?note\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> <http://www.w3.org/2004/02/skos/core#Note> ?notebnf\n\t\t\t\t} .\t\t\t\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:related ?related .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?related skos:prefLabel ?relatedlabel\t\n\t\t\t\t\t}\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:related ?related .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?related skos:prefLabel ?relatedlabel\t\n\t\t\t\t\t}\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> owl:sameAs ?sameas .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?sameas skos:prefLabel ?sameaslabel\t\n\t\t\t\t\t}\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> rdfs:seeAlso ?seealso .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?seealso skos:prefLabel ?seealsolabel\t\n\t\t\t\t\t}\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:exactMatch ?exactmatch .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?exactmatch skos:prefLabel ?exactmatchlabel\t\n\t\t\t\t\t}\n\t\t\t\t} .\n\t\t\t\toptional {\n\t\t\t\t\t<" . $this->uri . "> skos:closeMatch ?closematch .\n\t\t\t\t\toptional {\t\t\n\t\t\t\t\t\t?closematch skos:prefLabel ?closematchlabel\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}";
     skos_datastore::query($query);
     if (skos_datastore::num_rows()) {
         $results = skos_datastore::get_result();
         foreach ($results as $result) {
             foreach ($result as $property => $value) {
                 switch ($property) {
                     //cas des literaux
                     case "altlabel":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#altLabel'])) {
                             $details['http://www.w3.org/2004/02/skos/core#altLabel'] = array();
                         }
                         if (isset($result->{$propery . "_lang"}) == substr($lang, 0, 2)) {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#altLabel'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#altLabel'][] = $value;
                             }
                             break;
                         } else {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#altLabel'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#altLabel'][] = $value;
                             }
                         }
                         break;
                     case "hiddenlabel":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#hiddenLabel'])) {
                             $details['http://www.w3.org/2004/02/skos/core#hiddenLabel'] = array();
                         }
                         if (isset($result->hiddenlabel_lang) == substr($lang, 0, 2)) {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#hiddenLabel'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#hiddenLabel'][] = $value;
                             }
                             break;
                         } else {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#altLabel'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#altLabel'][] = $value;
                             }
                         }
                         break;
                     case "related":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#related'])) {
                             $details['http://www.w3.org/2004/02/skos/core#related'] = array();
                         }
                         if ($result->related_type == "uri") {
                             //on cherche si l'URI est connu dans notre système
                             $id = onto_common_uri::get_id($value);
                             $detail = array('uri' => $value);
                             if (isset($result->relatedlabel)) {
                                 $detail['label'] = $result->relatedlabel;
                             }
                             if ($id) {
                                 $detail['id'] = $id;
                             }
                             if (!in_array($detail, $details['http://www.w3.org/2004/02/skos/core#related'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#related'][] = $detail;
                             }
                         }
                         break;
                     case "sameas":
                         if (!isset($details['http://www.w3.org/2002/07/owl#sameAs'])) {
                             $details['http://www.w3.org/2002/07/owl#sameAs'] = array();
                         }
                         if ($result->sameas_type == "uri") {
                             //on cherche si l'URI est connu dans notre système
                             $id = onto_common_uri::get_id($value);
                             $detail = array('uri' => $value);
                             if (isset($result->sameaslabel)) {
                                 $detail['label'] = $result->sameaslabel;
                             }
                             if ($id) {
                                 $detail['id'] = $id;
                             }
                             if (!in_array($detail, $details['http://www.w3.org/2002/07/owl#sameAs'])) {
                                 $details['http://www.w3.org/2002/07/owl#sameAs'][] = $detail;
                             }
                         }
                         break;
                     case "note":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#note'])) {
                             $details['http://www.w3.org/2004/02/skos/core#note'] = array();
                         }
                         if (isset($result->note_lang) == substr($lang, 0, 2)) {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#note'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#note'][] = $value;
                             }
                             break;
                         } else {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#note'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#note'][] = $value;
                             }
                         }
                         break;
                     case "notebnf":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#note'])) {
                             $details['http://www.w3.org/2004/02/skos/core#note'] = array();
                         }
                         if (isset($result->notebnf_lang) == substr($lang, 0, 2)) {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#note'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#note'][] = $value;
                             }
                             break;
                         } else {
                             if (!in_array($value, $details['http://www.w3.org/2004/02/skos/core#note'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#note'][] = $value;
                             }
                         }
                         break;
                     case "seealso":
                         if (!isset($details['http://www.w3.org/2000/01/rdf-schema#seeAlso'])) {
                             $details['http://www.w3.org/2000/01/rdf-schema#seeAlso'] = array();
                         }
                         if ($result->seealso_type == "uri") {
                             //on cherche si l'URI est connu dans notre système
                             $id = onto_common_uri::get_id($value);
                             $detail = array('uri' => $value);
                             if (isset($result->seealsolabel)) {
                                 $detail['label'] = $result->seealsolabel;
                             }
                             if ($id) {
                                 $detail['id'] = $id;
                             }
                             if (!in_array($detail, $details['http://www.w3.org/2000/01/rdf-schema#seeAlso'])) {
                                 $details['http://www.w3.org/2000/01/rdf-schema#seeAlso'][] = $detail;
                             }
                         }
                         break;
                     case "exactmatch":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#exactMatch'])) {
                             $details['http://www.w3.org/2004/02/skos/core#exactMatch'] = array();
                         }
                         if ($result->exactmatch_type == "uri") {
                             //on cherche si l'URI est connu dans notre système
                             $id = onto_common_uri::get_id($value);
                             $detail = array('uri' => $value);
                             if (isset($result->exactmatchlabel)) {
                                 $detail['label'] = $result->exactmatchlabel;
                             }
                             if ($id) {
                                 $detail['id'] = $id;
                             }
                             if (!in_array($detail, $details['http://www.w3.org/2004/02/skos/core#exactMatch'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#exactMatch'][] = $detail;
                             }
                         }
                         break;
                     case "closematch":
                         if (!isset($details['http://www.w3.org/2004/02/skos/core#closeMatch'])) {
                             $details['http://www.w3.org/2004/02/skos/core#closeMatch'] = array();
                         }
                         if ($result->closematch_type == "uri") {
                             //on cherche si l'URI est connu dans notre système
                             $id = onto_common_uri::get_id($value);
                             $detail = array('uri' => $value);
                             if (isset($result->closematchlabel)) {
                                 $detail['label'] = $result->closematchlabel;
                             }
                             if ($id) {
                                 $detail['id'] = $id;
                             }
                             if (!in_array($detail, $details['http://www.w3.org/2004/02/skos/core#closeMatch'])) {
                                 $details['http://www.w3.org/2004/02/skos/core#closeMatch'][] = $detail;
                             }
                         }
                         break;
                 }
             }
         }
     }
     return $details;
 }