/**
  * Retourne le nombre de lignes de la dernière requete SPARQL sur le store de données SKOS
  * @return <p>Nombre de lignes pour la dernière requete<br>FALSE si le store n'est pas initialisé</p>
  * @access public
  */
 public static function num_rows()
 {
     if (is_object(self::$store)) {
         return self::$store->num_rows();
     }
     return false;
 }
 /**
  * Retoune les labels PMB des propriétés d'une classe de l'ontologie SKOS. Interroge le store si nécessaire
  * @param class_uri string  <p>URI de la classe associée</p>
  * @return <p>Retourne le tableau de labels associés</p>
  * @access public
  */
 public static function get_properties_labels($class_uri)
 {
     // on trouve les libellés?
     if (!isset(self::$labels[$class_uri])) {
         //on recherche toutes les propriétés associés
         $query = "select * where {\n\t\t\t\t?property rdf:type <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .\n\t\t\t\t?property rdfs:label ?label .\n\t\t\t\t?property pmb:name ?name . \n\t\t\t\toptional {\n\t\t\t\t\t?property rdfs:domain ?domain\n\t\t\t\t}\t\t\t\t\n\t\t\t}";
         self::query($query);
         if (self::$store->num_rows()) {
             $result = self::$store->get_result();
             //init de la static pour la classe concernée
             self::$labels[$class_uri] = array();
             foreach ($result as $property) {
                 if (!isset($property->domain) || $property->domain == $class_uri) {
                     self::$labels[$class_uri][$property->property] = array('pmb_name' => $property->name);
                     self::$labels[$class_uri][$property->property]['label'] = self::calc_label($class_uri, $property->property, $property->label);
                 }
             }
         }
     }
     return self::$labels[$class_uri];
 }
 public function get_display_label()
 {
     if (!$this->display_label) {
         global $lang;
         $this->get_data_store();
         $query = "select * where {\n\t\t\t\t<" . $this->uri . "> <http://www.w3.org/2004/02/skos/core#prefLabel> ?label\n\t\t\t}";
         $this->data_store->query($query);
         if ($this->data_store->num_rows()) {
             $results = $this->data_store->get_result();
             foreach ($results as $key => $result) {
                 if ($result->label_lang == substr($lang, 0, 2)) {
                     $this->display_label = $result->label;
                     break;
                 }
             }
             //pas de langue de l'interface trouvée
             if (!$this->display_label) {
                 $this->display_label = $result->label;
             }
         }
     }
     return $this->display_label;
 }