📄 io.java
字号:
package com;
import java.io.FileInputStream;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
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.ModelFactory;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import java.sql.*;
public class io {
public static void main(String[]args){
String Driver = "com.mysql.jdbc.Driver";//驱动程序
String URL = "jdbc:mysql://localhost:3306/db_owl";//连接的URL
String Username = "root";
String Password = "yhj";
try{
Class.forName(Driver).newInstance();
Connection con = DriverManager.getConnection(URL,Username,Password);
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//}
// catch(Exception ex){
// System.out.println(ex.getMessage());
//}
OntModel model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
try
{
File myFile = new File("D:\\杨惠洁\\privacy.owl");
model.read(new FileInputStream(myFile), "");
String file_name = myFile.getName();
System.out.println(file_name);
//model.read(new FileInputStream("D:\\杨惠洁\\sael_v1_0_fma_v1_0.owl"),"");
//model.read(new FileInputStream("D:\\杨惠洁\\privacy.owl"),"");
// model.read(new FileInputStream("D:\\杨惠洁\\PilotPollution1.owl"),"");
//model.read(new FileInputStream("D:\\杨惠洁\\o4oil.owl"),"");
//model.read(new FileInputStream("D:\\杨惠洁\\Jena\\Jena-2.5.4\\src-examples\\data\\test2.owl"),"");
//the class number
int j=0;
String sql = "select file_name from tb_fileindex where file_name='"+file_name+"'";
ResultSet result1 = stmt.executeQuery(sql);
if(result1.next())
{
{}
}
else{
sql="insert into tb_fileindex(file_name) values('"+file_name+"');";
stmt.execute(sql);
sql= "select file_id from tb_fileindex where tb_fileindex.file_name ='"+file_name+"';";
ResultSet result=stmt.executeQuery(sql);
while(result.next()){
int fid = result.getInt("file_id");
System.out.println(fid);
//list classes
for(Iterator i=model.listClasses();i.hasNext();)
{
OntClass c = (OntClass) i.next();
//getModel().usePrefix(c.getURI());
if (!c.isAnon()) {
// 如果不是匿名类,则打印类的名字
j++;
String Class = c.getLocalName();
sql = "select class_name from tb_fileindex,tb_class where class_name='"+Class+"'AND tb_class.file_id=tb_fileindex.file_id ;";
result1 = stmt.executeQuery(sql);
if(result1.next())
{
{}
}
else{
sql= "insert into tb_class(class_id,class_name,file_id) values('"+j+"','"+Class+"','"+fid+"');";
//sql = "update tb_class set class_id = 'j',class_name = Class,file_id = fid where id='j'";
stmt.execute(sql);
// sql= "select id from tb_class where tb_class.class_name ='"+Class+"'and file_id='"+fid+"';";
// result=stmt.executeQuery(sql);
//result = stmt.getResultSet();
//int cid=0;
// while(result.next()){
// cid = result.getInt("id");
//System.out.println(cid); }
//to list sub-classes for each class
// result.close();
for (Iterator k = c.listSuperClasses(true); k.hasNext();)
{
OntClass sp = (OntClass) k.next();
//String str = c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI()) // 获取URI
//+ "'s superClass is " ;
if (!sp.isAnon()){
String strSP = sp.getLocalName();
sql = "select spclass_name from tb_superclass,tb_class where spclass_name='"+strSP+"'AND tb_superclass.class_id=tb_class.id AND tb_class.class_name ='"+Class+"';";
result1 = stmt.executeQuery(sql);
if(result1.next())
{
{}
}
else{
sql="insert into tb_superclass(spclass_name,class_id) values('"+strSP+"','"+j+"');";
stmt.execute(sql);
sql="UPDATE tb_superclass,tb_class set tb_superclass.class_id=tb_class.id WHERE spclass_name='"+strSP+"' AND tb_class.class_name ='"+Class+"'AND tb_superclass.class_id='"+j+"';";
stmt.execute(sql);}
}
//System.out.println("super class:"+strSP);}
else{
{}
}
// super class ends
}
//Iterator k=c.listSubClasses(true);
for( Iterator k=c.listSubClasses(true);k.hasNext();)
//while(k.hasNext())
{
//System.out.println(" "+"hasSubClass");
OntClass subclass=(OntClass)k.next();
String strSubClass=subclass.getLocalName();
sql = "select subclass_name from tb_subclass,tb_class where subclass_name='"+strSubClass+"'AND tb_subclass.class_id=tb_class.id AND tb_class.class_name ='"+Class+"';";
result1 = stmt.executeQuery(sql);
if(result1.next())
{
{}
}
else{
sql= "insert into tb_subclass(subclass_name,class_id) values('"+strSubClass+"','"+j+"');";
stmt.execute(sql); //"select tb_class.id from tb_class where tb_class.class_name ='"+Class+"';" +
sql="UPDATE tb_subclass,tb_class set tb_subclass.class_id=tb_class.id where subclass_name='"+strSubClass+"' AND tb_class.class_name ='"+Class+"'AND tb_subclass.class_id='"+j+"';";
stmt.execute(sql);
//getModel().usePrefix(subclass.getURI());
// System.out.println(" "+"hasSubClass:"+strSubClass);
} }
// for(Iterator y=c.listDeclaredProperties(true);y.hasNext();)
Iterator y=c.listDeclaredProperties(true);
while(y.hasNext())
{
OntProperty property=(OntProperty)y.next();
String strPropertyName=property.getLocalName();
sql = "select property from tb_property,tb_class where property='"+strPropertyName+"'AND tb_property.class_id=tb_class.id AND tb_class.class_name ='"+Class+"';";
result1 = stmt.executeQuery(sql);
if(result1.next())
{
{}
}
else{
sql= "insert into tb_property(property,class_id) values('"+strPropertyName+"','"+j+"');";
stmt.execute(sql);
//"select tb_class.id from tb_class where tb_class.class_name ='"+Class+"';" +
sql="UPDATE tb_property,tb_class set tb_property.class_id=tb_class.id where tb_property.property = '"+strPropertyName+"' AND tb_class.class_name = '"+Class+"'AND tb_property.class_id='"+j+"' ;";
stmt.execute(sql);
//System.out.println("associated property:"+strPropertyName.substring(0));
}}
//}
// cid++;
}
}
else{
// 是匿名类;
{}
}
}
}
/*sql= "select * from tb_fileindex;";
ResultSet result1 = stmt.executeQuery(sql);
while(result1.next()){
System.out.print("name:"+result1.getString("file_name")+" ");
System.out.print("file_id:"+result1.getString("file_id")+" \n");
}*/
result.close();
}
}
catch(IOException ioe)
{
System.err.println(ioe.toString());
}
model.close();
stmt.close();
con.close();
}
catch(Exception ex){
System.out.println(ex.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -