/** * Retourne le résulat de la dernière requete SPARQL sur le store de données SKOS * @return <p>Tableau du résultat pour la dernière requete<br>FALSE si le store n'est pas initialisé</p> * @access public */ public static function get_result() { if (is_object(self::$store)) { return self::$store->get_result(); } 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; }