function getRdfConcept($idNoeud) { global $lang; $arrayTriples = array(); $noeud = new noeuds($idNoeud); $thes = new thesaurus($noeud->num_thesaurus); $uriConcept = $this->baseUriConcept . $idNoeud; $uriThes = $this->baseUriThesaurus . $noeud->num_thesaurus; //Si le noeud possède un renvoi-voir, la catégorie n'est pas dans le graphe, il n'y a que son libellé en altLabel sur le renvoi if ($noeud->num_renvoi_voir) { return $arrayTriples; } //Type $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "rdf:type"; $triple[2] = "skos:Concept"; $arrayTriples[] = $triple; //Appartenance au schéma $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:inScheme"; $triple[2] = '<' . $uriThes . '>'; $arrayTriples[] = $triple; //Catégorie $categ = new categories($idNoeud, $thes->langue_defaut); //Label $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:prefLabel"; $triple[2] = '"' . addslashes($categ->libelle_categorie) . '"'; $arrayTriples[] = $triple; //Note application if ($tmp = trim($categ->note_application)) { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:scopeNote"; $triple[2] = '"' . $tmp . '"'; $arrayTriples[] = $triple; } //Commentaire public if ($tmp = trim($categ->comment_public)) { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:note"; $triple[2] = '"' . $tmp . '"'; $arrayTriples[] = $triple; } //Noeud if ($noeud->num_parent) { if ($thes->num_noeud_racine == $noeud->num_parent) { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:topConceptOf"; $triple[2] = '<' . $uriThes . '>'; $arrayTriples[] = $triple; } else { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:broader"; $triple[2] = '<' . $this->baseUriConcept . $noeud->num_parent . '>'; $arrayTriples[] = $triple; } } //Les renvois $res = $noeud->listTargets(); if (mysql_num_rows($res)) { while ($row = mysql_fetch_array($res)) { $renvoi = new categories($row[0], $thes->langue_defaut); $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:altLabel"; $triple[2] = '"' . addslashes($renvoi->libelle_categorie) . '"'; $arrayTriples[] = $triple; } } //Gestion des enfants : on veut les enfants, même avec renvois (poly-hiérarchie) $res = noeuds::listChilds($idNoeud, 1); if (mysql_num_rows($res)) { while ($row = mysql_fetch_array($res)) { $enfant = new noeuds($row[0]); if ($enfant->num_renvoi_voir) { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:narrower"; $triple[2] = '<' . $this->baseUriConcept . $enfant->num_renvoi_voir . '>'; $arrayTriples[] = $triple; } else { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:narrower"; $triple[2] = '<' . $this->baseUriConcept . $row[0] . '>'; $arrayTriples[] = $triple; } } } //Les voir aussi $res = $noeud->listUsedInSeeAlso(); if (mysql_num_rows($res)) { while ($row = mysql_fetch_array($res)) { $triple = array(); $triple[0] = '<' . $uriConcept . '>'; $triple[1] = "skos:related"; $triple[2] = '<' . $this->baseUriConcept . $row[0] . '>'; $arrayTriples[] = $triple; } } return $arrayTriples; }