annotate src/main/java/org/mpi/openmind/scripts/SicilyCase.java @ 112:933d17f95016

new script MigratePrimeAliases to migrate is_prime_alias_X_of.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 14 Aug 2019 20:48:02 +0200
parents 615d27dce9b3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package org.mpi.openmind.scripts;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.sql.Connection;
jurzua
parents:
diff changeset
4 import java.sql.DriverManager;
jurzua
parents:
diff changeset
5 import java.sql.ResultSet;
jurzua
parents:
diff changeset
6 import java.sql.SQLException;
jurzua
parents:
diff changeset
7 import java.sql.Statement;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import org.mpi.openmind.cache.WrapperService;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.repository.services.ServiceRegistry;
jurzua
parents:
diff changeset
12
jurzua
parents:
diff changeset
13 public class SicilyCase {
jurzua
parents:
diff changeset
14
jurzua
parents:
diff changeset
15 //public static String USER = "script-repo-name";
jurzua
parents:
diff changeset
16
jurzua
parents:
diff changeset
17 /*
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 select pl1.source_id as PL1, pl1.id, pl2.id, pl1.own_value from openmind.`node` as pl1, openmind.`node` as pl2
jurzua
parents:
diff changeset
20 where
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 pl1.node_type = 'RELATION' and
jurzua
parents:
diff changeset
23 pl2.node_type = 'RELATION' and
jurzua
parents:
diff changeset
24 pl1.system_status = 'CURRENT_VERSION' and
jurzua
parents:
diff changeset
25 pl2.system_status = 'CURRENT_VERSION' and
jurzua
parents:
diff changeset
26 pl1.source_obj_class = 'PLACE' and
jurzua
parents:
diff changeset
27 pl2.source_obj_class = 'PLACE' and
jurzua
parents:
diff changeset
28 pl1.target_obj_class = 'PLACE' and
jurzua
parents:
diff changeset
29 pl2.target_obj_class = 'PLACE' and
jurzua
parents:
diff changeset
30 pl1.source_id = pl2.source_id and
jurzua
parents:
diff changeset
31 pl1.id != pl2.id
jurzua
parents:
diff changeset
32
jurzua
parents:
diff changeset
33 */
jurzua
parents:
diff changeset
34
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 private WrapperService ontology;
jurzua
parents:
diff changeset
37 private static String sql =
jurzua
parents:
diff changeset
38 "select " +
jurzua
parents:
diff changeset
39 "pl1.source_id as srcId, " +
jurzua
parents:
diff changeset
40 "pl1.id as rel1Id, " +
jurzua
parents:
diff changeset
41 "pl2.id as rel2Id, " +
jurzua
parents:
diff changeset
42 "pl1.own_value, " +
jurzua
parents:
diff changeset
43 "pl1.target_id as tar1Id, " +
jurzua
parents:
diff changeset
44 "pl2.target_id as tar2Id " +
jurzua
parents:
diff changeset
45 "from openmind.`node` as pl1, openmind.`node` as pl2 " +
jurzua
parents:
diff changeset
46 "where " +
jurzua
parents:
diff changeset
47 "pl1.node_type = 'RELATION' and " +
jurzua
parents:
diff changeset
48 "pl2.node_type = 'RELATION' and " +
jurzua
parents:
diff changeset
49 "pl1.system_status = 'CURRENT_VERSION' and " +
jurzua
parents:
diff changeset
50 "pl2.system_status = 'CURRENT_VERSION' and " +
jurzua
parents:
diff changeset
51 "pl1.source_obj_class = 'PLACE' and " +
jurzua
parents:
diff changeset
52 "pl2.source_obj_class = 'PLACE' and " +
jurzua
parents:
diff changeset
53 "pl1.target_obj_class = 'PLACE' and " +
jurzua
parents:
diff changeset
54 "pl2.target_obj_class = 'PLACE' and " +
jurzua
parents:
diff changeset
55 "pl1.source_id = pl2.source_id and " +
jurzua
parents:
diff changeset
56 "pl1.id != pl2.id";
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 public SicilyCase(WrapperService ot){
jurzua
parents:
diff changeset
59 this.ontology = ot;
jurzua
parents:
diff changeset
60 }
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 public void execute(){
jurzua
parents:
diff changeset
63 try {
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 Connection conn;
jurzua
parents:
diff changeset
66
jurzua
parents:
diff changeset
67 Class.forName("com.mysql.jdbc.Driver").newInstance();
jurzua
parents:
diff changeset
68 String url = "jdbc:mysql://localhost/openmind?characterEncoding=UTF-8";
jurzua
parents:
diff changeset
69 conn = DriverManager.getConnection(url, "ismi", "ismipw");
jurzua
parents:
diff changeset
70
jurzua
parents:
diff changeset
71
jurzua
parents:
diff changeset
72 Statement st = conn.createStatement();
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 System.out.println("Executing:");
jurzua
parents:
diff changeset
78 System.out.println(sql);
jurzua
parents:
diff changeset
79 ResultSet rs = st.executeQuery(sql);
jurzua
parents:
diff changeset
80
jurzua
parents:
diff changeset
81 System.out.println("srcId\ttar1\ttar2");
jurzua
parents:
diff changeset
82
jurzua
parents:
diff changeset
83 while(rs.next()){
jurzua
parents:
diff changeset
84 Long srcId = rs.getLong("srcId");
jurzua
parents:
diff changeset
85 Long tar1Id = rs.getLong("tar1Id");
jurzua
parents:
diff changeset
86 Long tar2Id = rs.getLong("tar2Id");
jurzua
parents:
diff changeset
87 Long rel1Id = rs.getLong("rel1Id");
jurzua
parents:
diff changeset
88 Long rel2Id = rs.getLong("rel2Id");
jurzua
parents:
diff changeset
89
jurzua
parents:
diff changeset
90 Entity src = ontology.getEntityByIdReadOnly(srcId);
jurzua
parents:
diff changeset
91 Entity tar1 = ontology.getEntityByIdReadOnly(tar1Id);
jurzua
parents:
diff changeset
92 Entity tar2 = ontology.getEntityByIdReadOnly(tar2Id);
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 System.out.println(src.getOwnValue() + " [" +srcId + "]\t" + tar1.getOwnValue() + " [" + tar1Id + "]\t" + tar2.getOwnValue() + " [" + tar2Id + "]");
jurzua
parents:
diff changeset
95 }
jurzua
parents:
diff changeset
96
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98 conn.close();
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 } catch (ClassNotFoundException ex) {
jurzua
parents:
diff changeset
101 System.err.println(ex.getMessage());
jurzua
parents:
diff changeset
102 ex.printStackTrace();
jurzua
parents:
diff changeset
103 } catch (IllegalAccessException ex) {
jurzua
parents:
diff changeset
104 System.err.println(ex.getMessage());
jurzua
parents:
diff changeset
105 ex.printStackTrace();
jurzua
parents:
diff changeset
106 } catch (InstantiationException ex) {
jurzua
parents:
diff changeset
107 System.err.println(ex.getMessage());
jurzua
parents:
diff changeset
108 ex.printStackTrace();
jurzua
parents:
diff changeset
109 } catch (SQLException ex) {
jurzua
parents:
diff changeset
110 System.err.println(ex.getMessage());
jurzua
parents:
diff changeset
111 ex.printStackTrace();
jurzua
parents:
diff changeset
112 }
jurzua
parents:
diff changeset
113 }
jurzua
parents:
diff changeset
114
jurzua
parents:
diff changeset
115
jurzua
parents:
diff changeset
116 public static void main(String[] args) {
jurzua
parents:
diff changeset
117 ServiceRegistry services = new ServiceRegistry();
jurzua
parents:
diff changeset
118 SicilyCase script = new SicilyCase(services.getWrapper());
jurzua
parents:
diff changeset
119 script.execute();
jurzua
parents:
diff changeset
120 System.exit(0);
jurzua
parents:
diff changeset
121 }
jurzua
parents:
diff changeset
122 }