Transférer les données d'une BD mysql à une ontologie

marhachi Messages postés 2 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 28 avril 2015 - 28 avril 2015 à 10:45
marhachi Messages postés 2 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 28 avril 2015 - 28 avril 2015 à 11:15
Bonjour,

j'ai créé une ontologie avec protégé.
Je cherche un code pour remplir cette ontologie à partir d'une base de données (Mysql).
Merci d'avance pour votre aide!

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
28 avril 2015 à 11:01
Bonjour,

Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide dans
laquelle toutes les réponses sur le forum sont assurées par des bénévoles
qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit"
et ne sommes pas là pour remplacer votre moteur de recherches...
... Soit tu trouves ton bonheur dans la partie "sources" du site, soit à l'aide de ton moteur de recherche favori.

Ici, nous aidons volontiers sur des sujets techniques précis.

Je t'invite à lire avec attention le contenu du lien suivant :
charte-de-commentcamarche-net : conseils-d-ecriture

Ainsi que celui concernant l'utilisation de la coloration syntaxique :
Utilisation des Balises de code

Merci donc de reformuler ta demande en respectant ces quelques points.

Quelques points essentiels à retenir :
- On ne pose qu' UNE question par discussion
- Le titre de la question doit refléter le souci rencontré ( Help.. SOS.. Urgent.. n'apporte aucune information utile !)
- Lorsque votre question est résolue.. merci de clore le sujet (lien Marquer comme résolu se trouvant sous le titre de votre question).
- Une question obtiendra de meilleurs réponses si elle est correctement rédigée, que les explications sont clairs et qu'éventuellement vous postez le code qui pose problème.
- Si vous avez un message d'erreur..... MARQUEZ LE (dans son intégralité).

Merci.


0
marhachi Messages postés 2 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 28 avril 2015
28 avril 2015 à 11:15
J'ai un code qui remplit une base de données (Mysql) à partir d'une ontologie.

J'ai besoin d'un code qui fait l'inverse.

Voici le code:

import com.hp.hpl.jena.ontology.Individual;
import com.hp.hpl.jena.ontology.ObjectProperty;
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.ontology.OntProperty;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.query.*;
import com.hp.hpl.jena.util.FileManager;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.VCARD;
import com.hp.hpl.jena.ontology.DatatypeProperty;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.Collections;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.PrintWriter;

import org.apache.jena.atlas.logging.Log;
import org.apache.jena.iri.impl.Main;
import org.openjena.atlas.io.IndentedWriter;

import java.math.*;
import java.sql.*;
import java.sql.Statement;
import java.sql.ResultSet;



public class Hellojena {

//private static final OntClass Personne = null;

//private static Scanner kB;

public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException, FileNotFoundException {


Statement stmt;
int mode;
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url=new String("jdbc:mysql://localhost:3306/ontocl");
Connection conn=DriverManager.getConnection(url, "root",null);
System.out.println("connexion etablir...");
stmt=conn.createStatement();

OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
//model.read(reader,null);


FileInputStream in = null;
try
{
in=new FileInputStream("C:/Users/ontologies/exemple.owl");
}
catch (FileNotFoundException ex)
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
model.read(in,null,null);




Iterator classIter = model.listClasses();

while (classIter.hasNext()) {

OntClass ontClass = (OntClass) classIter.next();
String uri = ontClass.getLocalName();
if(uri != null)
System.out.println(uri);




///////////// l'ajout des classes et ses sous classes //////////////////////////
if(ontClass.hasSubClass())
{
Iterator s = (Iterator) ontClass.listSubClasses();

for (Iterator i = ontClass.listSubClasses(); i.hasNext();) {
OntClass c = (OntClass) i.next();
System.out.print(" " + c.getLocalName() + " " + "\n");

String req="INSERT INTO `ontocl`.`Tp` ( `Subject` , `Property` , `Object` )"+
"VALUES ( '"+uri+"', 'subClassOf', '"+c.getLocalName()+"');";

mode=stmt.executeUpdate(req);
System.out.println(req);

}
}

}

                
0
Rejoignez-nous