Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Cómo almacenar archivos de ontología OWL en la base de datos

Cómo almacenar archivos de ontología OWL en la base de datos

¿Instalar el software necesario y configurar el entorno de desarrollo

¿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)

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

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.

上篇: ¡Nacido con buena suerte, serás una persona rica de principio a fin de tu vida! ¿Cuáles son los cuatro signos del zodíaco que el Dios de la Riqueza “favorece”? 下篇: La concha vacía de Zhou Gong_El sueño de la concha vacía
Artículos populares