3,7 → 3,7 |
* Exemple de lancement du script : /opt/lampp/bin/php cli.php ontologie -a analyser |
* |
*/ |
class Prometheus extends Script { |
class Prometheus extends EfloreScript { |
|
private $lecteur = null; |
private $fichier = ''; |
35,11 → 35,19 |
|
public function executer() { |
try { |
$this->bdd = new Bdd(); |
$this->initialiserProjet('prometheus'); |
|
$this->fichier = realpath(dirname(__FILE__)).'/../../../donnees/prometheus/v1.00_2003-02-18/Ontology.xml'; |
// Lancement de l'action demandée |
$cmd = $this->getParametre('a'); |
switch ($cmd) { |
case 'chargerTous' : |
$this->chargerStructureSql(); |
$this->lireFichierXml(); |
break; |
case 'chargerStructureSql' : |
$this->chargerStructureSql(); |
break; |
case 'analyser' : |
$this->vider(); |
$this->lireFichierXml(); |
46,6 → 54,9 |
break; |
case 'vider' : |
$this->vider(); |
case 'supprimerTous' : |
$this->supprimerTous(); |
break; |
default : |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!"); |
} |
438,9 → 449,9 |
} |
|
private function insererLotDeTermes() { |
$champs = implode(',', array('id_terme', 'ce_type', 'terme', 'definition', 'preference', 'ce_auteur', 'ce_publication', 'ce_image')); |
$champs = implode(',', array('id_terme', 'ce_type', 'nom_en', 'description_en', 'preference', 'ce_auteur', 'ce_publication', 'ce_image')); |
$values = $this->creerValues($this->lotsTermes); |
$requete = "INSERT INTO prometheus_ontologie_terme_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_terme_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
447,7 → 458,7 |
private function insererLotDeRelations() { |
$champs = implode(',', array('id_terme_01', 'id_terme_02', 'relation')); |
$values = $this->creerValues($this->lotsRelations); |
$requete = "INSERT INTO prometheus_ontologie_relation_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_relation_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
454,7 → 465,7 |
private function insererLotImages() { |
$champs = implode(',', array('id_image', 'uri', 'ce_publication')); |
$values = $this->creerValues($this->lotsImages); |
$requete = "INSERT INTO prometheus_ontologie_image_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_image_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
461,7 → 472,7 |
private function insererLotDePublications() { |
$champs = implode(',', array('id_publication', 'ce_auteur_principal', 'titre', 'date', 'uri')); |
$values = $this->creerValues($this->lotsPublications); |
$requete = "INSERT INTO prometheus_ontologie_publication_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_publication_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
468,7 → 479,7 |
private function insererLotAuteurs() { |
$champs = implode(',', array('id_auteur', 'prenom', 'nom', 'naissance_date', 'deces_date')); |
$values = $this->creerValues($this->lotsAuteurs); |
$requete = "INSERT INTO prometheus_ontologie_auteur_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_auteur_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
475,7 → 486,7 |
private function insererLotHierarchie() { |
$champs = implode(',', array('id_noeud', 'id_noeud_parent', 'chemin_noms', 'chemin_ids', 'ce_terme')); |
$values = $this->creerValues($this->lotsHierarchie); |
$requete = "INSERT INTO prometheus_ontologie_hierarchie_v1_00 ($champs) VALUES $values"; |
$requete = "INSERT INTO prometheus_ontologies_hierarchie_v1_00 ($champs) VALUES $values"; |
$this->executerSql($requete); |
} |
|
497,26 → 508,33 |
} |
|
private function executerSql($requete) { |
$this->bdd->requeter($requete); |
$this->getBdd()->requeter($requete); |
} |
|
private function proteger($chaine) { |
return $this->bdd->proteger($chaine); |
return $this->getBdd()->proteger($chaine); |
} |
|
private function vider() { |
$requete = 'TRUNCATE TABLE prometheus_ontologie_auteur_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_auteur_v1_00'; |
$this->executerSql($requete); |
$requete = 'TRUNCATE TABLE prometheus_ontologie_hierarchie_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_hierarchie_v1_00'; |
$this->executerSql($requete); |
$requete = 'TRUNCATE TABLE prometheus_ontologie_image_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_image_v1_00'; |
$this->executerSql($requete); |
$requete = 'TRUNCATE TABLE prometheus_ontologie_publication_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_publication_v1_00'; |
$this->executerSql($requete); |
$requete = 'TRUNCATE TABLE prometheus_ontologie_relation_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_relation_v1_00'; |
$this->executerSql($requete); |
$requete = 'TRUNCATE TABLE prometheus_ontologie_terme_v1_00'; |
$requete = 'TRUNCATE TABLE prometheus_ontologies_terme_v1_00'; |
$this->executerSql($requete); |
} |
|
private function supprimerTous() { |
$requete = "DROP TABLE prometheus_meta, prometheus_ontologies_auteur_v1_00, prometheus_ontologies_hierarchie_v1_00, |
prometheus_ontologies_image_v1_00, prometheus_ontologies_publication_v1_00, prometheus_ontologies_relation_v1_00, |
prometheus_ontologies_terme_v1_00, prometheus_ontologies_type_v1_00"; |
$this->getBdd()->requeter($requete); |
} |
} |
?> |