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(); } }
Partager