Cómo almacenar archivos de ontología OWL en la base de datos
¿Eclipsado
MySQL? ¿servidor? 5.5-win32
jena2.6.4
Protect 4.3
Conector-MySQL-Java-5.1.35 (MySQL JDBC)
1 .? Crear una base de datos con MySQL:¿Crear? ¿base de datos? Ontología_militar;
2.? Abra Eclipse y cree un nuevo proyecto Java llamado Military_ontology. (Archivo-Nuevo-Java? Proyecto, ingrese el nombre Military_ontology y haga clic en Siguiente)
3.? Al crear un nuevo proyecto, importe el paquete Jena de MySQL y JDBC respectivamente. (Haga clic en Biblioteca - Haga clic en Agregar?Externo?Jar, agregue todos los archivos.jar en los directorios JDBC y Jena, C:\Program?Files\MySQL\MySQL?Connector?j y G:\Jena\lib, haga clic para completar) p>
4.? Cree un nuevo archivo Java (Nueva Clase) llamado Military_ontology.java en el directorio del proyecto Military_ontology\src\;
5.? Comience a escribir el siguiente código en Military_ontology.java:
¿Paquete? Military_Ontology;
¿Importar? Java.io.*; //Importa todas las clases del paquete IO.
¿Importado? Java. SQL. Excepción de SQL; //Importar paquete de manejo de excepciones relacionado con SQL
¿Importar? com. HP. HPL. jena. db *; //Importar el paquete de la base de datos de jena.
¿Importar? com. HP. HPL. jena. rdf. *; //Importar el paquete de jena sobre el modelo. com. HP. HPL. jena. ontología. modelo; //Importar paquete OntModel
¿Importar? com . HPL . jena . ontmodelspec; //Importar paquete OntModelSpec
defModelo? =?null
if (connection.containsmodel("militaryDB"))//Determine si el modelo denominado base de datos militar ya tiene datos.
{
defModel? =?maker.openModel("militaryDB ", true); //Si los datos existen, abra este modelo.
System.out.println("Abrir modelo existente");?
}
Otro
{ ?
defModel? =?maker . create model("military db "); //Si los datos no existen, crea este modelo.
System.out.println("Crear nuevo modelo");
}
OntModelSpec? ¿Especificación? =?¿Nuevo? OntModelSpec(OntModelSpec.OWL_MEM);
OntModel? ¿Modelo DB? =?model factory.createontologymodel(specification,?def model);
//Convierte el modelo temporal a un modelo de ontología (formato OWL), donde el parámetro de especificación indica que el modelo existe en la memoria.
¿FileInputStream? ¿leer? =?null//Definir e inicializar la lectura de la variable de flujo de entrada del archivo
Probar
{
¿Archivo? ¿documento? =?¿Nuevo? Archivo (" g:/Proyecto de Graduación/Software/Ejemplo de Ontología/Ontología1428926241032/Ontología1428926241032.
Owl");
¿Leyendo? =? ¿Nuevo? FileInputStream(file); //Leer el archivo de ontología OWL
}
¿Catch? (FileNotFoundException ? E) //Se produjo una excepción al capturar y leer el archivo
{
e. archivo de ontología, verifique la dirección y el nombre del archivo");
}
System.out.println("El archivo de ontología se ha convertido en un archivo de flujo de bytes.");
InputStreamReader? =?null//Definir e inicializar la variable de conversión del flujo de entrada
{
in?=?new?InputStreamReader((file inputstream)read ,?"UTF-8");//Convertir archivo de flujo de bytes a codificación UTF 8
System.out.println(" El archivo de limitación se ha convertido a codificación UTF-8. ");?
}?
Catch? (UnsupportedEncodingException?E)//Catch excepción de conversión
{
e . p>
El conjunto de caracteres anterior no es compatible);
}
defModel.read( in, null //Leer el archivo continuo en el modelo de base de datos ); p>
def model . commit(); //Guardar el modelo en la base de datos
System.out.println(" La conversión de datos se completó y el archivo de ontología se almacenó en la base de datos. " );
¿Intentar?
{
in . close();
System.out.println("El archivo de flujo de bytes tiene cerrado.");?
}?
¿Catch? (IOException? E)//Capturar entrada Salida excepción.
{
e. printstacktrace();
System.out.println("No se puede cerrar el archivo de flujo de bytes.");
p>}
Intente
{
conexión . close(); //Cerrar la conexión
System.out. /p>
}?
¿Atrapar? (SQLException? e)
{
e . printstacktrace();
System.out.println("No se puede cerrar la conexión.");< /p >
}
}?
¿Capturar? (RDFRDBException?e)
{
System.out.println("Se produjo una excepción");
}
System.out .println("El archivo de ontología se ha conservado en la base de datos sin excepción");
}
}
Después de ejecutar el programa, la ontología se almacena. en la base de datos MySQL. La base de datos generará la siguiente tabla:
Jena_g1t0_reif almacena los datos de la ontología procesada.
Jena_g1t1_stmt almacena la información de datos de la ontología.
Jena_graph almacena el nombre y el identificador único de cada gráfico de usuario.
Jena_dragon_lit? Almacene constantes de caracteres largos que no son convenientes para almacenar directamente en la tabla de declaraciones.
jena_long_uri? Almacene URI de recursos largos que no sean convenientes para el almacenamiento directo en tablas de declaraciones.
Jena_prefix almacena el prefijo del URI. El prefijo solo se almacena una vez, ahorrando espacio.
Jena_sys_stmt almacena información de metadatos de la ontología.
Los datos principales existen en dos tablas.
1) Ontología_militar. jena_g1t1_stmt? Almacene la información de datos de la ontología.
2)military_ontology.jena_sys_stmt? Almacenar información de metadatos de la ontología.