IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Frameworks Discussion :

Lire un modèle existant (avec oracle 12c + option de base de triplé) [Jena]


Sujet :

Frameworks

  1. #1
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut Lire un modèle existant (avec oracle 12c + option de base de triplé)
    Bonjour,

    J'ai vu quelques exemples de codes, tous utilisent la classe "oracle.spatial.rdf.client.jena.ModelOracleSem.createOracleSemModel(oracle, string);" qui permet de créer un modèle RDF, mais moi j'ai déjà créé une base SQLplus, et je veux faire un simple READ. Y-t-il une façon de faire plus simple?

    NB : mon cheminement a été le suivant, j'ai réalisé ce tutoriel (tout marche très bien), mais là je veux reproduire des requêtes CRUD sur le modèle Family (modèle qui est extrait de la documentation d'oracle) avec JAVA en utilisant l'API Jena.

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    public class Call {
    
        private String modelName = "datebaseeva";
        private String modelName2 = "datebaselocale";
        private String modelName3 = "datebaselocalebackup";
        private String modelName4 = "datebaseMesuresMains";
    
        private ModelOracleSem modelEVA;
        private ModelOracleSem modelLOCALE;
        private ModelOracleSem modelLocaleBACKUP;
        private ModelOracleSem modelMesuresMains;
        
        private static Model modelEVALOCALE;
    
        
        private Call(OracleThin oracleThin) {
            modelEVA = OracleThin.createOracleSemModel(oracleThin.getOracle(), modelName);
            modelLOCALE = OracleThin.createOracleSemModel(oracleThin.getOracle(), modelName2);
            modelLocaleBACKUP = OracleThin.createOracleSemModel(oracleThin.getOracle(), modelName3);
            modelMesuresMains = OracleThin.createOracleSemModel(oracleThin.getOracle(), modelName4);
    
            //Union between tow triplet model
            modelEVALOCALE = modelEVA.union(modelLOCALE);
            DateUtil.synchronizeDate(); 
        }
    
        private void query(Model modelEVALOCALE) {
            String mesureId = "http://example.ca/datest#MIDATDEV/MESURE_MES_EVA_22344";
            String poste_id = "POS892110"; //String transfo_id="XFO243337"; 
            float huile = -1;
    
            String sprqlClass = "vocab:MIDATDEV_MESURE";
            String sprqlVar = "<http://example.ca/datest#MIDATDEV/TRANSFORMATEUR_XFO243337>";
            String transfo_id = "http://example.ca/datest#MIDATDEV/TRANSFORMATEUR_XFO_EVA_78648";
            String x = "http://example.ca/datest#MIDATDEV/MESURE_MES722169";
            String transfo = "http://example.ca/datest#MIDATDEV/TRANSFORMATEUR_XFO_EVA_82050";
    
            String queryString = 
                    new String("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
                    + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"
                    + "PREFIX xsd:   <http://www.w3.org/2001/XMLSchema#>"
                    + "PREFIX msr_S: <http://example.ca/datest#MIDATDEV/MESURE_>"
                    + "PREFIX msr_P: <http://example.ca/schema/datest#MIDATDEV_MESURE_>"
                    + "PREFIX trsf_S: <http://example.ca/datest#MIDATDEV/TRANSFORMATEUR_>"
                    + "PREFIX trsf_P: <http://example.ca/schema/datest#MIDATDEV_TRANSFORMATEUR_>"
                    + "PREFIX param_S: <http://example.ca/datest#MIDATDEV/JEUX_DE_PARAMETRES_>"
                    + "PREFIX param_P: <http://example.ca/schema/datest#MIDATDEV_JEUX_DE_PARAMETRES_>"
                    + "PREFIX intrv_S: <http://example.ca/datest#MIDATDEV/INTERVENTION_>"
                    + "PREFIX intrv_P: <http://example.ca/schema/datest#MIDATDEV_INTERVENTION_>"
                    + "PREFIX affect_S: <http://example.ca/datest#MIDATDEV/AFFECTATION_TRANSFORMATEURS_>"
                    + "PREFIX affect_FAUX: <http://example.ca/datest#MIDATDEV_AFFECTATION_TRANSFORMATEURS_>"
                    + "PREFIX affect_P: <http://example.ca/schema/datest#MIDATDEV_AFFECTATION_TRANSFORMATEURS_>"
                    + "PREFIX vocab: <http://example.ca/schema/datest#>"
                    + "SELECT *"
                    + "WHERE {"
                    + "?affect a vocab:MIDATDEV_AFFECTATION_TRANSFORMATEURS . "
                    + "?affect vocab:MIDATDEV_AFFECTATION_TRANSFORMATEURS_POSTE_ID ?poste . "
                    + "optional{?poste <http://www.w3.org/2000/01/rdf-schema#label>  ?plabel . } "
                    + "optional{?poste vocab:MIDATDEV_POSTE_NOM ?pnom . }"
                    + "?affect vocab:MIDATDEV_AFFECTATION_TRANSFORMATEURS_TRANSFORMATEUR_ID <" + transfo_id + "> . "
                    + "optional{<" + transfo_id + "> vocab:MIDATDEV_TRANSFORMATEUR_NOM ?tnom. }"
                    + "optional{<" + transfo_id + "> <http://www.w3.org/2000/01/rdf-schema#label> ?tlabel. }"
                    + "OPTIONAL {<" + transfo_id + "> vocab:MIDATDEV_TRANSFORMATEUR_TRANSFORMATEUR_NO ?tno. }"
                    + "}"
                    + "ORDER BY ASC (?pnom) ASC (?plabel) ASC (?tlabel)");
    
            Query query = QueryFactory.create(queryString);
            QueryExecution qe = QueryExecutionFactory.create(query, modelEVALOCALE);
            ResultSet results = qe.execSelect();
    
            ResultSetFormatter.out(System.out, results, query);
        }
    
        private void close() {
            modelLOCALE.close();
            modelEVA.close();
            modelEVALOCALE.close();
            modelMesuresMains.close();
            modelLocaleBACKUP.close();
        }
    
        public static void main(String[] args) throws SQLException {
            OracleThin oracleThin = OracleThin.getInstance();
            Call call = new Call(oracleThin);
            
            call.query(modelEVALOCALE);
            
            call.close();
            oracleThin.getOracle().dispose();
        }
    
    }

  2. #2
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    j'ajoute le message d'erreur que j'ai que je n'arrive pas a expliqué pour le même code (1er posté) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    ------------------------------------------------------------------------
    Building Oracle12c 1.0-SNAPSHOT
    ------------------------------------------------------------------------
    
    --- exec-maven-plugin:1.2.1:exec (default-cli) @ Oracle12c ---
    Oct 07, 2014 4:05:52 PM ca.XXXX.liost.oracle12c.connect.OracleThin <init>
    INFO: Connection try ... : jdbc:oracle:thin:@liost:1521:LIOST with user odemardfusr
    Oct 07, 2014 4:05:53 PM ca.XXXX.liost.oracle12c.connect.OracleThin createOracleSemModel
    SEVERE: Erreur of createOracleSemModel :72000
    java.sql.SQLException: ORA-13199:  Error in SDO_RDF.CREATE_RDF_MODEL: SQLERRM=ORA-55317: model "FAMILY" already exists dss=SELECT count("TRIPLE") FROM "FAMILY_TPL"
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF", line 1913
    ORA-06512: at line 1
    
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
    	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)
    	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)
    	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
    	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
    	at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:210)
    	at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:53)
    	at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:938)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1075)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)
    	at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3923)
    	at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:5617)
    	at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1385)
    	at oracle.spatial.rdf.client.jena.Oracle.executeCall(Oracle.java:756)
    	at oracle.spatial.rdf.client.jena.OracleModelBase.createTables(OracleModelBase.java:2245)
    	at oracle.spatial.rdf.client.jena.GraphOracleSem.createTables(GraphOracleSem.java:977)
    	at oracle.spatial.rdf.client.jena.GraphOracleSem.<init>(GraphOracleSem.java:853)
    	at oracle.spatial.rdf.client.jena.GraphOracleSem.<init>(GraphOracleSem.java:762)
    	at oracle.spatial.rdf.client.jena.GraphOracleSem.<init>(GraphOracleSem.java:663)
    	at oracle.spatial.rdf.client.jena.GraphOracleSem.<init>(GraphOracleSem.java:509)
    	at oracle.spatial.rdf.client.jena.ModelOracleSem.createOracleSemModel(ModelOracleSem.java:86)
    	at ca.XXXX.liost.oracle12c.connect.OracleThin.createOracleSemModel(OracleThin.java:32)
    	at ca.XXXX.liost.oracle12c.crud.Select.<init>(Select.java:26)
    	at ca.XXXX.liost.oracle12c.crud.Select.main(Select.java:57)
    
    ------------------------------------------------------------------------
    BUILD SUCCESS
    ------------------------------------------------------------------------
    Total time: 3.948s
    Finished at: Tue Oct 07 16:05:53 EDT 2014
    Final Memory: 5M/123M
    ------------------------------------------------------------------------
    Sinon je me suis dit qu'il y a une autre méthode que createOracleSemModel mais je trouve pas !!!

  3. #3
    Membre éprouvé
    Avatar de Sapience
    Homme Profil pro
    Consultant sémantique & data à sparna.fr
    Inscrit en
    Avril 2005
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant sémantique & data à sparna.fr
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 305
    Points : 915
    Points
    915
    Par défaut
    Ta question est trop pointue et porte sur une solution commerciale, il y a trop peu de chances que quelqu'un te réponde. Essaie sur le forum d'Oracle :
    https://community.oracle.com/communi...semantic_graph

  4. #4
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Citation Envoyé par Sapience Voir le message
    Ta question est trop pointue et porte sur une solution commerciale, il y a trop peu de chances que quelqu'un te réponde. Essaie sur le forum d'Oracle :
    https://community.oracle.com/communi...semantic_graph
    Ok merci, je viens de poster mon sujet :
    https://community.oracle.com/message/12678523#12678523

    Mon anglais n'est pas très bon, n'hésite pas à me corriger au besoin s'il y des choses qui manque.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Livre] Oracle 12c - Administrer une base de données
    Par Francis Walter dans le forum Livres
    Réponses: 0
    Dernier message: 02/12/2014, 16h18
  2. Réponses: 4
    Dernier message: 21/04/2011, 18h05
  3. Réponses: 2
    Dernier message: 28/12/2005, 13h59
  4. [Crystal Report 9] Changer de schéma avec Oracle
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2002, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo