Upload
doanliem
View
221
Download
0
Embed Size (px)
Citation preview
PROTOTIPO DE UN MODULO DE BUSQUEDA SEMANTICA PARA LA PLATAFORMA GreenIDI
TR-‐IIIA-‐2013-‐01
Antonio Cala
Marco Schorlemmer
Pablo Noriega
IIIA-‐CSIC
Proyecto GreenIDI.
Innpacto IPT-‐310000-‐20120-‐039
IIIA-‐CSIC
2
IIIA-‐CSIC
3
CONTENIDO
OBJETIVO ................................................................................................................................... 5
1. INTRODUCCIÓN ................................................................................................................ 7
2. ONTOLOGÍAS .................................................................................................................... 7
3. VISIÓN DE USO ............................................................................................................... 15
4. TRABAJO CON ONTOLOGÍAS ..................................................................................... 16
1.1. INICIAR ONTOLOGÍAS ................................................................................................... 16
1.2. CARGAR UNA ONTOLOGÍA ........................................................................................... 16
1.3. CARGAR Y GUARDAR DATOS EN UNA ONTOLOGÍA DESDE UNA FUENTE EXTERNA ..... 17
1.4. INTEGRACION DE LOS ELEMENTOS ANTERIORES ......................................................... 17
5. CONSULTAS .................................................................................................................... 18
1.5. USO DE CONSULTAS TIPO (O “PREFABRICADAS”) ........................................................ 19
1.6. CONSULTAS EN SPARQL ................................................................................................ 20
1.7. INTEGRACIÓN DE LO ANTERIOR ................................................................................... 20
6. TRABAJO CON SIMILARIDAD SEMÁTICA ................................................................. 21
1.8. INICIALIZACIÓN DE SIMILARIDAD ................................................................................. 21
1.9. CONSULTANDO LA SIMILARIDAD ENTRE CONCEPTOS ................................................. 22
1.10. SIMILARIDAD EN CONSULTAS SPARQL ....................................................................... 23
1.11. INTEGRACIÓN ............................................................................................................. 25
7. USO DE UNA INTERFAZ GRÁFICA ............................................................................. 30
8. CUESTIONES A MEJORAR ........................................................................................... 31
9. IDEAS Y SOLUCIONES FUTURAS .............................................................................. 31
10. HERRAMIENTAS UTILIZADAS ..................................................................................... 32
1.12. INSTALACIÓN DE PROTEGE ......................................................................................... 33
1.13. INSTALACIÓN DE PELLET ............................................................................................. 33
11. BIBLIOGRAFÍA ................................................................................................................. 33
IIIA-‐CSIC
4
ANEXO 1. VISTA LÓGICA ................................................................................................. 35
ANEXO 2. DOCUMENTACIÓN SOFTWARE ................................................................. 37
dominio Enum tipos.tipo_consulta ........................................................................................ 39
dominio Enum tipos.tipo_posición ........................................................................................ 41
dominio Enum tipos.tipo_similitud ........................................................................................ 43
dominio Enum tipos.tipo_tripleta .......................................................................................... 46
Package dominio.consulta ...................................................................................................... 49
dominio.consulta Class Construcción_consulta ..................................................................... 49
dominio.consulta Class Consulta ............................................................................................ 60
dominio.consulta Class Consulta_tipo ................................................................................... 66
dominio.consulta Class Ejecución_consulta ........................................................................... 74
dominio.consulta Class Tripleta_consulta .............................................................................. 89
Package dominio.ontología ..................................................................................................... 98
dominio.ontología Class Gestionar_carga .............................................................................. 98
dominio.ontología Class Gestionar_Ontología ..................................................................... 104
dominio.ontología Class Ontología ...................................................................................... 131
dominio.ontología Class Ontologías ..................................................................................... 136
Package dominio.similitud .................................................................................................... 140
dominio.similitud Class Semantic_matching ........................................................................ 140
dominio.similitud Class Similitud ......................................................................................... 146
dominio.similitud Class Similitudes_conceptos ................................................................... 149
Package servicio_técnico ...................................................................................................... 155
servicio_técnico Class Conversión ........................................................................................ 155
servicio_técnico Class gestionar_listas ................................................................................ 163
servicio_técnico Class Impresión ......................................................................................... 165
servicio_técnico Class Tratamiento_cadena ........................................................................ 168
IIIA-‐CSIC
5
OBJETIVO
Se construyó el prototipo de un sistema de consultas sobre una ontología de términos relacionados con la gestión medioambiental. El sistema permite hacer búsquedas con en las que los resultados que se obtienen se encuentran dentro de una cierta distancia semántica respecto a los términos utilizados en la consulta.
El prototipo incluye las siguientes funciones:
• Representación de una ontología del dominio..
• Gestión de ontologías.
• Gestión de consultas.
• Gestión de consultas por similaridad semántica.
• Fusión de consultas con similaridad semática.
• Soporte para la integración de interfaz gráfica de usuario (GUI).
IIIA-‐CSIC
6
IIIA-‐CSIC
7
1. INTRODUCCIÓN
El trabajo realizado sigue tres líneas: en primer lugar una revisión de los aspectos técnicos pertinentes para la representación, carga y explotación de la ontología “Green”. En segundo lugar se ha trabajado el contenido de términos y relaciones de la ontología, y en tercer lugar se ha trabajado el tema de la similaridad semántica para ser aplicado sobre la versión que se cargue de la ontología Green.
Los detalles se discuten a continuación: En el apartado 2 se muestra la metodología que se está usando para el desarrollo de la ontología asimismo se comenta el estado actual de la ontología. En el apartado 3 se da una visión general del uso de las ontologías. En el apartado 4 se habla acerca de la gestión de ontologías. En el apartado 5 se hace referencia al desarrollo y uso de consultas sobre la ontología. En el punto 6 se habla sobre los conceptos de distancia y similaridad semántica. En el apartado 7 se comenta la forma de integrar una interfaz gráfica. En el apartado 8 se comenta algunas cuestiones a mejorar. En el apartado 9 se habla acerca de algunas ideas y soluciones futuras. En el 10 se repasa las herramientas que se están utilizando y en el 6 se da la bibliografía utilizada. En el 11 se da una bibliografía.
En distintos apartados se mencionan algunos resultados preliminares que hemos alcanzado. En la mayoría de los casos tales productos se irán desarrollando en versiones sucesivas a lo largo del proyecto.
2. ONTOLOGÍAS
Para el desarrollo de la ontología se está usando como base las guías “Ontology Development 101” (Noy y McGuiness 2001) y “Methodoloy” (Gómez-Pérez, Fernández-López y Corcho 1997). Para la descripción de los procesos implicados en la ontología se está utilizando PSL (Process Specification Language) (Gruninger, M. 2009).
IIIA-‐CSIC
8
El concepto de ontología se puede mostrar intuitivamente en el siguiente gráfico:
Algunos ejemplos del uso de las ontologías:
Para el desarrollo de la ontología de este prototipo se está siguiendo el esquema que a continuación se detalla. Es un proceso que se realimenta constantemente y de forma iterativa durante todo el proceso de desarrollo.
IIIA-‐CSIC
9
En la implementación de la ontología se han utilizado dos tipos de formatos, el que se denomina de descripción y el de carga. El primero es para describir los requisitos de la ontología de forma detalla y el segundo es una versión del primero para poder cargar de forma automática todo lo relativo a la ontología desde una aplicación, y no tener que hacer depender este formato de la recogida de requisitos de los usuarios.
Especificación: meta, alcance y granularidad del modelo.
Conceptualización: organización y estructuración del conocimiento adquirido, esto es, construcción del modelo conceptual usando lenguajes de representación (UML, Tablas, Jerarquía) independientes de los lenguajes de implementación.
Implementación: formalización e implementación del modelo conceptual.
Evaluación del modelo.
a) Especificación
IIIA-‐CSIC
10
En este punto se contextualiza la ontología y se responden a cuestiones necesarias para el desarrollo del modelo y para limitarlo. Algunas de estas cuestiones son:
Decidir el campo de aplicación. Considerar la reutilización.
¿Qué dominio cubrirá la ontología?,¿Para qué se utilizará?¿En qué tipo de consultas será útil? ¿Para qué tipo de cuestiones debe de dar respuesta la información contenida en la ontología?¿Quiénes la usarán?¿Quiénes se ocupará de su mantenimiento?
Cuestiones de competencia: es una forma de determinar el alcance de la ontología. Se hace un borrador de un listado de cuestiones que una base de conocimiento sobre una ontología debería contestar. Es una especie de test. ¿La ontología contiene la suficiente información para contestar a este tipo de cuestiones?.
b) Conceptualización
1. Construir un glosario de términos sin importar solapamientos, propiedades,…
Definición, sinónimos y acrónimos.
Normalmente los sustantivos forman parte de los nombres de las clases.
Verbos o locuciones verbales son la base de los nombres de las propiedades (es parte de o tiene el componente).
Herramientas clásicas: escalonamiento (laddering) o análisis reticular (grid analysis) pueden ser de ayuda para obtener el conjunto de términos y su estructura inicial.
NOMBRE SINÓNIMO ACRÓNIMO DESCRIPCIÓN TIPO
RESIDUO EFLUENTE CONCEPTO
EMPRESA CONCEPTO
GENERA RELACIÓN
AGUA RESIDUAL INDUSTRIAL CONCEPTO
INDUSTRIA CÁRNICA CONCEPTO
PROCESO DE TRATAMIENTO CONCEPTO
DESINFECCIÓN INSTANCIA
RIEGO CONCEPTO
Tabla 1. Hoja descripción. Glosario ontología.
IIIA-‐CSIC
11
2. Construir una taxonomía de conceptos
El resultado de esta tarea es una o más taxonomías donde los conceptos estén clasificados. La taxonomía debe crearse acorde con las relaciones Subclase-de, Descomposición-Disyuntiva, Descomposición-exhaustiva y Partición.
Asegurarse que realmente es una taxonomía, esto es, si A es una subclase B, entonces cada instancia de A debe serlo también de B. Solo así se garantizará que no existan conflictos con la semántica incorporada en los predicados primitivos.
Posibles Técnicas:
- Top-down: desde los términos más generales.
- Bottom-up: comienza con las clases más específicas (las hojas) y se van agrupando en clases más generales.
- Combinación de ambas.
De la lista de términos se escogen los que describan objetos que tengan existencia independiente. La mayoría del resto serán seguramente propiedades de los elegidos como clases.
NIVEL 1 NIVEL 2 NIVEL 3 NIVEL 4 NIVEL 5 NIVEL 6
ACTIVIDAD NEGOCIO FUNCIONAL AGROPECUARIO LAVADO
RIEGO
GESTIÓN GESTIÓN_BUROCRÁTICA
GESTIÓN_NEGOCIO
GESTIÓN_RESIDUO
OFERTA_PROYECTO ESTUDIO_AMBIENTAL
TRANSPORTE RECOGIDA_RESIDUO
TRANSPORTE_CONSTRUCCIÓN
TRANSPORTE_RESIDUO
TRATAMIENTO_RESIDUO
TRATAMIENTO_RESIDUO_AGROPECUARIO
TRATAMIENTO_RESIDUO_AGUA
TRATAMIENTO_RESIDUO_INDUSTRIA
TRATAMIENTO_RESIDUO_PELIGROSO
TRATAMIENTO_RESIDUO_MUNICIPIO
Tabla 2. Hoja carga. Ontología
IIIA-‐CSIC
12
3. Construcción de diagrama de relaciones binarias “ad-hoc”
Describir las relaciones existentes entre conceptos de esta ontología, o con otras ontologías existentes. Esto da lugar al diagrama de relaciones. Se establecen los dominios y rangos de estas relaciones.
NOMBRE DE RELACIÓN
CONCEPTO ORIGEN
CARDINALIDAD DE FUENTE
CONCEPTO DESTINO
PROPIEDADES MATEMÁTICAS RELACIÓN INVERSA
OFRECE EMPRESA PRODUCTO ES_OFRECIDO PRODUCE_PRODUCTO ACTIVIDAD PRODUCTO
PRODUCIDO_EN_ACTIVIDAD
REQUIERE_OBJETO ACTIVIDAD OBJETO REQUERIDO_EN_ACTIVIDAD
SOLICITA EMPRESA PRODUCTO ES_SOLICITADO
TIENE_ACTIVIDAD ACTIVIDAD OBJETO INTERVIENE
Tabla 3. Hoja descripción. Relaciones.
EMPRESA PRODUCTO ACTIVIDAD CONCEPTO1 RELACIÓN CONCEPTO2
AGROPECUARIA JANOT SL R020107_SILVICULTURA
EMPRESA OFRECE PRODUCTO
AGROPECUARIA MAS MOLI DE BAIX SL R020103_TEJIDO_VEGETAL
EMPRESA OFRECE ACTIVIDAD
Tabla 4. Hoja carga. Relación EMPRESA-ACTIVIDAD
4. Construir diccionario de conceptos Se incluyen las principales instancias de conceptos (en caso que las haya), los atributos de instancia y de clase, y sus relaciones con otros conceptos.
CONCEPTO ATRIBUTO RELACIÓN
RESIDUO
EMPRESA TIENE_CNAE SOLICITA
TIENE_ACTIVIDAD
TRATAMIENTO AGUA INDUSTRIAL
Tabla 5. Hoja descripción. Diccionario de conceptos
5. De forma paralela se tratan los siguientes puntos a. Describir relaciones binarias “ad-hoc”
Describir en detalle cada relación que aparece en el diagrama de relaciones. Esto dará lugar a la tabla de relaciones.
NOMBRE DE RELACIÓN
CONCEPTO ORIGEN
CARDINALIDAD DE FUENTE
CONCEPTO DESTINO
PROPIEDADES MATEMÁTICAS RELACIÓN INVERSA
OFRECE EMPRESA PRODUCTO ES_OFRECIDO PRODUCE_PRODUCTO ACTIVIDAD PRODUCTO
PRODUCIDO_EN_ACTIVIDAD
IIIA-‐CSIC
13
REQUIERE_OBJETO ACTIVIDAD INSUMO REQUERIDO_EN_ACTIVIDAD
SOLICITA EMPRESA PRODUCTO ES_SOLICITADO
TIENE_ACTIVIDAD ACTIVIDAD OBJETO INTERVIENE
Tabla 6. Hoja descripción. Relación binaria.
# CONCEPTO1 RELACIÓN CONCEPTO2 # CONCEPTO ATRIBUTO TIPO #
OBJETO TIENE_ACTIVIDAD ACTIVIDAD
EMPRESA TIENE_CNAE string
EMPRESA TIENE_INTERÉS ACTIVIDAD
EMPRESA TIENE_EXPORTACIÓN boolean
EMPRESA TIENE_INTERÉS PRODUCTO
EMPRESA TIENE_NUMEMPLEADO integer
Tabla 7. Hoja carga. Descripción ontología.
b. Describir atributos de instancia Describir cada atributo de instancia que aparece en el diccionario de conceptos.
NOMBRE ATRIBUTO INSTANCIA
NOMBRE CONCEPTO
TIPO VALOR
UNIDAD MEDIDA
PRECISIÓN
RANGO DE VALORES
CARDINALIDAD
TIENE_CNAE EMPRESA string 1
TIENE_NUMEMPLEADO EMPRESA boolean 1
Tabla 8. Hoja descripción. Atributos.
c. Describir constantes Describir con detalle cada constante. Estas constantes son información relativa al dominio que no varía, tal como constantes matemáticas.
6. De forma paralela se tratan los siguientes puntos a. Describir axiomas formales
Definición de axiomas, utilizados para mantener la integridad de la ontología, así como para inferir valores en los atributos.
b. Describir reglas Definición de reglas, utilizados para mantener la integridad de la ontología, así como para inferir valores en los atributos.
7. Describir instancias Describir algunas instancias de la ontología.
En la fig.1 se muestra un esquema de la versión inicial de la ontología relativa al mercado de residuos del agua con algunas instancias. Esta ontología esta actualmente integrada en el prototipo y supone la base sobre la cual se articulará el
IIIA-‐CSIC
14
prototipo final. Sobre esta ontología funciona el sistema integrado de consultas y similitud semántica, en las figuras 2 y 3 se muestran pantallas del prototipo actual.
Figura 1 Esquema de la versión inicial de la ontología green
Para una descripción más completa de la ontología ver el archivo excel “GREENAD” en la hoja “ONTOLOGÍA”.
En la siguiente figura se muestra un esquema general del modelado de una ontología.
c) Implementación Utilizando como base la información del punto anterior se procede de forma iterativa a la implementación de la ontología, para esto se utilizan fundamente los lenguaje OWL
IIIA-‐CSIC
15
(OWL Web Ontology Language ), RDF(S) RDF (Resource Description Framework Schema) y RDF (Resource Description Framework). Para su depuración y visualización se utiliza la herramienta Protegé.
Ver el archivo MERCADODERESIDUOS.OWL con la aplicación Protege.
d) Evaluación Para la evaluación de la ontología se usa la información contenida en la especificación y las pruebas que realiza el usuario con consultas-tipo y en tiempo real.
3. VISIÓN DE USO
Sobre una ontología se pueden realizar los siguientes tipos de operaciones:
• Gestión de ontología: son operaciones propias de la gestión de una ontología como puede ser la carga de una ontología desde un fichero, guardarla, añadir un nuevo concepto o instancia, consultar las relaciones de un concepto, etc.
• Consultas: son operaciones destinadas a construir y ejecutar consultas en SPARQLDL. También se pueden realizar lo que denominamos consultas tipos o preconstruidas, son operaciones basadas en consultas ya construidas y que se pueden parametrizar. Por ejemplos todos los conceptos de la ontología, los conceptos padres de una determinada instancia, las relaciones de una determinada clase, etc.
• Similitud: operaciones para iniciar y calcular la similitud entre conceptos de la ontología. Operaciones donde se integra el concepto de similitud y consultas en SPARQLDL.
IIIA-‐CSIC
16
4. TRABAJO CON ONTOLOGÍAS
Para realizar cualquier trabajo con ontologías es necesario previamente inicializarlas y cargarlas de forma adecuada. Además una vez cargada se pueden añadir datos provenientes de una fuente externa, en el caso del prototipo se ha usado archivos en formato ‘excel’.
1.1. INICIAR ONTOLOGÍAS
Una ontología se identifica mediante un Internationalized Resource Identifier (IRI) dentro del contexto de la www. Es una dirección web no teniendo porque existir inicialmente. Después se puede decidir si publicarla como página web.
Una ontología se puede cargar desde una dirección web o localmente. Una ontología viene contenido en un fichero con extensión OWL (Web Ontology Language).
En este manual se utilizará la ontología mercadoderesiduos.owl que tiene el IRI http://www.misontologias.org/mercadoderesiduos.owl. Localmente está guardada en C:\PROYECTOS\GREENIDI\DESARROLLO\ONTOLOGIAS\mercadoderesiduos.owl.
Se pueden usar varias ontologías al mismo tiempo. Esto puede ser interesante para futuras aplicaciones. Para empezar a trabajar con ontologías se hace con la siguiente sentencia:
declara_ontologías dec_ont=new declara_ontologías(); // Inicializa las ontologías
1.2. CARGAR UNA ONTOLOGÍA
La carga de una ontología se puede realizar desde una dirección web o localmente. Se necesita la localización, el IRI Y la identificación abreviada de la ontología para diferenciarlas de otras ontologías dentro de la aplicación (en nuestro caso ‘RESIDUOS’). Además los datos asociados a la similaridad semántica dentro de una ontología se pueden calcular al inicio de la carga de la ontología o se pueden cargar desde un fichero. Este fichero se indica con la extensión ‘sm’ (en nuestro caso ‘S_mercadoderesiduos.sm’). Si se indica el parámetro ‘s’ se calcularán los pesos al principio de la carga y se guardan en el fichero, con ‘c’ se cargan los pesos desde un fichero existente, si se indica ‘n’ simplemente se calcularán los pesos.
El siguiente código carga la ontología mercadoderesiduos.owl, con el nombre ‘RESIDUOS’, el IRI http://www.misontologias.org/mercadoderesiduos.owl, y los pesos se cargan (parámetro ‘c’) desde el fichero S_mercadoderesiduos.sm. El último parámetro ‘resnik indica el tipo de similaridad que se quiere calcular.
IIIA-‐CSIC
17
dec_ont.dec_ontología("C:/PROYECTOS/GREENIDI/DESARROLLO/ONTOLOGIAS/mercadoderesid uos.owl", http://www.misontologias.org/mercadoderesiduos.owl", "RESIDUOS", "C:/ PROYECTOS /GREENIDI/DESARROLLO/ONTOLOGIAS/ S_mercadoderesiduos.sm", "c",”resnik”);
1.3. CARGAR Y GUARDAR DATOS EN UNA ONTOLOGÍA DESDE UNA FUENTE EXTERNA
Si una ontología no tiene muchos conceptos e instancias se pueden ir introduciendo estos directamente en la aplicación Protegé, pero a medida que el número crece se hace necesario tener organizados estos ítems de forma que se puedan modificar, añadir o borrar fácilmente, el usuario los pueda ver y colaborar en su elaboración de una forma sencilla, y por último que se puedan cargar de forma automática para construir la ontología. Con este propósito se han usado archivos excel. Para conectar estos archivos con el software del prototipo se usa Java Database Connectivity (jdbc), la API que permite la ejecución de operaciones sobre bases de datos desde Java. Se podrían importar los datos desde una base de datos mediante este mismo sistema.
Los datos para la ontología ‘mercadoderesiduos’ están en el archivo excel ‘GREENIDIAD.XLSX’. En la siguiente sentencia se declara una instancia de tipo ‘gestionar_instancias’, se hace referencia a la ontología mediante el nombre abreviado ‘RESIDUOS’, y se cargan datos procedentes de las hojas ‘ACTIVIDADREQUIERE’, ’EMPRESASOLICITA’, y ’EMPRESAOFRECE’. Si a continuación de cargar datos, se abre el fichero mercadoderesiduos.owl desde Protegé, se deberían ver los cambios que se han realizado.
String s= C:/PROYECTOS/GREENIDI/DESARROLLO/ONTOLOGIAS/GREENIDIAD.XLSX; gestionar_instancias g_i=new gestionar_instancias ("RESIDUOS", ins, "ACTIVIDADREQUIERE", "EMPRESASOLICITA", "EMPRESAOFRECE");
ACTIVIDAD OBJETO # ACTIVIDAD1 CONCEPTO1 RELACIÓN CONCEPTO2
FERTILIZACIÓN_ORGÁNICA FANGO_ACTIVADO
ACTIVIDAD REQUIERE_OBJETO OBJETO
FERTILIZACIÓN_ORGÁNICA ETIQUETA_ECOLÓGICA_EUROPEA
ACTIVIDAD TIENE_SUBACTIVIDAD ACTIVIDAD1
RIEGO_CULTIVO AGUA_ALTO_CONTENIDO_NITRITO
Tabla 9. Hoja carga. Detalle ACTIVIDADREQUIERE.
1.4. INTEGRACION DE LOS ELEMENTOS ANTERIORES
Ejemplo de carga de la ontología:
IIIA-‐CSIC
18
Ejemplo de carga de datos desde una fuente externa:
5. CONSULTAS
La integración de la ontología y el uso de consultas de una forma flexible y dinámica son claves; para gestionar este punto se han construido varias capas de software.
Las consultas se pueden realizar sobre la misma ontología o sobre el dominio:
La construcción de las consultas se puede realizar de forma automática, semiautomática o manual usando el leguaje SPARQL y SPARQL-DL con sintaxis TERP o TURTLE. Las consultas también se pueden realizar sobre la ontología usando el razonador incluido en el software de Protegé o el razonador Pellet incluido en el prototipo. Estas herramientas se habla de ellas en el apartado de ‘Herramientas Utilizadas’.
Un aspecto importante es la posibilidad de disponer de consultas prefabricadas de uso frecuente. Este tipo de consultas son parametrizables y están resultado muy útiles a la hora del desarrollo de nuevas consultas de este tipo y de cara también a facilitar el trabajo a los usuarios finales del sistema. A medida que el proyecto avanza se van añadiendo nuevas consultas prefabricadas.
IIIA-‐CSIC
19
Algunos ejemplos de consultas prefabricadas son la intersección o unión de conceptos de la ontología, las superclases correspondiente a una clase de instancia, si una instancia es igual que otra, qué superpropiedades tiene una propiedad. Se construyen numerosas consultas prefabricadas de este tipo que luego se aprovechan para construir consultas más complejas.
Un aspecto igualmente fundamentar es la integración del cálculo de similaridad semántica con las consultas. Esta integración se modela haciendo uso de las consultas tipos o prefabricadas así como de las consultas en tiempo real.
1.5. USO DE CONSULTAS TIPO (O “PREFABRICADAS”)
Se trata de consultas de todo tipo sobre una ontología que se realizan de manera frecuente, y la idea es facilitar el trabajo al usuario a la hora del desarrollo de una aplicación donde sea necesario el uso de ontologías.
Este tipo de consulta están basadas en consultas sobre la ontología usando un razonador o son construidas usando el lenguaje SPARQL, pero este hecho es transparente al usuario en este punto.
En la siguiente sentencia se inicializa una instancia de consulta prefabricada o tipo sobre la ontología de ‘mercadoderesiduos’ haciendo referencia mediante el identificador ‘RESIDUOS’:
Consultas consulta=dec_ont.get_consulta("RESIDUOS"); Imprime imp;
IIIA-‐CSIC
20
A continuación queremos imprimir todos los conceptos de la ontología:
imp.imprime_consulta(consulta.ct.Conceptos_Ontología());
Otro ejemplo sería las instancias que forman parte de un determinado concepto. En la siguiente sentencia se obtienen los miembros del concepto ‘EMPRESA’. El segundo parámetro ‘true’ se refiere a las instancias que son miembros directos del concepto ‘EMPRESA.’
imp.imprime_consulta(consulta.ct.Individuo_de_Clase("EMPRESA", true));
1.6. CONSULTAS EN SPARQL
El procedimiento para la ejecución de consultas en SPARQL es muy sencillo, simplemente hay que poner la consulta en una cadena y a continuación ejecutarla. En la siguiente sentencia queremos obtener los productos/servicios que ofrece la empresa AGROPECUARIA_MAS_MOLI_DE_BAIX_SL:
s="select ?p_s where {:AGROPECUARIA_MAS_MOLI_DE_BAIX_SL :OFRECE ?p_s.}"; ct.imprime_consulta(ct.ejecuta_consulta(s,true));
1.7. INTEGRACIÓN DE LO ANTERIOR
Ejemplo de listado de conceptos de la ontología:
IIIA-‐CSIC
21
Ejemplo de consulta en SPARQL:
6. TRABAJO CON SIMILARIDAD SEMÁTICA
Mediante la similaridad semántica o semantic matching se trata de establecer el grado de relación semántica entre conceptos. El cálculo de la similaridad semántica se ha integrado junto a la gestión que se realiza de las consultas, de forma que al realizar una determinada consulta no sólo se obtenga el resultado exacto correspondiente, sino también parametrizar en qué grado se requiere obtener dichos resultados.
Al igual que en las consultas, se han elaborado varias capas de software para cubrir las necesidades del sistema. Se hace uso desde el concepto básico de distancia entre clases o instancias hasta el cálculo final de la similaridad semántica entre conceptos.
1.8. INICIALIZACIÓN DE SIMILARIDAD
El cálculo de la similaridad entre conceptos se realiza offline, esto es, cuando se carga una ontología se puede indicar que se caculen todas las similitudes entre cada par de concepto de la ontología y este resultado se guarda en una estructura, en memoria
IIIA-‐CSIC
22
primaria, para su posterior consulta y en un archivo en memoria secundaria. Si la ontología se carga una segunda vez los datos se pueden recuperar desde este archivo. Este fichero se indica con la extensión ‘sm’.
El siguiente código carga la ontología mercadoderesiduos.owl, con el nombre ‘RESIDUOS’, el IRI http://www.misontologias.org/mercadoderesiduos.owl, y los pesos se cargan (parámetro ‘c’) desde el fichero S_mercadoderesiduos.sm. El último parámetro ‘resnik’ indica el tipo de similaridad que se quiere calcular.
dec_ont.dec_ontología("C:/PROYECTOS/GREENIDI/DESARROLLO/ONTOLOGIAS/mercadoderesid uos.owl", http://www.misontologias.org/mercadoderesiduos.owl", "RESIDUOS", "C:/ PROYECTOS /GREENIDI/DESARROLLO/ONTOLOGIAS/ S_mercadoderesiduos.sm", "c",”resnik”);
Si se indica el parámetro ‘s’ se calcularán los pesos al principio de la carga y se guardan en el fichero, con ‘c’ se cargan los pesos desde un fichero existente, si se indica ‘n’ simplemente se calcularán los pesos.
1.9. CONSULTANDO LA SIMILARIDAD ENTRE CONCEPTOS
En la siguiente sentencia se obtiene todas las similitudes, mayores o iguales que cero, del concepto ‘PRODUCTO_ALIMENTACIÓN’ al resto de los conceptos de la ontología.
consulta.imprime_consulta(consulta.Obtiene_conceptos_con_similitud("PRODUCTO_ALIMENTACIÓ N",">=","0"));
En la siguiente sentencia se obtiene la similitud entre los conceptos ‘PRODUCTO_ALIMENTACIÓN’ y ‘PRODUCTO_AUTOMOCIÓN’:
consulta.imprime_consulta(consulta.Obtiene_similitud_entre_conceptos("PRODUCTO_ALIMENT ACI ÓN", "PRODUCTO_AUTOMOCIÓN"));
En la siguiente sentencia se obtienen los conceptos con similitudes mayores que 0.3 a los conceptos ‘PRODUCTO_ALIMENTACIÓN’ y ‘PRODUCTO_AUTOMOCIÓN’.
consulta.imprime_consulta(consulta.Obtiene_conceptos_con_similitud_a_conceptos(">","0.3","PR ODUCTO_ALIMENTACIÓN", "PRODUCTO_AUTOMOCIÓN"));
Esta última consulta también se puede hacer de la siguiente forma:
ArrayList<String> l=new ArrayList(); l.add("PRODUCTO_ALIMENTACIÓN");l.add("PRODUCTO_AUTOMOCIÓN"); consulta.imprime_consulta(consulta.Obtiene_conceptos_con_similitud_a_conceptos(l,">","0.3"));
IIIA-‐CSIC
23
1.10. SIMILARIDAD EN CONSULTAS SPARQL
La similaridad en una consulta SPARQL se indica junto a un concepto mediante el tipo de similaridad, un operador de comparación y un número entre 0 y 1.
Por ejemplo en la figura se podría preguntar por las instancias de los conceptos que tengan una similitud (similitud de concepto, escrito como ‘smc’) mayor que 0.9 al concepto ‘EXPLOTACIÓN’. Esta consulta en SPARQL sería:
SELECT ?i WHERE { ?i rdf:type :EXPLOTACIÓN(smc>0.9). }
La similaridad también se puede consultar partiendo de las instancias (similitud de instancia, escrito como smi) del concepto de EXPLOTACIÓN (no del concepto de EXPLOTACIÓN) y obtener el conjunto de instancias que tienen una similaridad mayor de 0.9 del primer conjunto.
SELECT ?i WHERE { ?i rdf:type :EXPLOTACIÓN(smi>0.9). }
IIIA-‐CSIC
24
Se puede preguntar por el grado de similitud en el resultado de una variable. Por ejemplo usando la consulta anterior:
SELECT ?i WHERE { [?i (smi>0.9)rdf:type :EXPLOTACIÓN.] ?i sparqldl:directType ?C. }
La subconsulta que contiene variables se pone entre corchetes, una vez obtenidos los valores de la variable se puede usar en las sentencias posteriores, en este caso se ha usado para averiguar los padres directos de ‘?i’ (‘?i sparqldl:directType ?C.’).
IIIA-‐CSIC
25
1.11. INTEGRACIÓN
Ejemplo de consulta de similitudes de lista de conceptos:
Ejemplo de consulta de similitud entre un concepto y el resto de los conceptos de la ontología:
IIIA-‐CSIC
26
Ejemplo de consulta SPARQL con grado de similitud:
Ejemplo SPARQL. Empresas que ofrecen productos en alguna de las categorías de residuos o similares que se desechan en algunas de las actividades del tratamiento de agua industrial:
SELECT ?E ?r WHERE { [?p rdf:type :TIPO_RESIDUO. ?a rdf:type :TRATAMIENTO_AGUA_INDUSTRIAL. ?a :PRODUCE_PRODUCTO ?p. ?p sparqldl:directType ?c (smc>0.9).] ?c rdfs:subClassOf :TIPO_RESIDUO. ?i_c sparqldl:directType ?c. ?E :OFRECE ?r.
IIIA-‐CSIC
27
?r rdf:type ?c. }
Ejemplo SPARQL. La empresa CAN RUET SL consulta productos parecidos a los que solicita.
SELECT ?producto WHERE { [?producto (smi=1) rdf:type :PRODUCTO. :CAN_RUET_SL :SOLICITA ?producto.] }
Ejemplo SPARQL. La empresa COLL_VERD_PRODUCTES_DEL_ANEC_SA consulta los servicios que necesita para sus actividades.
SELECT ?empresa ?subactividad WHERE { ?actividad rdf:type :ACTIVIDAD. ?subactividad rdf:type :ACTIVIDAD. : COLL_VERD_PRODUCTES_DEL_ANEC_SA :TIENE_ACTIVIDAD ?actividad. ?actividad :TIENE_SUBACTIVIDAD+ ?subactividad.
IIIA-‐CSIC
28
?empresa :OFRECE ?subactividad. }
Ejemplo SPARQL. La empresa AGROPECUARIA_RENART_SL quiere consultar los insumos que necesita o productos parecidos que son al mismo tiempo residuos que ofrecen otras empresas.
SELECT ?empresas_proveedoras ?insumo WHERE { [?actividad rdf:type :ACTIVIDAD. ?insumo (smi=1) rdf:type :TIPO_RESIDUO. : AGROPECUARIA_RENART_SL :TIENE_ACTIVIDAD ?actividad. ?actividad :TIENE_SUBACTIVIDAD+ ?subactividad. ?subactividad :REQUIERE_OBJETO ?insumo.] ?empresas_proveedoras :OFRECE ?insumo. }
IIIA-‐CSIC
29
Ejemplo SPARQL. Áreas funcionales o similares de las empresas que podrían estar interesadas en algunos de los productos/servicios que ofrece la empresa BOSCOS_CATALANS_SL.
SELECT ?A WHERE { [ ?area rdf:type :FUNCIONAL. :BOSCOS_CATALANS_SL : OFRECE ?producto_servicio. ?empresa :SOLICITA ?producto_servicio. ?empresa : TIENE_ACTIVIDAD ?area. ?area sparqldl:directType ?A(smc>0.7).] ?i_A sparqldl:directType ?A. }
Ejemplo SPARQL. Empresas que podrían estar interesadas en los servicios o parecidos que ofrece la empresa VINT_I_SET_MIL_NOU_CENTS_CINQUANTA_SL.
SELECT ?E ?ps ?a WHERE { [?ps (smi>0.9) rdf:type :ACTIVIDAD. :VINT_I_SET_MIL_NOU_CENTS_CINQUANTA_SL :OFRECE ?ps. ?E :TIENE_INTERÉS ?a. ?ps :EN_ACTIVIDAD ?a.] ?ps :EN_ACTIVIDAD ?a. ?E :TIENE_INTERÉS ?a. }
IIIA-‐CSIC
30
7. USO DE UNA INTERFAZ GRÁFICA
Se pone como ejemplo la interfaz gráfica usada para el prototipo de ‘Mercado de residuos’. En la parte principal de la aplicación se añade una referencia a la GUI justo después de la declaración de las ontologías:
Para el uso de consultas en la GUI se declara una instancia de consulta en el constructor de la clase Gestionar_componentes_GUI:
public Gestionar_componentes_GUI() { consulta=Ontologías.get_consulta("RESIDUOS"); crear_contenedores(); inicia_valores_componentes(); }
A continuación se puede usar la instancia ‘consulta’ para acceder a información de la ontología como por ejemplo en ‘inicia_valores_componentes()’
public void inicia_valores_componentes() {
IIIA-‐CSIC
31
String[] items={}; ArrayList<String> ls; String s=""; ls=consulta.get_conceptos_ontología(); ls.add(0," "); valores_lista(ls,model_concepto); }
8. CUESTIONES A MEJORAR
- Hay que formalizar la captura de datos del usuario de forma que la construcción de una ontología sea los mas rápida y efectiva posible, esto es, recorra todo el domino de interés del usuario y sea capaz de responder a las preguntas de competencias planteadas en la fase inicial. - Hay que formalizar la integración del concepto de similitud en las consultas SPARQL, esto es, donde y con qué semántica se integran los términos ‘smc’ y ‘smi’. En qué tripletas se pueden poner y si se pueden poner qué semántica tienen dentro de la tripleta. Hasta ahora se ha hecho de una forma experimental y conforme se han ido probando nuevas consultas. - Formalización de las subconsultas que contienen variables de similitud. Está relacionado con el punto anterior.
9. IDEAS Y SOLUCIONES FUTURAS
- Potenciar el uso de consultas preconstruidas. Parametrización de estas consultas de cara al usuario. A partir del trabajo realizado es fácil hacer ampliaciones.
- Un punto fundamental es la carga de instancias de una forma automática desde bases de datos. Aunque actualmente se hace desde una hoja excel, la conexión a esta se hace como si se tratara de una base de datos. La carga de instancias en una ontología desde una base de datos se puede realizar de muchas formas, pero en lo posible hay que intentar no modificar las bases de datos existentes. Con este fin existe herramientas que mapea datos desde una bases datos a una ontología. Un lenguaje conocido que hace esta labor es el D2RQ (http://d2rq.org/d2rq-‐language). Se pude pensar también en Vistas especialmente orientadas a capturar datos de una BD con el fin de facilitar el trabajo de importación desde la ontología.
- Se ha contemplado el uso de varias ontologías, esto puede dar juego para futuras aplicaciones como por ejemplo la alineación de ontología, o consultas sobre varias ontologías.
IIIA-‐CSIC
32
10. HERRAMIENTAS UTILIZADAS
Para el desarrollo del sistema se está usando el lenguaje de programación Java ya que existen muchas herramientas en este lenguaje relacionadas con ontologías.
En concreto, para el desarrollo de ontologías se están utilizando:
• La API de Protegé para toda la gestión básica y la aplicación Protegé para la depuración y visualización
• El razonador Pellet para realizar inferencias complejas sobre la ontología.
• La API de Jena como base para las consultas en SPARQL.
Protgé API: soporta OWL pero no SPARQL.
JENA: soporta RDF pero no OWL. actualmente es la más potente que soporte consultas estandars SPARQL.
Pellet: para consultas SPARQL-DL para consultas sobre ontología OWL DL y OWL 2.
OWL (Web Ontology Language): lenguaje usado para formalizar información en la web y pueda ser entendido y procesado de forma automática.
OWL DL: subconjunto de OWL basado en lógica descriptiva. Toda sentencia puede ser resuelta en tiempo finito.
SPARQL: lenguaje de consulta estándar para RDF
SPARQL-DL: es una extensión de SPARQL. Lenguaje de consulta estándar para OWL-DL. Puede mezclar clases, propiedades e individuos.
IIIA-‐CSIC
33
1.12. INSTALACIÓN DE PROTEGE
Desde la dirección http://protege.stanford.edu/download/registered.html#p4.1:
1. Instalar la aplicación Protegé con el fichero correspondiente a la descripción ‘platform independent installer program’.
2. Copiar el fichero ZIP correspondiente a la descripción ‘ZIP file (no 1.5 VM, no executable file included)’.
3. Descomprimir este fichero, crear dentro un directorio JAR y copiar aquí todos los archivos .jar de este archivo descomprimido.
4. Desde Eclipse u otro framework importar todos los archivos del direcotorio JAR al proyecto que se haya creado.
1.13. INSTALACIÓN DE PELLET
Desde la dirección http://clarkparsia.com/pellet/download
1. Copiar el archivo pellet-2.3.0.zip o la última versión.
2. Descomprimir este fichero, crear dentro un directorio JAR y copiar aquí todos los archivos .jar de este archivo descomprimido.
3. Desde Eclipse u otro framework importar todos los archivos del directorio JAR al proyecto que se haya creado.
11. BIBLIOGRAFÍA
- Natalya Fridman Noy and Deborah L. McGuinnes. Ontology Development 101: A Guide to Creating Your First Ontology. Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report SMI-2001-0880, Stanford Knowledge Systems Laboratory, Mar 2001.
- Sugumaran, V. & Storey, V. C. (2002), 'Ontologies for conceptual modeling: their creation, use, and management', Data Knowl. Eng. 42 (3) , 251--271 .
- Schlenoff, C., Gruninger M., Tissot, F., Valois, J., Lubell, J., Lee, J., "The Process Specification Language (PSL): Overview and Version 1.0 Specification," NISTIR 6459, National Institute of Standards and Technology, Gaithersburg, MD., 2000.
- Gruninger, M. (2009). Using the PSL ontology. In Handbook of Ontologies, pages 419–431. Springer-Verlag, Berlin.
- Resnik, P.: Semantic Similarity in a Taxonomy: An Information-Based Measure and its Application to Problems of Ambiguity in Natural Language. Journal of Artificial Intelligence Research, 11 (1998) 95-130.
IIIA-‐CSIC
34
- Y. Li, Z. A. Bandar, and D. McLean. An approach for measuring semantic similarity between words using multiple information sources. IEEE Transactions on Knowledge and Data Engineering, 15(4):871–882, 2003.
- Lei Li and Ian Horrocks A Software Framework for Matchmaking Based on Semantic Web Technology International Journal of Electronic Commerce 8(4), 2004.
- Matthias Klusch, Benedikt Fries, Katia Sycara Automated Semantic Web Service Discovery with OWLS-MX Proceeding of AAMAS'06.
- Gao Shua, Omer F. Ranab, Nick J. Avisb, Chen Dingfang Ontology-based semantic matchmaking approach Advances in Engineering Software 38(1), 2007.
- Kemafor Anyanwu, Angela Maduko,Amit Sheth SemRank: Ranking Complex Relationship Search Results on the Semantic Web Proceeding of WWW '05.
- Amélie Marian, Nicolas Bruno, Luis Gravano Evaluating top-k queries over web-accessible databases ACM Transactions on Database Systems 29(2), 2004.
- Bandara, A., Payne, T., Roure, D.D., Lewis., T.: A semantic approach for service matching in pervasive environments. In: Technical Report in IAM group shool of ECS. (2007).
- Ferndndez, M., Gmez-p, A. & Juristo, N., 1997. METHONTOLOGY : From Ontological Art Towards Ontological Engineering. In Assessment. AAAI Press, pp. 33-40.
- Ontological Engineering: With Examples from the Areas of Knowledge Management, E-Commerce and the Semantic Web, 2nd edition, Asunción Gomez-Perez, Mariano Fernandez-Lopez, Oscar Corcho, Springer (2007).
- Calero, C. & Eds, M.P., 2006. and Software Technology Ontologies in Software Engineering and C. Calero, F. Ruiz, & M. Piattini, eds., Springer.
IIIA-‐CSIC
35
ANEXO 1. VISTA LÓGICA
Ilustración 1. Paquetes y capas.
Ilustración 2. Paquete ontología.
Áreas funcionales o similares de las empresas que podrían estar interesadas en algunos de los productos/servicios que ofrece la empresa X.
IIIA-‐CSIC
36
Ilustración 3. Paquete consulta
Ilustración 4. Paquete similitud.
IIIA-‐CSIC
37
ANEXO 2. DOCUMENTACIÓN SOFTWARE
Packages
dominio
dominio.consulta
dominio.ontología
dominio.similitud
servicio_técnico
dominio Class tipos
java.lang.Object dominio.tipos
public class tipos extends java.lang.Object
Declaración de tipos varios
Author:
Antonio Cala HUrtado
Nested Class Summary
static class tipos.tipo_consulta
static class tipos.tipo_posición
IIIA-‐CSIC
38
static class tipos.tipo_similitud
static class tipos.tipo_tripleta
Constructor Summary
tipos()
Method Summary
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
tipos public tipos()
Package dominio
Class Summary
tipos Declaración de tipos varios
IIIA-‐CSIC
39
Enum Summary
tipos.tipo_consulta
tipos.tipo_posición
tipos.tipo_similitud
tipos.tipo_tripleta
dominio Enum tipos.tipo_consulta
java.lang.Object java.lang.Enum<tipos.tipo_consulta> dominio.tipos.tipo_consulta All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<tipos.tipo_consulta>
Enclosing class:
tipos
public static enum tipos.tipo_consulta extends java.lang.Enum<tipos.tipo_consulta>
Enum Constant Summary
TERP
TURTLE
IIIA-‐CSIC
40
Method Summary
static tipos.tipo_consulta valueOf(java.lang.String name) Returns the enum constant of this type with the specified name.
static tipos.tipo_consulta[] values() Returns an array containing the constants of this enum type, in the order they are declared.
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
Enum Constant Detail
TERP public static final tipos.tipo_consulta TERP
TURTLE public static final tipos.tipo_consulta TURTLE
Method Detail
values public static tipos.tipo_consulta[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (tipos.tipo_consulta c : tipos.tipo_consulta.values()) System.out.println(c);
IIIA-‐CSIC
41
Returns:
an array containing the constants of this enum type, in the order they are declared
valueOf public static tipos.tipo_consulta valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name -‐ the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException -‐ if this enum type has no constant with the specified name
java.lang.NullPointerException -‐ if the argument is null
dominio Enum tipos.tipo_posición
java.lang.Object java.lang.Enum<tipos.tipo_posición> dominio.tipos.tipo_posición All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<tipos.tipo_posición>
Enclosing class:
tipos
public static enum tipos.tipo_posición extends java.lang.Enum<tipos.tipo_posición>
Enum Constant Summary
IIIA-‐CSIC
42
der
izq
nul
Method Summary
static tipos.tipo_posición valueOf(java.lang.String name) Returns the enum constant of this type with the specified name.
static tipos.tipo_posición[] values() Returns an array containing the constants of this enum type, in the order they are declared.
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
Enum Constant Detail
nul public static final tipos.tipo_posición nul
izq public static final tipos.tipo_posición izq
IIIA-‐CSIC
43
der public static final tipos.tipo_posición der
Method Detail
values public static tipos.tipo_posición[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (tipos.tipo_posición c : tipos.tipo_posición.values()) System.out.println(c); Returns:
an array containing the constants of this enum type, in the order they are declared
valueOf public static tipos.tipo_posición valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name -‐ the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException -‐ if this enum type has no constant with the specified name
java.lang.NullPointerException -‐ if the argument is null
dominio Enum tipos.tipo_similitud
java.lang.Object java.lang.Enum<tipos.tipo_similitud>
IIIA-‐CSIC
44
dominio.tipos.tipo_similitud All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<tipos.tipo_similitud>
Enclosing class:
tipos
public static enum tipos.tipo_similitud extends java.lang.Enum<tipos.tipo_similitud>
Enum Constant Summary
nul
sim_concepto
sim_individuo
Method Summary
static tipos.tipo_similitud valueOf(java.lang.String name) Returns the enum constant of this type with the specified name.
static tipos.tipo_similitud[] values() Returns an array containing the constants of this enum type, in the order they are declared.
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
IIIA-‐CSIC
45
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
Enum Constant Detail
nul public static final tipos.tipo_similitud nul
sim_individuo public static final tipos.tipo_similitud sim_individuo
sim_concepto public static final tipos.tipo_similitud sim_concepto
Method Detail
values public static tipos.tipo_similitud[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (tipos.tipo_similitud c : tipos.tipo_similitud.values()) System.out.println(c); Returns:
an array containing the constants of this enum type, in the order they are declared
valueOf public static tipos.tipo_similitud valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name -‐ the name of the enum constant to be returned.
Returns:
IIIA-‐CSIC
46
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException -‐ if this enum type has no constant with the specified name
java.lang.NullPointerException -‐ if the argument is null
dominio Enum tipos.tipo_tripleta
java.lang.Object java.lang.Enum<tipos.tipo_tripleta> dominio.tipos.tipo_tripleta All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<tipos.tipo_tripleta>
Enclosing class:
tipos
public static enum tipos.tipo_tripleta extends java.lang.Enum<tipos.tipo_tripleta>
Enum Constant Summary
directType_var
nul
rdf
rdf_var
relación_der
relación_izq
IIIA-‐CSIC
47
Method Summary
static tipos.tipo_tripleta valueOf(java.lang.String name) Returns the enum constant of this type with the specified name.
static tipos.tipo_tripleta[] values() Returns an array containing the constants of this enum type, in the order they are declared.
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
Enum Constant Detail
nul public static final tipos.tipo_tripleta nul
rdf public static final tipos.tipo_tripleta rdf
rdf_var public static final tipos.tipo_tripleta rdf_var
IIIA-‐CSIC
48
relación_izq public static final tipos.tipo_tripleta relación_izq
relación_der public static final tipos.tipo_tripleta relación_der
directType_var public static final tipos.tipo_tripleta directType_var
Method Detail
values public static tipos.tipo_tripleta[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (tipos.tipo_tripleta c : tipos.tipo_tripleta.values()) System.out.println(c); Returns:
an array containing the constants of this enum type, in the order they are declared
valueOf public static tipos.tipo_tripleta valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name -‐ the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException -‐ if this enum type has no constant with the specified name
java.lang.NullPointerException -‐ if the argument is null
IIIA-‐CSIC
49
Package dominio.consulta
Class Summary
Construcción_consulta Manipulación de cadenas de consultas en SPARQL
Consulta Punto de acceso para uso externo, interfaz gráfica o no
Consulta_tipo
ESTA CLASE HABRÍA QUE AMPLIARLA CON MAS CONSULTAS Y FUNCIONALIDADES PORQUE ES LO QUE DA POTENCIA AL SISTEMA USUARIO Consultas tipo sobre ontología
Ejecución_consulta Preparación y ejecución de una consulta en SPARQL.
Tripleta_consulta Soporte tripletas que contienen conceptos o variables de similitud
dominio.consulta Class Construcción_consulta
java.lang.Object dominio.consulta.Construcción_consulta
public class Construcción_consulta extends java.lang.Object
Manipulación de cadenas de consultas en SPARQL
Author:
Antonio Cala Hurtado
Field Summary
boolean b
IIIA-‐CSIC
50
java.lang.String s_cons
Constructor Summary
Construcción_consulta(Ontología o) Constructor
Method Summary
java.lang.String elimina_blancos(java.lang.String s) Elimina espacios en blancos de una cadena s
java.lang.String elimina_patrón(java.lang.String Cs, java.util.regex.Pattern pat) Elimina subcadenas de Cs mediante el patrón pat
java.lang.String elimina_similitudes(java.lang.String Cs) Elimina términos de similitud
java.lang.String elimina_subconsulta(java.lang.String Cs) Elimina corchetes de subconsulta
java.lang.String genera_cadena_unión(java.util.ArrayList<java.lang.String> l, java.lang.String v) Genera cadena unión a partir de la lista de conceptos l
void genera_cadena_unión(java.util.ArrayList<Tripleta_consulta> L) Genera cadena unión a partir de de la lista de tripletas L
java.lang.String get_cadena_exreg(java.util.regex.Pattern p, java.lang.String C) Obtiene una subcadena de la cadena C mediante una expresión regular
java.util.ArrayList<java.lang.String>
indiviuos_con_similitud_a_individuo(java.lang.String I, java.lang.String op, java.lang.String s) Dado un individuo I, un operador op y una similitud s,
IIIA-‐CSIC
51
devuelve los individuos que cumplan con la condición
java.lang.String introduce_caracter(java.util.regex.Pattern pat, java.lang.String Cs, char car) Introduce espacios en Cs mediante el patrón pat
java.lang.String introduce_espacios(java.lang.String Cs) Introducción de espacios en cadena mediante patrones
java.lang.String Obtener_Subconsulta_de_Consulta(java.lang.String C) Obtiene una subconsulta (encerrada entre corchetes) de una consulta C
java.util.ArrayList<Tripleta_consulta>
Obtiene_Entidades_Similitud_Consulta(java.lang.String C) Obtienes la infomación filtrada de los conceptos con similitud de la cadena C
java.lang.String Obtiene_Relaciones_de_similitud_Conceptos(java.util.ArrayList<java.lang.String> L, Tripleta_consulta t) Dada una tripleta t y una lista de conceptos L, devuelve tantas relaciones como elementos en L
java.lang.String obtiene_unión(java.util.ArrayList<Tripleta_consulta> L)
Tripleta_consulta Obtiene_Valores_Entidad_Similitud_Consulta(java.lang.String C, java.lang.String Cs, java.util.regex.Matcher match, tipos.tipo_tripleta tipo) MEJORAR CONCEPTUALMENTE ***************** Dada una consulta Cs, una cadena C que contiene un concepto o variable con similitud, datos de una búsqueda por patrón match, y el tipo de tripleta (rdf, rdf_var,directType_var,relación_izq,relación_der) devuelve filtrada la información de la tripleta.
void Obtiene_Variables_Similitud_Consulta(java.lang.String C, java.util.ArrayList<Tripleta_consulta> L) Obtiene las variables con similitud de una consulta
java.lang.String Reemplaza_Subconsulta_en_Consulta_Similitud(jav
IIIA-‐CSIC
52
a.lang.String C, java.lang.String sC, java.util.ArrayList<Tripleta_consulta> L) Dada una consulta C y una subconsulta sC, reemplaza sC en C por la unión de conceptos contenida en L
java.lang.String Sustituye_Conceptos_Similitud(java.util.ArrayList<Tripleta_consulta> L, java.lang.String Cs) Sustituye en Cs los conceptos de similitud de L
java.lang.String unión_conceptos_con_similitud_de_concepto_a_concepto(java.lang.String v, java.lang.String C, java.lang.String op, java.lang.String s) Dada una variable v, que representa instancias perteneciente a un concepto C, un operador op y una similitud s, devuelve la unión de los conceptos que cumplan con la condición Unión_conceptos_con_similitud_de_individuos_a_concepto.
java.lang.String unión_conceptos_con_similitud_de_individuos_a_concepto(java.lang.String v, java.lang.String C, java.lang.String op, java.lang.String s) Dada una variable v, que representa instancias perteneciente a un concepto C, un operador op y una similitud s, devuelve la unión de los conceptos que cumplan con la condición Unión_conceptos_con_similitud_de_individuos_a_concepto.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
s_cons public java.lang.String s_cons
b public boolean b
IIIA-‐CSIC
53
Constructor Detail
Construcción_consulta public Construcción_consulta(Ontología o)
Constructor
Parameters:
s -‐ cadena a tratar
Method Detail
Obtener_Subconsulta_de_Consulta public java.lang.String Obtener_Subconsulta_de_Consulta(java.lang.String C)
Obtiene una subconsulta (encerrada entre corchetes) de una consulta C
Parameters:
C -‐ consulta
Returns:
subconsulta
get_cadena_exreg public java.lang.String get_cadena_exreg(java.util.regex.Pattern p, java.lang.String C)
Obtiene una subcadena de la cadena C mediante una expresión regular
Parameters:
p -‐ patrón de la expresión regular
C -‐ cadena de la que se quiere obtener la subcadena
Returns:
subcadena de C
elimina_blancos public java.lang.String elimina_blancos(java.lang.String s)
Elimina espacios en blancos de una cadena s
IIIA-‐CSIC
54
Parameters:
s -‐ cadena
Returns:
introduce_caracter public java.lang.String introduce_caracter(java.util.regex.Pattern pat, java.lang.String Cs, char car)
Introduce espacios en Cs mediante el patrón pat
Parameters:
pat -‐ patrón
Cs -‐ cadena
Returns:
cadena resultante con espacios
introduce_espacios public java.lang.String introduce_espacios(java.lang.String Cs)
Introducción de espacios en cadena mediante patrones
Parameters:
Cs -‐ cadena
Returns:
cadena con espacios
elimina_patrón public java.lang.String elimina_patrón(java.lang.String Cs, java.util.regex.Pattern pat)
Elimina subcadenas de Cs mediante el patrón pat
Parameters:
Cs -‐ cadena
pat -‐ patrón
IIIA-‐CSIC
55
Returns:
devuelve cadena con subcadenas eliminadas
elimina_similitudes public java.lang.String elimina_similitudes(java.lang.String Cs)
Elimina términos de similitud
Parameters:
Cs -‐ cadena
Returns:
cadenas sin términos de similitud
elimina_subconsulta public java.lang.String elimina_subconsulta(java.lang.String Cs)
Elimina corchetes de subconsulta
Parameters:
Cs -‐ cadena
Returns:
consulta sin corchetes
Obtiene_Valores_Entidad_Similitud_Consulta public Tripleta_consulta Obtiene_Valores_Entidad_Similitud_Consulta(java.lang.String C, java.lang.String Cs, java.util.regex.Matcher match, tipos.tipo_tripleta tipo)
MEJORAR CONCEPTUALMENTE ***************** Dada una consulta Cs, una cadena C que contiene un concepto o variable con similitud, datos de una búsqueda por patrón match, y el tipo de tripleta (rdf, rdf_var,directType_var,relación_izq,relación_der) devuelve filtrada la información de la tripleta.
Parameters:
IIIA-‐CSIC
56
C -‐ subcadena que contiene la variable de similitud
Cs -‐ cadena de la consulta
match -‐ datos de la búsqueda por patrón
tipo -‐ tipo de tripleta
Returns:
tripleta con la información filtrada
Obtiene_Entidades_Similitud_Consulta public java.util.ArrayList<Tripleta_consulta> Obtiene_Entidades_Similitud_Consulta(java.lang.String C)
Obtienes la infomación filtrada de los conceptos con similitud de la cadena C
Parameters:
C -‐ cadena consulta
Returns:
tripletas con variables de similitud con la información filtrada
Obtiene_Variables_Similitud_Consulta public void Obtiene_Variables_Similitud_Consulta(java.lang.String C, java.util.ArrayList<Tripleta_consulta> L)
Obtiene las variables con similitud de una consulta
Parameters:
C -‐ consulta
L -‐ lista de tripletas con información filtrada
Reemplaza_Subconsulta_en_Consulta_Similitud public java.lang.String Reemplaza_Subconsulta_en_Consulta_Similitud(java.lang.String C, java.lang.String sC, java.util.ArrayList<Tripleta_consulta> L)
Dada una consulta C y una subconsulta sC, reemplaza sC en C por la unión de conceptos contenida en L
IIIA-‐CSIC
57
Parameters:
C -‐ cadena
sC -‐ subcadena a substituir
L -‐ lista de tripletas
Returns:
cadena con subconsulta reemplazada
genera_cadena_unión public java.lang.String genera_cadena_unión(java.util.ArrayList<java.lang.String> l, java.lang.String v)
Genera cadena unión a partir de la lista de conceptos l
Parameters:
l -‐ lista de conceptos
v -‐ variable
Returns:
unión de conceptos
genera_cadena_unión public void genera_cadena_unión(java.util.ArrayList<Tripleta_consulta> L)
Genera cadena unión a partir de de la lista de tripletas L
Parameters:
L -‐ lista de tripletas
obtiene_unión public java.lang.String obtiene_unión(java.util.ArrayList<Tripleta_consulta> L)
IIIA-‐CSIC
58
unión_conceptos_con_similitud_de_individuos_a_concepto public java.lang.String unión_conceptos_con_similitud_de_individuos_a_concepto(java.lang.String v, java.lang.String C, java.lang.String op, java.lang.String s)
Dada una variable v, que representa instancias perteneciente a un concepto C, un operador op y una similitud s, devuelve la unión de los conceptos que cumplan con la condición Unión_conceptos_con_similitud_de_individuos_a_concepto.
Parameters:
v -‐ variable
C -‐ concepto
op -‐ operador
s -‐ similitud
Returns:
unión
unión_conceptos_con_similitud_de_concepto_a_concepto public java.lang.String unión_conceptos_con_similitud_de_concepto_a_concepto(java.lang.String v, java.lang.String C, java.lang.String op, java.lang.String s)
Dada una variable v, que representa instancias perteneciente a un concepto C, un operador op y una similitud s, devuelve la unión de los conceptos que cumplan con la condición Unión_conceptos_con_similitud_de_individuos_a_concepto.
Parameters:
v -‐ variable
C -‐ concepto
op -‐ operador
s -‐ similitud
IIIA-‐CSIC
59
Returns:
unión
indiviuos_con_similitud_a_individuo public java.util.ArrayList<java.lang.String> indiviuos_con_similitud_a_individuo(java.lang.String I, java.lang.String op, java.lang.String s)
Dado un individuo I, un operador op y una similitud s, devuelve los individuos que cumplan con la condición
Parameters:
I -‐ individuo
op -‐ operador
s -‐ similitud
Returns:
lista de individuos
Obtiene_Relaciones_de_similitud_Conceptos public java.lang.String Obtiene_Relaciones_de_similitud_Conceptos(java.util.ArrayList<java.lang.String> L, Tripleta_consulta t)
Dada una tripleta t y una lista de conceptos L, devuelve tantas relaciones como elementos en L
Parameters:
L -‐ lista de tripletas
t -‐ tripleta
Returns:
relaciones
IIIA-‐CSIC
60
Sustituye_Conceptos_Similitud public java.lang.String Sustituye_Conceptos_Similitud(java.util.ArrayList<Tripleta_consulta> L, java.lang.String Cs)
Sustituye en Cs los conceptos de similitud de L
Parameters:
L -‐ lista de tripletas
Cs -‐ consulta
Returns:
consulta con sustituciones
dominio.consulta Class Consulta
java.lang.Object dominio.consulta.Consulta
public class Consulta extends java.lang.Object
Punto de acceso para uso externo, interfaz gráfica o no
Author:
Antonio Cala Hurtado
Field Summary
Consulta_tipo c_t
Constructor Summary
Consulta(Ontología o)
IIIA-‐CSIC
61
Constructor
Method Summary
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
ejecuta_consulta_SPARQLDL(java.lang.String C) Ejecución de la consulta SPARQL C
java.util.ArrayList<java.lang.String>
get_conceptos_ontología() Obtiene los conceptos de la ontología
java.util.ArrayList<java.lang.String>
get_miembros_de_clase(java.lang.String C) Obtiene los miembros de una clase
java.util.ArrayList<java.lang.String>
get_relaciones_concepto_ontología(java.lang.String C) Obtiene las relaciones de un concepto con otros conceptos
java.util.ArrayList<java.lang.String>
get_relaciones_dato_ontología(java.lang.String C) Obtiene las relaciones de un concepto con atributos
java.util.ArrayList<java.lang.String>
Obtiene_conceptos_con_similitud_a_conceptos(java.util.ArrayList<java.lang.String> C, java.lang.String op, java.lang.String d) Obtiene los conceptos que cumplen la condición definida por el operador op y la similitud d sobre la lista de conceptos C
java.util.ArrayList<java.lang.String>
Obtiene_conceptos_con_similitud_a_conceptos(java.lang.String op, java.lang.String d, java.lang.String... e) Obtiene los conceptos que cumplen la condición definida por el operador op y la similitud d sobre los conceptos e
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
Obtiene_conceptos_con_similitud(java.lang.String C, java.lang.String op, java.lang.String d) Obtiene los conceptos que cumplen la condición
IIIA-‐CSIC
62
definida por el operador op y la similitud d sobre el concepto C
double Obtiene_similitud_entre_conceptos(java.lang.String C1, java.lang.String C2) Obtiene la similitud entre dos concetos
java.lang.String Obtiene_Variables_Similitud_Subconsultas(java.lang.String C) Devuelve la consulta C con las variables de similitud resueltas
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
c_t public Consulta_tipo c_t
Constructor Detail
Consulta public Consulta(Ontología o)
Constructor
Parameters:
o -‐ todos los datos correspondiente a una ontología
Method Detail
get_conceptos_ontología public java.util.ArrayList<java.lang.String> get_conceptos_ontología()
Obtiene los conceptos de la ontología
Returns:
IIIA-‐CSIC
63
listas de conceptos de la ontología
get_relaciones_concepto_ontología public java.util.ArrayList<java.lang.String> get_relaciones_concepto_ontología(java.lang.String C)
Obtiene las relaciones de un concepto con otros conceptos
Parameters:
C -‐ concepto
Returns:
relaciones entre conceptos de la ontología
get_relaciones_dato_ontología public java.util.ArrayList<java.lang.String> get_relaciones_dato_ontología(java.lang.String C)
Obtiene las relaciones de un concepto con atributos
Parameters:
C -‐
Returns:
relaciones entre clases y datos de la ontología
get_miembros_de_clase public java.util.ArrayList<java.lang.String> get_miembros_de_clase(java.lang.String C)
Obtiene los miembros de una clase
Parameters:
C -‐ clase de concepto
Returns:
instancias pertenecientes a la clase C
IIIA-‐CSIC
64
Obtiene_conceptos_con_similitud public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Obtiene_conceptos_con_similitud(java.lang.String C, java.lang.String op, java.lang.String d)
Obtiene los conceptos que cumplen la condición definida por el operador op y la similitud d sobre el concepto C
Parameters:
C -‐ concepto a comparar
op -‐ operador (<,>,=>=,<=)
d -‐ número (entre 0 y 1)
Returns:
lista de conceptos que cumple la condición definida por op y d sobre C
Obtiene_conceptos_con_similitud_a_conceptos public java.util.ArrayList<java.lang.String> Obtiene_conceptos_con_similitud_a_conceptos(java.util.ArrayList<java.lang.String> C, java.lang.String op, java.lang.String d)
Obtiene los conceptos que cumplen la condición definida por el operador op y la similitud d sobre la lista de conceptos C
Parameters:
C -‐ lista de conceptos a comparar
op -‐ operador (<,>,=>=,<=)
d -‐ número (entre 0 y 1)
Returns:
lista de conceptos que cumple la condición definida por op y d sobre la lista C
Obtiene_conceptos_con_similitud_a_conceptos public java.util.ArrayList<java.lang.String> Obtiene_conceptos_con_similitud_a_conceptos(java.lang.String op,
IIIA-‐CSIC
65
java.lang.String d, java.lang.String... e)
Obtiene los conceptos que cumplen la condición definida por el operador op y la similitud d sobre los conceptos e
Parameters:
op -‐ operador (<,>,=>=,<=)
d -‐ número (entre 0 y 1)
Returns:
lista de conceptos que cumple la condición definida por op y d sobre la lista C
Obtiene_similitud_entre_conceptos public double Obtiene_similitud_entre_conceptos(java.lang.String C1, java.lang.String C2)
Obtiene la similitud entre dos concetos
Parameters:
C1 -‐ primer concepto a comparar
C2 -‐ segundo concepto a comparar
Returns:
similitud entre C1 y C2
Obtiene_Variables_Similitud_Subconsultas public java.lang.String Obtiene_Variables_Similitud_Subconsultas(java.lang.String C)
Devuelve la consulta C con las variables de similitud resueltas
Parameters:
C -‐ consulta en SPARQL conteniendo variables de similitud
Returns:
consulta C con variables de similitud sustituida por sus valores
IIIA-‐CSIC
66
ejecuta_consulta_SPARQLDL public java.util.ArrayList<java.util.ArrayList<java.lang.String>> ejecuta_consulta_SPARQLDL(java.lang.String C)
Ejecución de la consulta SPARQL C
Parameters:
C -‐ consulta SPARQL
Returns:
resultado de la consulta C
dominio.consulta Class Consulta_tipo
java.lang.Object dominio.consulta.Consulta_tipo
public class Consulta_tipo extends java.lang.Object
ESTA CLASE HABRÍA QUE AMPLIARLA CON MAS CONSULTAS Y FUNCIONALIDADES PORQUE ES LO QUE DA POTENCIA AL SISTEMA USUARIO Consultas tipo sobre ontología
Author:
Antonio Cala Hurtado
Field Summary
Ejecución_consulta c_terp
Ejecución_consulta c_turtle
Constructor Summary
IIIA-‐CSIC
67
Consulta_tipo(Ontología o) Constructor
Method Summary
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
Axioma_de_Clase(java.lang.String C, java.lang.String ax) Dada una clase C y un tipo de axioma ax devuelve la lista de estos axiomas
java.util.ArrayList<java.lang.String>
Conceptos_Ontología() Obtiene los conceptos de la ontología
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
ejecuta_consulta(java.lang.String s, boolean añade_cabecera) Ejecuta una consulta en SPARQL
java.util.ArrayList<java.lang.String>
Ejecuta_Subconsulta_Padres_individuos(java.lang.String concepto, java.util.ArrayList<java.lang.String> ls1) Dado un concepto y una lista de inidividuos, se obtiene la intersección de los conceptos padres directos de los individuos hijos del concepto y de la lista de individuos
void Ejecuta_Subconsultas_Variables(java.lang.String C, java.util.ArrayList<Tripleta_consulta> L) Dada una consulta C y una lista de tripletas L que contienen variables de similitud, resuelve las variables de C que están contenidas en L.
boolean es_Individuo(java.lang.String I) ¿I es un individuo?
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
Individuo_de_Clase(java.lang.String C, boolean d) Dada una clase C, devuelve los individuos directos o no (valor de d)
void inicia_consulta()
IIIA-‐CSIC
68
Inicia una consulta
java.util.ArrayList<java.lang.String>
miembros_de_clase(java.lang.String C) Dada una clase C, obtiene sus instancia
java.lang.String Padre_de_Clase(java.lang.String C) Devuelve la clase padre de C
java.util.ArrayList<java.lang.String>
Padres_de_Individuo(java.lang.String I) Dado un inidividuo I, devuelve todos sus ancestros
java.util.ArrayList<java.lang.String>
Padres_Directos_de_Individuo(java.lang.String I) Dado un individuo I devuelve los padres directos
java.util.ArrayList<java.lang.String>
Padres_individuos_de_Clase(java.lang.String C) Dada una clase C, obtiene los padres de sus instancias.
java.util.ArrayList<java.lang.String>
Relaciones_de_Clase(java.lang.String C) Dada una clase C Obtiene las relaciones con otros conceptos
java.util.ArrayList<java.lang.String>
Relaciones_de_datos_de_Clase(java.lang.String C) Dada una clase C Obtiene las relaciones con atributos
java.util.ArrayList<java.lang.String>
Subclase_de_Clase(java.lang.String C, boolean d) Dada una clase C, devuelve las subclases hijas directas o no (valor de d)
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
Superclase_de_Clase(java.lang.String C, boolean d) Dada una clase C, devuelve las superclases directas o no (valor de d)
IIIA-‐CSIC
69
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
c_terp public Ejecución_consulta c_terp
c_turtle public Ejecución_consulta c_turtle
Constructor Detail
Consulta_tipo public Consulta_tipo(Ontología o)
Constructor
Parameters:
o -‐ ontología e información asociada
Method Detail
inicia_consulta public void inicia_consulta()
Inicia una consulta
Subclase_de_Clase public java.util.ArrayList<java.lang.String> Subclase_de_Clase(java.lang.String C, boolean d)
Dada una clase C, devuelve las subclases hijas directas o no (valor de d)
Parameters:
C -‐ clase padre
IIIA-‐CSIC
70
d -‐ ¿subclases directas?
Returns:
lista de subclases de C
Superclase_de_Clase public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Superclase_de_Clase(java.lang.String C, boolean d)
Dada una clase C, devuelve las superclases directas o no (valor de d)
Parameters:
C -‐ clase hija
d -‐ ¿subclases directas?
Returns:
lista de superclases de C
Padre_de_Clase public java.lang.String Padre_de_Clase(java.lang.String C)
Devuelve la clase padre de C
Parameters:
C -‐ clase hija
Returns:
clase padre
Individuo_de_Clase public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Individuo_de_Clase(java.lang.String C, boolean d)
Dada una clase C, devuelve los individuos directos o no (valor de d)
Parameters:
C -‐ clase padre
IIIA-‐CSIC
71
d -‐ ¿individuos directos?
Returns:
lista de individuos
Axioma_de_Clase public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Axioma_de_Clase(java.lang.String C, java.lang.String ax)
Dada una clase C y un tipo de axioma ax devuelve la lista de estos axiomas
Parameters:
C -‐ clase
ax -‐ tipo axioma
Returns:
lista de axiomas
Conceptos_Ontología public java.util.ArrayList<java.lang.String> Conceptos_Ontología()
Obtiene los conceptos de la ontología
Returns:
lista de conceptos de la ontología
Relaciones_de_Clase public java.util.ArrayList<java.lang.String> Relaciones_de_Clase(java.lang.String C)
Dada una clase C Obtiene las relaciones con otros conceptos
Parameters:
C -‐ clase
Returns:
lista de relaciones
IIIA-‐CSIC
72
Relaciones_de_datos_de_Clase public java.util.ArrayList<java.lang.String> Relaciones_de_datos_de_Clase(java.lang.String C)
Dada una clase C Obtiene las relaciones con atributos
Parameters:
C -‐ clase
Returns:
lista de relaciones de atributo
miembros_de_clase public java.util.ArrayList<java.lang.String> miembros_de_clase(java.lang.String C)
Dada una clase C, obtiene sus instancia
Parameters:
C -‐ clase
Returns:
lista de instancias
Padres_Directos_de_Individuo public java.util.ArrayList<java.lang.String> Padres_Directos_de_Individuo(java.lang.String I)
Dado un individuo I devuelve los padres directos
Parameters:
I -‐ individuo
Returns:
lista de clases padres de I
es_Individuo public boolean es_Individuo(java.lang.String I)
¿I es un individuo?
Parameters:
IIIA-‐CSIC
73
I -‐ individuo
Returns:
si o no I es un inidividuo
Padres_de_Individuo public java.util.ArrayList<java.lang.String> Padres_de_Individuo(java.lang.String I)
Dado un inidividuo I, devuelve todos sus ancestros
Parameters:
I -‐ individuo
Returns:
lista de ancestros de I
Ejecuta_Subconsulta_Padres_individuos public java.util.ArrayList<java.lang.String> Ejecuta_Subconsulta_Padres_individuos(java.lang.String concepto, java.util.ArrayList<java.lang.String> ls1)
Dado un concepto y una lista de inidividuos, se obtiene la intersección de los conceptos padres directos de los individuos hijos del concepto y de la lista de individuos
Parameters:
concepto -‐ concepto padre
ls1 -‐ lista de instancias
Returns:
lista de conceptos padres intersección
Ejecuta_Subconsultas_Variables public void Ejecuta_Subconsultas_Variables(java.lang.String C, java.util.ArrayList<Tripleta_consulta> L)
Dada una consulta C y una lista de tripletas L que contienen variables de similitud, resuelve las variables de C que están contenidas en L. Sobre el resultado de cada
IIIA-‐CSIC
74
variable se obtiene el conjunto de concepto dependiendo si el resultado es una instancia o una clase
Parameters:
C -‐ consulta
L -‐ lista de tripletas
Padres_individuos_de_Clase public java.util.ArrayList<java.lang.String> Padres_individuos_de_Clase(java.lang.String C)
Dada una clase C, obtiene los padres de sus instancias.
Parameters:
C -‐ clase
Returns:
lista de conceptos padres
ejecuta_consulta public java.util.ArrayList<java.util.ArrayList<java.lang.String>> ejecuta_consulta(java.lang.String s, boolean añade_cabecera)
Ejecuta una consulta en SPARQL
Parameters:
s -‐ consulta SPARQL
añade_cabecera -‐ ¿añade cabecera de SPARQL?
Returns:
lista resultado de la consulta
dominio.consulta Class Ejecución_consulta
java.lang.Object dominio.consulta.Ejecución_consulta
IIIA-‐CSIC
75
public class Ejecución_consulta extends java.lang.Object
Preparación y ejecución de una consulta en SPARQL.
Constructor Summary
Ejecución_consulta(tipos.tipo_consulta t, Ontología o) Constructor.
Method Summary
java.lang.String And(java.lang.String... e) Conjunción de entidades.
java.lang.String Construye_Consulta(java.lang.String ex) Construye consulta en SPARQL
java.lang.String Construye_Consulta(java.lang.String v, java.lang.String ex) Construye consulta en SPARQL
java.util.Iterator<com.hp.hpl.jena.query.QuerySolutio
n>
Consulta_Lista_Resultados(java.lang.String c, com.hp.hpl.jena.ontology.OntModel ont) Consulta_ lista_ resultados.
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
Consulta(java.lang.String c) Ejecución de consulta.
java.lang.String de_Tipo(java.lang.String[]... e) Declaración de entidades e en formato TURTLE o TERP.
java.lang.String dlClase_Complementaria(java.lang.String c1, java.lang.String c2) Clases complementarias (EquivalentClass) de c2.
java.lang.String dlClase_Equivalente(java.lang.String c1, java.lang.String c2) Clases equivalentes (EquivalentClass) de c2.
IIIA-‐CSIC
76
java.lang.String dlde_Tipo(java.lang.String e1, java.lang.String e2) Declaración con tipo sparqldl.
java.lang.String dlDiferente_de(java.lang.String e1, java.lang.String e2) Operación diferente que (DifferentFrom).
java.lang.String dlMismo_que(java.lang.String e1, java.lang.String e2) Operación mismo que (SameAs).
java.lang.String dlSubclase_de(java.lang.String e1, java.lang.String e2) Devuelve las subclases (subClassOf) de e2.
java.lang.String dlSubclase_Directa_de(java.lang.String e1, java.lang.String e2) Devuelve las subclases directas (sparqldl) de e2.
java.lang.String dlSubclase_Estricta_de(java.lang.String e1, java.lang.String e2) Subclases (StrictSubClassOf) estrictas de e2.
java.lang.String dlSubpropiedad_de(java.lang.String p, java.lang.String q) Subpropiedades (SubPropertyOf) de q.
java.lang.String dlSubpropiedad_directa_de(java.lang.String p, java.lang.String q) Subpropiedades directas (DirectSubPropertyOf) de q.
java.lang.String dlSubpropiedad_estricta_de(java.lang.String p, java.lang.String q) Subpropiedades estrictas (StrictSubPropertyOf) de q.
java.lang.String dlSuperclase_de(java.lang.String e1, java.lang.String e2) Superclases de e2.
java.lang.String dlSuperclase_Directa_de(java.lang.String e1, java.lang.String e2) Superclases directas de e2.
com.hp.hpl.jena.query.Quer Iniciar_Consulta(java.lang.String c)
IIIA-‐CSIC
77
yExecution Iniciar_ consulta.
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
Interseccion_de(java.lang.String C1, java.lang.String C2) Interseccion de c1 y c2
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
Obtiene_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls) Pasa de ArrayList<arraylist> a ArrayList<arraylist></arraylist</arraylist
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
Obtiene_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls, java.lang.String t) Obtiene conceptos de tipo t de ls
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
Obtiene_Conceptos_de_Consulta(com.hp.hpl.jena.query.ResultSet rs) Pasa de formato de resultado de consulta de ResultSet a ArrayList<arraylist></arraylist
java.lang.String Or(java.lang.String e1, java.lang.String e2) Operación or
java.lang.String Par(java.lang.String s) Añade parentesis a cadena.
java.lang.String Punto(java.lang.String s) Punto.
java.lang.String Rec(java.lang.String r) Declara una entidad de la ontología.
java.lang.String Some(java.lang.String v1, java.lang.String v2) Restricción some.
java.util.ArrayList<java.util.ArrayList<java.lang.Str
ing>>
SuperClases_de(java.lang.String c) Superclases de clase c
java.lang.String Tiene(java.lang.String s, java.lang.String p, java.lang.String o) Relación.
IIIA-‐CSIC
78
java.lang.String Unión(java.lang.String C1, java.lang.String C2) Unión de dos conceptos.
java.lang.String Var(java.lang.String... v) Declara la lista de variables v.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
Ejecución_consulta public Ejecución_consulta(tipos.tipo_consulta t, Ontología o)
Constructor.
Parameters:
t -‐ tipo de consulta
o -‐ ontología e información asociada
Method Detail
Var public java.lang.String Var(java.lang.String... v)
Declara la lista de variables v.
Parameters:
v -‐ variables
Returns:
declaración
IIIA-‐CSIC
79
Rec public java.lang.String Rec(java.lang.String r)
Declara una entidad de la ontología.
Parameters:
r -‐ entidad
Returns:
entidad declarada
Unión public java.lang.String Unión(java.lang.String C1, java.lang.String C2)
Unión de dos conceptos.
Parameters:
C1 -‐ concepto
C2 -‐ concepto
Returns:
unión de conceptos
Punto public java.lang.String Punto(java.lang.String s)
Punto.
Parameters:
s -‐ cadena
Returns:
cadena con punto
de_Tipo public java.lang.String de_Tipo(java.lang.String[]... e)
Declaración de entidades e en formato TURTLE o TERP.
Parameters:
IIIA-‐CSIC
80
e -‐ entidades
Returns:
declaración de entidades
Tiene public java.lang.String Tiene(java.lang.String s, java.lang.String p, java.lang.String o)
Relación.
Parameters:
s -‐ entidad
p -‐ relación
o -‐ entidad
Returns:
relación construida
Par public java.lang.String Par(java.lang.String s)
Añade parentesis a cadena.
Parameters:
s -‐ cadena
Returns:
cadena con parentesis
Some public java.lang.String Some(java.lang.String v1, java.lang.String v2)
Restricción some.
Parameters:
v1 -‐ entidad
v2 -‐ entidad
IIIA-‐CSIC
81
Returns:
some construida
And public java.lang.String And(java.lang.String... e)
Conjunción de entidades.
Parameters:
e -‐ entidades
Returns:
And construida
dlSubclase_Directa_de public java.lang.String dlSubclase_Directa_de(java.lang.String e1, java.lang.String e2)
Devuelve las subclases directas (sparqldl) de e2.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
sparqldl construida
dlSubclase_de public java.lang.String dlSubclase_de(java.lang.String e1, java.lang.String e2)
Devuelve las subclases (subClassOf) de e2.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
subClassOf construida
IIIA-‐CSIC
82
dlSuperclase_de public java.lang.String dlSuperclase_de(java.lang.String e1, java.lang.String e2)
Superclases de e2.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
operación superclases construida
dlSuperclase_Directa_de public java.lang.String dlSuperclase_Directa_de(java.lang.String e1, java.lang.String e2)
Superclases directas de e2.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
operación superclases directas construida
dlSubclase_Estricta_de public java.lang.String dlSubclase_Estricta_de(java.lang.String e1, java.lang.String e2)
Subclases (StrictSubClassOf) estrictas de e2.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
operación Suubclases estrictas construida
IIIA-‐CSIC
83
dlClase_Equivalente public java.lang.String dlClase_Equivalente(java.lang.String c1, java.lang.String c2)
Clases equivalentes (EquivalentClass) de c2.
Parameters:
c1 -‐ the c1
c2 -‐ the c2
Returns:
operación clases equivalentes construida
dlClase_Complementaria public java.lang.String dlClase_Complementaria(java.lang.String c1, java.lang.String c2)
Clases complementarias (EquivalentClass) de c2.
Parameters:
c1 -‐ the c1
c2 -‐ the c2
Returns:
operación clases complementarias construida
dlSubpropiedad_directa_de public java.lang.String dlSubpropiedad_directa_de(java.lang.String p, java.lang.String q)
Subpropiedades directas (DirectSubPropertyOf) de q.
Parameters:
p -‐ entidad
q -‐ entidad
Returns:
operación Subpropiedades directas construida
IIIA-‐CSIC
84
dlSubpropiedad_estricta_de public java.lang.String dlSubpropiedad_estricta_de(java.lang.String p, java.lang.String q)
Subpropiedades estrictas (StrictSubPropertyOf) de q.
Parameters:
p -‐ entidad
q -‐ entidad
Returns:
operación clases complementarias construida
dlSubpropiedad_de public java.lang.String dlSubpropiedad_de(java.lang.String p, java.lang.String q)
Subpropiedades (SubPropertyOf) de q.
Parameters:
p -‐ entidad
q -‐ entidad
Returns:
operación Subpropiedades construida
dlde_Tipo public java.lang.String dlde_Tipo(java.lang.String e1, java.lang.String e2)
Declaración con tipo sparqldl.
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
declaración
IIIA-‐CSIC
85
dlMismo_que public java.lang.String dlMismo_que(java.lang.String e1, java.lang.String e2)
Operación mismo que (SameAs).
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
operación SameAs construida
dlDiferente_de public java.lang.String dlDiferente_de(java.lang.String e1, java.lang.String e2)
Operación diferente que (DifferentFrom).
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
operación DifferentFrom construida
Or public java.lang.String Or(java.lang.String e1, java.lang.String e2)
Operación or
Parameters:
e1 -‐ entidad
e2 -‐ entidad
Returns:
Operación or construida
IIIA-‐CSIC
86
Construye_Consulta public java.lang.String Construye_Consulta(java.lang.String v, java.lang.String ex)
Construye consulta en SPARQL
Parameters:
v -‐ variables
ex -‐ instrucciones
Returns:
consulta construida
Construye_Consulta public java.lang.String Construye_Consulta(java.lang.String ex)
Construye consulta en SPARQL
Parameters:
ex -‐ cuerpo
Returns:
consulta construida
Iniciar_Consulta public com.hp.hpl.jena.query.QueryExecution Iniciar_Consulta(java.lang.String c)
Iniciar_ consulta.
Parameters:
c -‐ consulta
Returns:
consulta preparada para ejecución
Consulta public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Consulta(java.lang.String c)
Ejecución de consulta.
IIIA-‐CSIC
87
Parameters:
c -‐ consulta
Returns:
resultado de la consulta
SuperClases_de public java.util.ArrayList<java.util.ArrayList<java.lang.String>> SuperClases_de(java.lang.String c)
Superclases de clase c
Parameters:
c -‐ clase
Returns:
resultado consulta
Interseccion_de public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Interseccion_de(java.lang.String C1, java.lang.String C2)
Interseccion de c1 y c2
Parameters:
C1 -‐ clase
C2 -‐ clase
Returns:
resultado consulta
Consulta_Lista_Resultados public java.util.Iterator<com.hp.hpl.jena.query.QuerySolution> Consulta_Lista_Resultados(java.lang.String c, com.hp.hpl.jena.ontology.OntModel ont)
Consulta_ lista_ resultados.
Parameters:
IIIA-‐CSIC
88
c -‐ the c
ont -‐ the ont
Returns:
the iterator
Obtiene_Conceptos_de_Consulta public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Obtiene_Conceptos_de_Consulta(com.hp.hpl.jena.query.ResultSet rs)
Pasa de formato de resultado de consulta de ResultSet a ArrayList<arraylist>
</arraylist
Parameters:
rs -‐ resultado consulta
Returns:
lista de resultados
Obtiene_Conceptos_de_Consulta public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Obtiene_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls)
Pasa de ArrayList<arraylist> a ArrayList<arraylist>
</arraylist</arraylist
Parameters:
ls -‐ lista de conceptos
Returns:
lista
Obtiene_Conceptos_de_Consulta public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Obtiene_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls, java.lang.String t)
Obtiene conceptos de tipo t de ls
IIIA-‐CSIC
89
Parameters:
ls -‐ lista de resultados
t -‐ tipo de concepto
Returns:
lista de conceptos
dominio.consulta Class Tripleta_consulta
java.lang.Object dominio.consulta.Tripleta_consulta
public class Tripleta_consulta extends java.lang.Object
Soporte tripletas que contienen conceptos o variables de similitud
Author:
Antonio Cala Hurtado
Constructor Summary
Tripleta_consulta(java.lang.String e, java.lang.String op, java.lang.String val, java.lang.String C, tipos.tipo_similitud ts, tipos.tipo_posición pvs) Constructor Caso entidad rdf:type concepto (smc/smi op val)
Tripleta_consulta(java.lang.String e, java.lang.String op, java.lang.String val, java.lang.String c, tipos.tipo_tripleta t, tipos.tipo_similitud ts) constructor
Tripleta_consulta(java.lang.String e, java.lang.String op, java.lang.String val, tipos.tipo_tripleta t, tipos.tipo_similitud ts) constructor
Method Summary
IIIA-‐CSIC
90
boolean es_tripleta_rdf_var() Averigua si es una tripleta con variable de similitud
boolean es_tripleta_rdf() Averiagua si es una tripleta rdf
boolean es_tripleta_relación_derecha() Averigua si es una relación con concepto similitud a la derecha
boolean es_tripleta_relación_izquierda() Averigua si es una relación con concepto similitud a la izquierda
int get_comienzo() Punto comienzo de la declaración de la entidad en la consulta
java.lang.String get_concepto()
java.lang.String get_entidad() entidad de la similitud
int get_fin() Punto fin de la declaración de la entidad en la consulta
java.util.ArrayList<java.lang.String>
get_lista_similitud() Obtiene lista de conceptos de similitud
java.lang.String get_operador() Obtiene operador de la similitud
tipos.tipo_posición get_posición_var_sim() concepto de la similitud
java.lang.String get_relación() Obtiene relación en tripleta
tipos.tipo_similitud get_tipo_similitud() Obtiene tipo de similitud
tipos.tipo_tripleta get_tipo_tripleta()
IIIA-‐CSIC
91
Obtiene tipo de tripleta
java.lang.String get_unión() Obtiene unión de conceptos en tripleta
java.lang.String get_valor() Obtiene valor de la similitud
java.lang.String get_variable_similitud() Obtiene variable desimilitud.
java.lang.String get_variable() Obtiene variable de tripleta
void set_comienzo(int c) Establece punto comienzo de la declaración de la entidad en la consulta
void set_fin(int c) Establece punto fin de la declaración de la entidad en la consulta
void set_lista_similitud(java.util.ArrayList<java.lang.String> l) Establece lista de conceptos de similitud
void set_relación(java.lang.String r) establece relación en tripleta
void set_unión(java.lang.String u) Establece unión de conceptos en tripleta
void set_variable_similitud(java.lang.String v) Establece variable de similitud
void set_variable(java.lang.String v) Establece variable de tripleta
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
IIIA-‐CSIC
92
Constructor Detail
Tripleta_consulta public Tripleta_consulta(java.lang.String e, java.lang.String op, java.lang.String val, java.lang.String C, tipos.tipo_similitud ts, tipos.tipo_posición pvs)
Constructor Caso entidad rdf:type concepto (smc/smi op val)
Parameters:
e -‐ entidad de tipo C
op -‐ operador de similitud
val -‐ valor de similitud
C -‐ concepto de similitud
ts -‐ tipo de similitud
Tripleta_consulta public Tripleta_consulta(java.lang.String e, java.lang.String op, java.lang.String val, tipos.tipo_tripleta t, tipos.tipo_similitud ts)
constructor
Parameters:
e -‐ entidad
op -‐ operador de similitud
val -‐ valor de similitud
t -‐ tipo de tripleta
ts -‐ tipo de similitud
Tripleta_consulta public Tripleta_consulta(java.lang.String e, java.lang.String op,
IIIA-‐CSIC
93
java.lang.String val, java.lang.String c, tipos.tipo_tripleta t, tipos.tipo_similitud ts)
constructor
Parameters:
e -‐ entidad
op -‐ operador de similitud
val -‐ valor de similitud
t -‐ tipo de tripleta
ts -‐ tipo de similitud
C -‐ concepto de similitud
Method Detail
es_tripleta_rdf public boolean es_tripleta_rdf()
Averiagua si es una tripleta rdf
Returns:
¿tripleta rdf?
es_tripleta_relación_izquierda public boolean es_tripleta_relación_izquierda()
Averigua si es una relación con concepto similitud a la izquierda
Returns:
¿tripleta relación izquierda?
es_tripleta_relación_derecha public boolean es_tripleta_relación_derecha()
Averigua si es una relación con concepto similitud a la derecha
Returns:
¿tripleta relación derecha?
IIIA-‐CSIC
94
es_tripleta_rdf_var public boolean es_tripleta_rdf_var()
Averigua si es una tripleta con variable de similitud
Returns:
¿tripleta rdf con variable similitud?
get_valor public java.lang.String get_valor()
Obtiene valor de la similitud
Returns:
valor similitud
get_operador public java.lang.String get_operador()
Obtiene operador de la similitud
Returns:
operador de la similitud
get_entidad public java.lang.String get_entidad()
entidad de la similitud
Returns:
entidad de la similitud
get_posición_var_sim public tipos.tipo_posición get_posición_var_sim()
concepto de la similitud
Returns:
concepto de la similitud
IIIA-‐CSIC
95
get_concepto public java.lang.String get_concepto()
get_comienzo public int get_comienzo()
Punto comienzo de la declaración de la entidad en la consulta
Returns:
comienzo
get_fin public int get_fin()
Punto fin de la declaración de la entidad en la consulta
Returns:
fin
set_comienzo public void set_comienzo(int c)
Establece punto comienzo de la declaración de la entidad en la consulta
Parameters:
c -‐ comienzo
set_fin public void set_fin(int c)
Establece punto fin de la declaración de la entidad en la consulta
Parameters:
c -‐ fin
set_variable public void set_variable(java.lang.String v)
Establece variable de tripleta
IIIA-‐CSIC
96
Parameters:
v -‐ variable
set_variable_similitud public void set_variable_similitud(java.lang.String v)
Establece variable de similitud
Parameters:
v -‐ variable de similitud
set_relación public void set_relación(java.lang.String r)
establece relación en tripleta
Parameters:
r -‐ relación
get_variable public java.lang.String get_variable()
Obtiene variable de tripleta
Returns:
variable
get_variable_similitud public java.lang.String get_variable_similitud()
Obtiene variable desimilitud.
Returns:
variable similitud
get_relación public java.lang.String get_relación()
Obtiene relación en tripleta
IIIA-‐CSIC
97
Returns:
relación
get_unión public java.lang.String get_unión()
Obtiene unión de conceptos en tripleta
Returns:
unión de conceptos
set_unión public void set_unión(java.lang.String u)
Establece unión de conceptos en tripleta
Parameters:
u -‐ unión de conceptos
get_tipo_tripleta public tipos.tipo_tripleta get_tipo_tripleta()
Obtiene tipo de tripleta
Returns:
tipo de tripleta
get_tipo_similitud public tipos.tipo_similitud get_tipo_similitud()
Obtiene tipo de similitud
Returns:
tipo de similitud
set_lista_similitud public void set_lista_similitud(java.util.ArrayList<java.lang.String> l)
Establece lista de conceptos de similitud
IIIA-‐CSIC
98
Parameters:
l -‐ lista de similitud
get_lista_similitud public java.util.ArrayList<java.lang.String> get_lista_similitud()
Obtiene lista de conceptos de similitud
Returns:
lista de conceptos de similitud
Package dominio.ontología
Class Summary
Gestionar_carga The Class gestionar_instancias.
Gestionar_Ontología Gestión básica de una ontología
Ontología Hace referencia a la información y operaciones de una ontología
Ontologías Ontologías, información y operaciones asociadas
dominio.ontología Class Gestionar_carga
java.lang.Object dominio.ontología.Gestionar_carga
public class Gestionar_carga extends java.lang.Object
The Class gestionar_instancias.
Constructor Summary
Gestionar_carga(Ontología o, java.lang.String f)
IIIA-‐CSIC
99
Constructor
Gestionar_carga(Ontología o, java.lang.String f, java.lang.String... t) Constructor
Method Summary
void abre_fuente() Abre fuente
void cierra_fuente() Cierra_fuente.
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
obtiene_atributos(java.lang.String t) Obtiene atributos de la tabla 't'
java.util.ArrayList<java.lang.String>
obtiene_columna(java.lang.String c, java.lang.String t) Obtiene datos de la columna 'c' de la tabla 't'
java.util.ArrayList<java.lang.String>
obtiene_datos_columnas_según_valor_columna(java.lang.String c1, java.lang.String v, java.lang.String t, java.lang.String... c2) Obtiene datos de columnas c2 de la tabla t según valor de c1
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
obtiene_datos_relación(java.lang.String t, java.util.ArrayList<java.util.ArrayList<java.lang.String>> RD, int i) Obtiene datos de la relación i de RD de la tabla t
void obtiene_datos_tabla_instancias(java.lang.String t) Obtiene datos de la tabla de instancias t
void obtiene_datos_tabla_relación(java.lang.String t)
IIIA-‐CSIC
100
Obtiene_datos de la tabla de relación t
java.util.ArrayList<java.util.ArrayList<java.lang.String>>
obtiene_relaciones(java.lang.String t) Obtiene relaciones de la tabla 't'
void procesa_fuente() Procesa datos de arhivo fuente.
void procesa_fuente(java.lang.String... vt) Procesa datos de arhivo fuente.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
Gestionar_carga public Gestionar_carga(Ontología o, java.lang.String f)
Constructor
Parameters:
o -‐ ontología e información asociada
f -‐ fuente de datos (Ej. Archivo excel)
Gestionar_carga public Gestionar_carga(Ontología o, java.lang.String f, java.lang.String... t)
Constructor
Parameters:
o -‐ ontología e información asociada
IIIA-‐CSIC
101
f -‐ fuente de datos
t -‐ carga parte fuente de datos (Ej. Algunas hojas excel)
Method Detail
abre_fuente public void abre_fuente()
Abre fuente
obtiene_columna public java.util.ArrayList<java.lang.String> obtiene_columna(java.lang.String c, java.lang.String t)
Obtiene datos de la columna 'c' de la tabla 't'
Parameters:
c -‐ nombre columna
t -‐ nombre tabla
Returns:
datos columna
obtiene_relaciones public java.util.ArrayList<java.util.ArrayList<java.lang.String>> obtiene_relaciones(java.lang.String t)
Obtiene relaciones de la tabla 't'
Parameters:
t -‐ nombre tabla
Returns:
lista de nombres de relaciones
obtiene_atributos public java.util.ArrayList<java.util.ArrayList<java.lang.String>> obtiene_atributos(java.lang.String t)
IIIA-‐CSIC
102
Obtiene atributos de la tabla 't'
Parameters:
t -‐ nombre tabla
Returns:
atributos
obtiene_datos_columnas_según_valor_columna public java.util.ArrayList<java.lang.String> obtiene_datos_columnas_según_valor_columna(java.lang.String c1, java.lang.String v, java.lang.String t, java.lang.String... c2)
Obtiene datos de columnas c2 de la tabla t según valor de c1
Parameters:
c1 -‐ columna a comparar
v -‐ valor a comprar en c1
t -‐ nombre tabla
c2 -‐ datos de columnas a devolver
Returns:
lista de datos de columnas
obtiene_datos_relación public java.util.ArrayList<java.util.ArrayList<java.lang.String>> obtiene_datos_relación(java.lang.String t, java.util.ArrayList<java.util.ArrayList<java.lang.String>> RD, int i)
Obtiene datos de la relación i de RD de la tabla t
Parameters:
t -‐ nombre tabla
RD -‐ relaciones
IIIA-‐CSIC
103
i -‐ relación i
Returns:
lista de relaciones
obtiene_datos_tabla_relación public void obtiene_datos_tabla_relación(java.lang.String t)
Obtiene_datos de la tabla de relación t
Parameters:
t -‐ nombre de tabla de relación
obtiene_datos_tabla_instancias public void obtiene_datos_tabla_instancias(java.lang.String t)
Obtiene datos de la tabla de instancias t
Parameters:
t -‐ nombre de tabla de instancias
procesa_fuente public void procesa_fuente()
Procesa datos de arhivo fuente.
procesa_fuente public void procesa_fuente(java.lang.String... vt)
Procesa datos de arhivo fuente.
Parameters:
vt -‐ partes de archivo fuente
cierra_fuente public void cierra_fuente()
Cierra_fuente.
IIIA-‐CSIC
104
dominio.ontología Class Gestionar_Ontología
java.lang.Object dominio.ontología.Gestionar_Ontología
public class Gestionar_Ontología extends java.lang.Object
Gestión básica de una ontología
Author:
Antonio Cala Hurtado
Field Summary
org.semanticweb.owlapi.model.OWLOntology ontología
com.hp.hpl.jena.ontology.OntModel ontología_Jena
Constructor Summary
Gestionar_Ontología(java.lang.String iri, java.lang.String dir_loc) Constructor
Method Summary
void Añadir_instancia(java.lang.String Is, java.lang.String Cs) Añadir instancia Is a la clase Cs
void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, boolean Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
IIIA-‐CSIC
105
void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, float Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, int Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, long Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, java.lang.String Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
void Añadir_Propiedad_Objeto(java.lang.String Is1, java.lang.String Rs, java.lang.String Is2) Añadir propiedad objeto R entre los individuos Is1 e Is2
void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Boolean[] Is2) Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Float[] Is2) Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Integer[] Is2) Añade lista Rs de propiedades de dato entre
IIIA-‐CSIC
106
listas de individuos Is1 y lista de datos Is2
void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Long[] Is2) Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.String[] Is2) Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
void Añadir_Propiedades_Objetos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.util.ArrayList<java.lang.String> Is2) Añade lista Rs de propiedades de objetos entre listas de individuos Is1 e Is2
void Cargar_Ontología(org.semanticweb.owlapi.model.IRI dir_Ont, java.lang.String dir_ont_loc) Cargar una ontología.
boolean Clase_Satisface_Axiomas(org.semanticweb.owlapi.model.OWLClass C) Dice si una clase satisface axiomas
org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owla
pi.model.OWLClass>
Clases_no_Satisfacen_Axiomas(org.semanticweb.owlapi.model.OWLClass C) Obtiene clases que no satisfacen axiomas
boolean Conjunto_Clase_Vacío(java.util.Set<org.semanticweb.owlapi.model.OWLClass> C) ¿Conjunto clase vacía?.
void Eliminar_Ontología() Eliminar una ontología.
void Imprime_Axiomas_Clases(java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom> C)
IIIA-‐CSIC
107
Imprime axiomas de clases C.
void Imprime_Clases(java.util.Set<org.semanticweb.owlapi.model.OWLClass> C) Imprime clases.
void Imprime_Individuos(java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> I) Imprime individuos.
void Imprime_Propiedades_de_Objeto(java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> I) Imprime propiedades de objeto.
void Inicia_Ontología_Jena(java.lang.String dir_ont_loc) Inicia ontología en jena.
void Iniciar_Factoria() Iniciar factoria.
void Iniciar_Razonador() Iniciar razonador.
void Liberar_Razonador() Liberar razonador.
int Número_de_Instancias_de_Clase(java.lang.String Cs) Obtiene número de instancias de la clase Cs
int Número_Subclases_de_Clase(java.lang.String Cs) Obtiene número de subclases de la clase Cs
java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom>
Obtener_Axiomas_Clase(java.lang.String Cs) Obtiene axiomas de la clase con nombre Cs.
org.semanticweb.owlapi.model.OWLClass
Obtener_Clase(java.lang.String Cs) Obtiene identificación de la clase Cs.
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Clases_Disjuntas(java.lang.String Cs)
IIIA-‐CSIC
108
Dada una clase, devuelve el conjunto de clases disjuntas
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Clases_Equivalentes(java.lang.String Cs) Dada una clase, devuelve el conjunto de clases equivalentes
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Dominios_Propiedad_Dato(java.lang.String Ps, boolean Sdirectas) Obtiene dominios a propiedad de dato Ps.
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Dominios_Propiedad_Objeto(java.lang.String Ps, boolean Sdirectas) Obtener dominios de propiedad de objeto.
org.semanticweb.owlapi.model.OWLNamedIndividual
Obtener_Individuo(java.lang.String Is) Obtiene identificación de individuo Is.
java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndivi
dual>
Obtener_Individuos_Diferentes_al_Individuo(java.lang.String Is) Obtiene individuos diferentes al individuo
java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndivi
dual>
Obtener_Individuos_Iguales_al_Individuo(java.lang.String Is) Obtiene individuos iguales al individuo Is
java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndivi
dual>
Obtener_instancias_de_Clases(java.lang.String Cs, boolean Idirectas) Obtiene las instancias de la clase Cs.
org.semanticweb.owlapi.model.IRI
Obtener_IRI(java.lang.String Is) Obtiene iri de una entidad
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(boolean Ls) Obtiene identificación del literal boolean Ls
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(double Ls) Obtiene identificación del literal double Ls
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(float Ls) Obtiene identificación del literal float Ls
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(int Ls) Obtiene identificación del literal entero Ls
IIIA-‐CSIC
109
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(long Ls) Obtiene identificación del literal long Ls
org.semanticweb.owlapi.model.OWLLiteral
Obtener_Literal(java.lang.String Ls) Obtiene identificación del literal string Ls
int Obtener_Número_Conceptos() Obtiene número de conceptos de la ontología
org.semanticweb.owlapi.model.OWLDataProperty
Obtener_Propiedad_Dato(java.lang.String Ps) Obtiene identificación de la propiedad de dato Ps
org.semanticweb.owlapi.model.OWLObjectProperty
Obtener_Propiedad_Objeto(java.lang.String Ps) Obtiene identificación de la propiedad de objeto Ps
java.util.Set<org.semanticweb.owlapi.model.OWLObjectPrope
rtyExpression>
Obtener_Propiedades_Disjuntas_a_Propiedad_Objeto(java.lang.String Ps) Obtener propiedades disjuntas a propiedad de objeto Ps.
java.util.Set<org.semanticweb.owlapi.model.OWLDataPropert
y>
Obtener_Propiedades_Disjuntass_a_Propiedad_Dato(java.lang.String Ps) Obtiene propiedades disjunta a propiedad de dato Ps.
java.util.Set<org.semanticweb.owlapi.model.OWLDataPropert
y>
Obtener_Propiedades_Equivalentes_a_Propiedad_Dato(java.lang.String Ps) Obtiene propiedades equivalentes a propiedad de dato Ps.
java.util.Set<org.semanticweb.owlapi.model.OWLObjectPrope
rtyExpression>
Obtener_Propiedades_Equivalentes_a_Propiedad_Objeto(java.lang.String Ps) Obtener propiedades equivalentes a propiedad de objeto Ps.
java.util.Set<org.semanticweb.owlapi.model.OWLObjectPrope
rtyExpression>
Obtener_Propiedades_Inversas_a_Propiedad_Objeto(java.lang.String Ps) Obtener propiedades inversas a propiedad de objeto Ps.
java.util.Set<org.semanticwe Obtener_Rangos_Propiedad_Objeto(java.lang.String Ps, boolean Sdirectas)
IIIA-‐CSIC
110
b.owlapi.model.OWLClass> Obtener rangos de propiedad de objeto.
java.lang.String Obtener_str_Ontología() Obtiene el iri en formato strin
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Subclases_de_Clase(java.lang.String Cs, boolean Sdirectas) Obtiene subclases de clase Cs
java.util.Set<org.semanticweb.owlapi.model.OWLDataPropert
y>
Obtener_Subpropiedades_de_Propiedad_de_Dato(java.lang.String Ps, boolean Pdirectas) Obtiene subpropiedades de propiedad de dato.
java.util.Set<org.semanticweb.owlapi.model.OWLObjectPrope
rtyExpression>
Obtener_Subpropiedades_de_Propiedad_de_Objeto(java.lang.String Ps, boolean Pdirectas) Obtiene subpropiedades de propiedad de objeto.
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Superclases_de_Clase(java.lang.String Cs, boolean Sdirectas) Obtiene superclases de la clase
java.util.Set<org.semanticweb.owlapi.model.OWLDataPropert
y>
Obtener_Superpropiedades_de_Propiedad_de_Dato(java.lang.String Ps, boolean Pdirectas) Obtiene superpropiedades de propiedad de dato.
java.util.Set<org.semanticweb.owlapi.model.OWLObjectPrope
rtyExpression>
Obtener_Superpropiedades_de_Propiedad_de_Objeto(java.lang.String Ps, boolean Pdirectas) Obtener_ superpropiedades_de_ propiedad_de_ objeto.
java.util.Set<org.semanticweb.owlapi.model.OWLClass>
Obtener_Tipos_de_Individuo(java.lang.String Is, boolean Sdirectas) Obtiene tipos de individuo Is
java.util.Set<org.semanticweb.owlapi.model.OWLLiteral>
Obtener_Valores_Propiedad_de_Dato_de_Individuo(java.lang.String Is, java.lang.String Ps) Obtiene valores propiedad de dato Ps de individuo Is
java.util.Set<org.semanticwe Obtener_Valores_Propiedad_de_Objeto_e_In
IIIA-‐CSIC
111
b.owlapi.model.OWLNamedIndividual>
dividuo(java.lang.String Is, java.lang.String Ps) Obtener valores de propiedad de objeto Ps de individuo Is
boolean Ontología_Consistente() Dice si la ontología es consistente.
void Redirigir_Carga_Ontología(java.lang.String dir_ont_web, java.lang.String dir_ont_loc) Redirigir dirección carga ontología.
void Salvar_ontología(java.lang.String dir_ont_loc) Salvar una ontología.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
ontología public org.semanticweb.owlapi.model.OWLOntology ontología
ontología_Jena public com.hp.hpl.jena.ontology.OntModel ontología_Jena
Constructor Detail
Gestionar_Ontología public Gestionar_Ontología(java.lang.String iri, java.lang.String dir_loc)
Constructor
Parameters:
iri -‐ iri de la ontología
IIIA-‐CSIC
112
dir_loc -‐ localización en disco local
Method Detail
Obtener_str_Ontología public java.lang.String Obtener_str_Ontología()
Obtiene el iri en formato strin
Returns:
string iri
Cargar_Ontología public void Cargar_Ontología(org.semanticweb.owlapi.model.IRI dir_Ont, java.lang.String dir_ont_loc)
Cargar una ontología.
Parameters:
dir_Ont -‐ iri de la ontología
dir_ont_loc -‐ dirección en disco local
Salvar_ontología public void Salvar_ontología(java.lang.String dir_ont_loc)
Salvar una ontología.
Parameters:
dir_ont_loc -‐ dirección local de la ontología
Eliminar_Ontología public void Eliminar_Ontología()
Eliminar una ontología.
Redirigir_Carga_Ontología public void Redirigir_Carga_Ontología(java.lang.String dir_ont_web, java.lang.String dir_ont_loc)
Redirigir dirección carga ontología.
IIIA-‐CSIC
113
Parameters:
dir_ont_web -‐ iri
dir_ont_loc -‐ dirección local
Inicia_Ontología_Jena public void Inicia_Ontología_Jena(java.lang.String dir_ont_loc)
Inicia ontología en jena.
Parameters:
dir_ont_loc -‐ dirección local de la ontología
Iniciar_Razonador public void Iniciar_Razonador()
Iniciar razonador.
Liberar_Razonador public void Liberar_Razonador()
Liberar razonador.
Iniciar_Factoria public void Iniciar_Factoria()
Iniciar factoria.
Obtener_Clase public org.semanticweb.owlapi.model.OWLClass Obtener_Clase(java.lang.String Cs)
Obtiene identificación de la clase Cs.
Parameters:
Cs -‐ nombre de clase
Returns:
identificador de la clase
IIIA-‐CSIC
114
Obtener_Individuo public org.semanticweb.owlapi.model.OWLNamedIndividual Obtener_Individuo(java.lang.String Is)
Obtiene identificación de individuo Is.
Parameters:
Is -‐ individuo
Returns:
identificador de individuo
Obtener_Propiedad_Objeto public org.semanticweb.owlapi.model.OWLObjectProperty Obtener_Propiedad_Objeto(java.lang.String Ps)
Obtiene identificación de la propiedad de objeto Ps
Parameters:
Ps -‐ nombre propiedad de objeto
Returns:
identificación propiedad de objeto
Obtener_Propiedad_Dato public org.semanticweb.owlapi.model.OWLDataProperty Obtener_Propiedad_Dato(java.lang.String Ps)
Obtiene identificación de la propiedad de dato Ps
Parameters:
Ps -‐ nombre propiedad de dato
Returns:
identificación propiedad de dato
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(java.lang.String Ls)
Obtiene identificación del literal string Ls
Parameters:
IIIA-‐CSIC
115
Ls -‐ nombre literal
Returns:
identificación literal
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(int Ls)
Obtiene identificación del literal entero Ls
Parameters:
Ls -‐ nombre literal
Returns:
identificación literal
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(long Ls)
Obtiene identificación del literal long Ls
Parameters:
Ls -‐ nombre literal
Returns:
identificación literal
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(float Ls)
Obtiene identificación del literal float Ls
Parameters:
Ls -‐ nombre literal
Returns:
identificación literal
IIIA-‐CSIC
116
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(double Ls)
Obtiene identificación del literal double Ls
Parameters:
Ls -‐ nombre literal
Returns:
identificación literal
Obtener_Literal public org.semanticweb.owlapi.model.OWLLiteral Obtener_Literal(boolean Ls)
Obtiene identificación del literal boolean Ls
Parameters:
Ls -‐ nombre literal
Returns:
identificación literal
Obtener_IRI public org.semanticweb.owlapi.model.IRI Obtener_IRI(java.lang.String Is)
Obtiene iri de una entidad
Parameters:
Is -‐ nombre entidad
Returns:
iRI entidad
Ontología_Consistente public boolean Ontología_Consistente()
Dice si la ontología es consistente.
Returns:
IIIA-‐CSIC
117
true si es consistente
Clase_Satisface_Axiomas public boolean Clase_Satisface_Axiomas(org.semanticweb.owlapi.model.OWLClass C)
Dice si una clase satisface axiomas
Parameters:
C -‐ Clase
Returns:
true si satisface
Clases_no_Satisfacen_Axiomas public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> Clases_no_Satisfacen_Axiomas(org.semanticweb.owlapi.model.OWLClass C)
Obtiene clases que no satisfacen axiomas
Parameters:
C -‐ clase
Returns:
nodo de clases
Obtener_Clases_Equivalentes public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Clases_Equivalentes(java.lang.String Cs)
Dada una clase, devuelve el conjunto de clases equivalentes
Parameters:
Cs -‐ nombre de clase
Returns:
conjunto de clases equivalentes
IIIA-‐CSIC
118
Obtener_Clases_Disjuntas public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Clases_Disjuntas(java.lang.String Cs)
Dada una clase, devuelve el conjunto de clases disjuntas
Parameters:
Cs -‐ nombre de clase
Returns:
conjunto de clases disjuntas
Obtener_Axiomas_Clase public java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom> Obtener_Axiomas_Clase(java.lang.String Cs)
Obtiene axiomas de la clase con nombre Cs.
Parameters:
Cs -‐ nombre de clase
Returns:
conjunto de axiomas
Imprime_Axiomas_Clases public void Imprime_Axiomas_Clases(java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom> C)
Imprime axiomas de clases C.
Parameters:
C -‐ conjunto de clases
Obtener_Subpropiedades_de_Propiedad_de_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> Obtener_Subpropiedades_de_Propiedad_de_Objeto(java.lang.String Ps, boolean Pdirectas)
Obtiene subpropiedades de propiedad de objeto.
Parameters:
IIIA-‐CSIC
119
Ps -‐ nombre propiedad
Pdirectas -‐ ¿propiedades directas?
Returns:
conjunto de subpropiedades
Obtener_Superpropiedades_de_Propiedad_de_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> Obtener_Superpropiedades_de_Propiedad_de_Objeto(java.lang.String Ps, boolean Pdirectas)
Obtener_ superpropiedades_de_ propiedad_de_ objeto.
Parameters:
Ps -‐ nombre propiedad
Pdirectas -‐ ¿propiedades directas?
Returns:
conjunto de superpropiedades
Obtener_Propiedades_Equivalentes_a_Propiedad_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> Obtener_Propiedades_Equivalentes_a_Propiedad_Objeto(java.lang.String Ps)
Obtener propiedades equivalentes a propiedad de objeto Ps.
Parameters:
Ps -‐ nombre propiedad de objeto
Returns:
conjunto de propiedades equivalentes
Obtener_Propiedades_Disjuntas_a_Propiedad_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> Obtener_Propiedades_Disjuntas_a_Propiedad_Objeto(java.lang.String Ps)
IIIA-‐CSIC
120
Obtener propiedades disjuntas a propiedad de objeto Ps.
Parameters:
Ps -‐ nombre propiedad de objeto
Returns:
conjunto de propiedades disjuntas
Obtener_Propiedades_Inversas_a_Propiedad_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> Obtener_Propiedades_Inversas_a_Propiedad_Objeto(java.lang.String Ps)
Obtener propiedades inversas a propiedad de objeto Ps.
Parameters:
Ps -‐ nombre propiedad de objeto
Returns:
conjunto de propiedades inversas
Obtener_Dominios_Propiedad_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Dominios_Propiedad_Objeto(java.lang.String Ps, boolean Sdirectas)
Obtener dominios de propiedad de objeto.
Parameters:
Ps -‐ nombre propiedad de objeto
Sdirectas -‐ ¿prooiedades directas?
Returns:
conjunto de dominios
Obtener_Rangos_Propiedad_Objeto public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Rangos_Propiedad_Objeto(java.lang.String Ps, boolean Sdirectas)
IIIA-‐CSIC
121
Obtener rangos de propiedad de objeto.
Parameters:
Ps -‐ nombre propiedad de objeto
Sdirectas -‐ ¿prooiedades directas?
Returns:
conjunto de rangos
Obtener_Subpropiedades_de_Propiedad_de_Dato public java.util.Set<org.semanticweb.owlapi.model.OWLDataProperty> Obtener_Subpropiedades_de_Propiedad_de_Dato(java.lang.String Ps, boolean Pdirectas)
Obtiene subpropiedades de propiedad de dato.
Parameters:
Ps -‐ nombre propiedad de objeto
Pdirectas -‐ ¿prooiedades directas?
Returns:
conjunto de propiedades
Obtener_Superpropiedades_de_Propiedad_de_Dato public java.util.Set<org.semanticweb.owlapi.model.OWLDataProperty> Obtener_Superpropiedades_de_Propiedad_de_Dato(java.lang.String Ps, boolean Pdirectas)
Obtiene superpropiedades de propiedad de dato.
Parameters:
Ps -‐ nombre propiedad de dato
Pdirectas -‐ ¿prooiedades directas?
Returns:
conjunto de propiedades
IIIA-‐CSIC
122
Obtener_Propiedades_Equivalentes_a_Propiedad_Dato public java.util.Set<org.semanticweb.owlapi.model.OWLDataProperty> Obtener_Propiedades_Equivalentes_a_Propiedad_Dato(java.lang.String Ps)
Obtiene propiedades equivalentes a propiedad de dato Ps.
Parameters:
Ps -‐ propiedad de dato
Returns:
conjunto de propiedades equivalentes
Obtener_Propiedades_Disjuntass_a_Propiedad_Dato public java.util.Set<org.semanticweb.owlapi.model.OWLDataProperty> Obtener_Propiedades_Disjuntass_a_Propiedad_Dato(java.lang.String Ps)
Obtiene propiedades disjunta a propiedad de dato Ps.
Parameters:
Ps -‐ propiedad de dato
Returns:
conjunto de propiedades equivalentes
Obtener_Dominios_Propiedad_Dato public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Dominios_Propiedad_Dato(java.lang.String Ps, boolean Sdirectas)
Obtiene dominios a propiedad de dato Ps.
Parameters:
Ps -‐ the ps
Sdirectas -‐ ¿dominios directos?
Returns:
conjunto de dominios
IIIA-‐CSIC
123
Obtener_Tipos_de_Individuo public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Tipos_de_Individuo(java.lang.String Is, boolean Sdirectas)
Obtiene tipos de individuo Is
Parameters:
Is -‐ instancia
Sdirectas -‐ ¿Tipos directos?
Returns:
conjunto de tipos
Obtener_Valores_Propiedad_de_Dato_de_Individuo public java.util.Set<org.semanticweb.owlapi.model.OWLLiteral> Obtener_Valores_Propiedad_de_Dato_de_Individuo(java.lang.String Is, java.lang.String Ps)
Obtiene valores propiedad de dato Ps de individuo Is
Parameters:
Is -‐ nombre instancia
Ps -‐ nombre propiedad
Returns:
conjunto valores de propiedad de dato de individuo
Obtener_Individuos_Iguales_al_Individuo public java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> Obtener_Individuos_Iguales_al_Individuo(java.lang.String Is)
Obtiene individuos iguales al individuo Is
Parameters:
Is -‐ nombre individuo
Returns:
conjunto de individuos
IIIA-‐CSIC
124
Obtener_Individuos_Diferentes_al_Individuo public java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> Obtener_Individuos_Diferentes_al_Individuo(java.lang.String Is)
Obtiene individuos diferentes al individuo
Parameters:
Is -‐ nombre individuo
Returns:
conjunto de individuos
Obtener_Subclases_de_Clase public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Subclases_de_Clase(java.lang.String Cs, boolean Sdirectas)
Obtiene subclases de clase Cs
Parameters:
Cs -‐ nombre de clase
Sdirectas -‐ ¿subclases directas?
Returns:
conjunto de subclases
Número_Subclases_de_Clase public int Número_Subclases_de_Clase(java.lang.String Cs)
Obtiene número de subclases de la clase Cs
Parameters:
Cs -‐ nombre de clase
Returns:
número de clases
IIIA-‐CSIC
125
Conjunto_Clase_Vacío public boolean Conjunto_Clase_Vacío(java.util.Set<org.semanticweb.owlapi.model.OWLClass> C)
¿Conjunto clase vacía?.
Parameters:
C -‐ identificador clase
Returns:
true si vacía
Obtener_Número_Conceptos public int Obtener_Número_Conceptos()
Obtiene número de conceptos de la ontología
Returns:
número de conceptos
Obtener_Superclases_de_Clase public java.util.Set<org.semanticweb.owlapi.model.OWLClass> Obtener_Superclases_de_Clase(java.lang.String Cs, boolean Sdirectas)
Obtiene superclases de la clase
Parameters:
Cs -‐ nombre de clase
Sdirectas -‐ ¿superclases directas?
Returns:
conjunto de superclases
Obtener_instancias_de_Clases public java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> Obtener_instancias_de_Clases(java.lang.String Cs, boolean Idirectas)
Obtiene las instancias de la clase Cs.
IIIA-‐CSIC
126
Parameters:
Cs -‐ nombre de clase
Idirectas -‐ ¿instancias directas?
Returns:
conjunto de instancias
Número_de_Instancias_de_Clase public int Número_de_Instancias_de_Clase(java.lang.String Cs)
Obtiene número de instancias de la clase Cs
Parameters:
Cs -‐ nombre de clase
Returns:
número de instancias
Obtener_Valores_Propiedad_de_Objeto_e_Individuo public java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> Obtener_Valores_Propiedad_de_Objeto_e_Individuo(java.lang.String Is, java.lang.String Ps)
Obtener valores de propiedad de objeto Ps de individuo Is
Parameters:
Is -‐ individuo
Ps -‐ propiedad de objeto
Returns:
conjunto de valores de propiedad de objeto
Imprime_Clases public void Imprime_Clases(java.util.Set<org.semanticweb.owlapi.model.OWLClass> C)
Imprime clases.
Parameters:
IIIA-‐CSIC
127
C -‐ conjunto de clases
Imprime_Individuos public void Imprime_Individuos(java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> I)
Imprime individuos.
Parameters:
I -‐ conjunto de individuos
Imprime_Propiedades_de_Objeto public void Imprime_Propiedades_de_Objeto(java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> I)
Imprime propiedades de objeto.
Parameters:
I -‐ conjunto propiedades de objeto
Añadir_instancia public void Añadir_instancia(java.lang.String Is, java.lang.String Cs)
Añadir instancia Is a la clase Cs
Parameters:
Is -‐ nombre instancia
Cs -‐ nombre de clase
Añadir_Propiedad_Objeto public void Añadir_Propiedad_Objeto(java.lang.String Is1, java.lang.String Rs, java.lang.String Is2)
Añadir propiedad objeto R entre los individuos Is1 e Is2
Parameters:
Is1 -‐ nombre individuo
IIIA-‐CSIC
128
Rs -‐ nombre propiedad de objeto
Is2 -‐ nombre individuo
Añadir_Propiedades_Objetos public void Añadir_Propiedades_Objetos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.util.ArrayList<java.lang.String> Is2)
Añade lista Rs de propiedades de objetos entre listas de individuos Is1 e Is2
Parameters:
Is1 -‐ lista nombre individuo
Rs -‐ lista nombre propiedad de objeto
Is2 -‐ lista nombre individuo
Añadir_Propiedad_Dato public void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, java.lang.String Is2)
Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
Parameters:
Is1 -‐ nombre individuo
Rs -‐ nombre propiedad de dato
Is2 -‐ dato
Añadir_Propiedad_Dato public void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, boolean Is2)
Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
Parameters:
Is1 -‐ nombre individuo
Rs -‐ propiedad de dato
IIIA-‐CSIC
129
Is2 -‐ dato
Añadir_Propiedad_Dato public void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, long Is2)
Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
Parameters:
Is1 -‐ nombre individuo
Rs -‐ propiedad de dato
Is2 -‐ dato
Añadir_Propiedad_Dato public void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, int Is2)
Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
Parameters:
Is1 -‐ nombre individuo
Rs -‐ propiedad de dato
Is2 -‐ dato
Añadir_Propiedad_Dato public void Añadir_Propiedad_Dato(java.lang.String Is1, java.lang.String Rs, float Is2)
Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2
Parameters:
Is1 -‐ nombre individuo
Rs -‐ propiedad de dato
Is2 -‐ dato
IIIA-‐CSIC
130
Añadir_Propiedades_Datos public void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.String[] Is2)
Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
Parameters:
Is1 -‐ lista nombre individuos
Rs -‐ lista nombre propiedad de datos
Is2 -‐ lista de datos
Añadir_Propiedades_Datos public void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Boolean[] Is2)
Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
Parameters:
Is1 -‐ lista nombre individuos
Rs -‐ lista nombre propiedad de datos
Is2 -‐ lista de datos
Añadir_Propiedades_Datos public void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Integer[] Is2)
Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
Parameters:
Is1 -‐ lista nombre individuos
Rs -‐ lista nombre propiedad de datos
Is2 -‐ lista de datos
IIIA-‐CSIC
131
Añadir_Propiedades_Datos public void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Float[] Is2)
Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
Parameters:
Is1 -‐ lista nombre individuos
Rs -‐ lista nombre propiedad de datos
Is2 -‐ lista de datos
Añadir_Propiedades_Datos public void Añadir_Propiedades_Datos(java.util.ArrayList<java.lang.String> Is1, java.lang.String Rs, java.lang.Long[] Is2)
Añade lista Rs de propiedades de dato entre listas de individuos Is1 y lista de datos Is2
Parameters:
Is1 -‐ lista nombre individuos
Rs -‐ lista nombre propiedad de datos
Is2 -‐ lista de datos
dominio.ontología Class Ontología
java.lang.Object dominio.ontología.Ontología
public class Ontología extends java.lang.Object
Hace referencia a la información y operaciones de una ontología
Field Summary
Consulta consulta
IIIA-‐CSIC
132
Gestionar_carga g_c
Gestionar_Ontología g_o
java.lang.String iri
java.lang.String loc_ont
java.lang.String n_f_d
static Similitudes_conceptos sim
java.lang.String t_c
java.lang.String t_s
Constructor Summary
Ontología(java.lang.String l, java.lang.String i, java.lang.String n, java.lang.String tc, java.lang.String ts) Constructor
Method Summary
void nuevas_instancias(java.lang.String f) Añade nuevas instancias o relaciones a la ontología
void nuevas_instancias(java.lang.String f, java.lang.String... t) Añade nuevas instancias o relaciones a la ontología
IIIA-‐CSIC
133
java.lang.String obtiene_iri() Obtiene iri
java.lang.String obtiene_loc_ont() Obtiene localización ontología
java.lang.String obtiene_nombre_fichero_similitudes() Obtiene nombre fichero similitudes.
java.lang.String obtiene_tipo_carga_similitudes() Obtiene tipo carga similitudes
java.lang.String obtiene_tipo_similaridad() Obtiene tipo similaridad.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
g_o public Gestionar_Ontología g_o
loc_ont public java.lang.String loc_ont
iri public java.lang.String iri
sim public static Similitudes_conceptos sim
consulta public Consulta consulta
IIIA-‐CSIC
134
n_f_d public java.lang.String n_f_d
t_c public java.lang.String t_c
t_s public java.lang.String t_s
g_c public Gestionar_carga g_c
Constructor Detail
Ontología public Ontología(java.lang.String l, java.lang.String i, java.lang.String n, java.lang.String tc, java.lang.String ts)
Constructor
Parameters:
l -‐ localización física de una ontología
i -‐ IRI
n -‐ nombre fichero similitudes entre conceptos
tc -‐ tc: tipo de carga de distancias: "c" (carga desde fichero n) "s" (salvar a fichero n) "n" (ni salvar ni cargar)
ts -‐ tipo de similaridad semántica (camino mínimo,Resnik)
Method Detail
obtiene_iri public java.lang.String obtiene_iri()
Obtiene iri
IIIA-‐CSIC
135
Returns:
iri
obtiene_tipo_similaridad public java.lang.String obtiene_tipo_similaridad()
Obtiene tipo similaridad.
Returns:
tipo similaridad
obtiene_nombre_fichero_similitudes public java.lang.String obtiene_nombre_fichero_similitudes()
Obtiene nombre fichero similitudes.
Returns:
nombre fichero similitudes
obtiene_tipo_carga_similitudes public java.lang.String obtiene_tipo_carga_similitudes()
Obtiene tipo carga similitudes
Returns:
tipo carga similitudes
obtiene_loc_ont public java.lang.String obtiene_loc_ont()
Obtiene localización ontología
Returns:
localización ontología
nuevas_instancias public void nuevas_instancias(java.lang.String f)
Añade nuevas instancias o relaciones a la ontología
IIIA-‐CSIC
136
Parameters:
o -‐ ontología e información asociada
f -‐ fuente de datos (Ej. Archivo excel)
nuevas_instancias public void nuevas_instancias(java.lang.String f, java.lang.String... t)
Añade nuevas instancias o relaciones a la ontología
Parameters:
o -‐ ontología e información asociada
f -‐ fuente de datos
t -‐ carga parte fuente de datos (Ej. Algunas hojas excel)
dominio.ontología Class Ontologías
java.lang.Object dominio.ontología.Ontologías
public class Ontologías extends java.lang.Object
Ontologías, información y operaciones asociadas
Constructor Summary
Ontologías() Constructor
Method Summary
void dec_ontología(java.lang.String l, java.lang.String i, java.lang.String n,
IIIA-‐CSIC
137
java.lang.String n_f_d, java.lang.String tc, java.lang.String ts) Dec_ontología.
static Consulta_tipo get_consulta_tipo(java.lang.String o) Obtiene referencia para realizar consultas tipos sobre la ontología
static Consulta get_consulta(java.lang.String o) Obtiene referencia para realizar consultas sobre la ontología
static Ontologías get_instancia() Obtiene la instancia de la estructura de Ontologías
static Ontología get_ontología(java.lang.String n) Obtiene referencia a la ontología n
void nuevas_instancias(java.lang.String o, java.lang.String f) Añade nuevas instancias o relaciones a la ontología
void nuevas_instancias(java.lang.String o, java.lang.String f, java.lang.String... t) Añade nuevas instancias o relaciones a la ontología
java.lang.String obtiene_loc_ont(java.lang.String o)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
Ontologías public Ontologías()
Constructor
IIIA-‐CSIC
138
Method Detail
get_instancia public static Ontologías get_instancia()
Obtiene la instancia de la estructura de Ontologías
Returns:
the _instancia
dec_ontología public void dec_ontología(java.lang.String l, java.lang.String i, java.lang.String n, java.lang.String n_f_d, java.lang.String tc, java.lang.String ts)
Dec_ontología.
Parameters:
l -‐ the localización física de una ontología
i -‐ the IRI
n -‐ the nombre abreviado de ontología
n_f_d -‐ Nombre de fichero de distancia entre conceptos
tc -‐ tipo de carga de distancias: "c" (carga desde fichero f_d) "s" (salvar a fichero f_d) "n" (ni salvar ni cargar)
ts -‐ tipo de similaridad semántica (camino mínimo,Resnik)
get_ontología public static Ontología get_ontología(java.lang.String n)
Obtiene referencia a la ontología n
Parameters:
n -‐ nombre abreviado de ontología
Returns:
ontología
IIIA-‐CSIC
139
get_consulta public static Consulta get_consulta(java.lang.String o)
Obtiene referencia para realizar consultas sobre la ontología
Parameters:
o -‐ nombre abreviado de ontología
Returns:
referencia consulta
get_consulta_tipo public static Consulta_tipo get_consulta_tipo(java.lang.String o)
Obtiene referencia para realizar consultas tipos sobre la ontología
Parameters:
o -‐ nombre ontología
Returns:
referencia consultas tipo
nuevas_instancias public void nuevas_instancias(java.lang.String o, java.lang.String f)
Añade nuevas instancias o relaciones a la ontología
Parameters:
o -‐ ontología e información asociada
f -‐ fuente de datos (Ej. Archivo excel)
nuevas_instancias public void nuevas_instancias(java.lang.String o, java.lang.String f, java.lang.String... t)
Añade nuevas instancias o relaciones a la ontología
Parameters:
IIIA-‐CSIC
140
o -‐ ontología e información asociada
f -‐ fuente de datos
t -‐ carga parte fuente de datos (Ej. Algunas hojas excel)
obtiene_loc_ont public java.lang.String obtiene_loc_ont(java.lang.String o)
Package dominio.similitud
Class Summary
Semantic_matching
Realización de consultas destinadas a la obtención de la similitud entre conceptos
Similitud Similitud de un concepto
Similitudes_conceptos Implementa la similitud entre conceptos.
Enum Summary
Semantic_matching.tipo_match
dominio.similitud Class Semantic_matching
java.lang.Object dominio.similitud.Semantic_matching Direct Known Subclasses:
Similitudes_conceptos
public class Semantic_matching
IIIA-‐CSIC
141
extends java.lang.Object
Realización de consultas destinadas a la obtención de la similitud entre conceptos
Author:
Antonio Cala Hurtado
Nested Class Summary
static class Semantic_matching.tipo_match
Field Summary
int numero_de_conceptos
Constructor Summary
Semantic_matching(Ontología o) Constructor
Method Summary
boolean Consulta_Subsumida_por(com.clarkparsia.pellet.sparqldl.model.Query q1, com.clarkparsia.pellet.sparqldl.model.Query q2) ¿La consulta q1 es subsumida por q2?
boolean Consulta_Subsumida_por(java.lang.String q1, java.lang.String q2) ¿La consulta q1 es subsumida por q2?
boolean Consultas_Equivalentes(java.lang.String q1, java.lang.String q2)
IIIA-‐CSIC
142
¿La consultas q1 y q2 son equivalentes?
double Distancia_Camino_Mínimo(java.lang.String C1, java.lang.String C2) Camino mínimo entre los conceptos C1 y C2
int distancia_subsucion(java.lang.String C1, java.lang.String C2) Distancia de subsución entre dos conceptos
int Profundidad_Nodo(java.lang.String n) Profundidad de un nodo en la ontología
com.clarkparsia.pellet.sparqldl.model.Query
query(java.lang.String q) Preparación de consulta q
double Similitud_entre_Conceptos(java.lang.String C1, java.lang.String C2, java.lang.String tipo) Obtiene la simitiud entre C1 y C2 mediante el tipo de similitud elegido
java.lang.String SuperClase_Común_dos_Nodos(java.lang.String C1, java.lang.String C2) Obtiene la superclase común mas cercana a las clases c1 Y c2
Semantic_matching.tipo_match
Tipo_de_Match(java.lang.String q1, java.lang.String q2) Tipo de matching que se quiere hacer
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
numero_de_conceptos public int numero_de_conceptos
IIIA-‐CSIC
143
Constructor Detail
Semantic_matching public Semantic_matching(Ontología o)
Constructor
Parameters:
o -‐ ontología y datos asociados
Method Detail
query public com.clarkparsia.pellet.sparqldl.model.Query query(java.lang.String q)
Preparación de consulta q
Parameters:
q -‐ consulta
Returns:
consulta en formato adecuado
Consulta_Subsumida_por public boolean Consulta_Subsumida_por(java.lang.String q1, java.lang.String q2)
¿La consulta q1 es subsumida por q2?
Parameters:
q1 -‐ consulta
q2 -‐ consulta
Returns:
true si q2 subsume q1
Consulta_Subsumida_por public boolean Consulta_Subsumida_por(com.clarkparsia.pellet.sparqldl.model.Query q1,
IIIA-‐CSIC
144
com.clarkparsia.pellet.sparqldl.model.Query q2)
¿La consulta q1 es subsumida por q2?
Parameters:
q1 -‐ consulta
q2 -‐ consulta
Returns:
true si q2 subsume q1
Consultas_Equivalentes public boolean Consultas_Equivalentes(java.lang.String q1, java.lang.String q2)
¿La consultas q1 y q2 son equivalentes?
Parameters:
q1 -‐ consulta
q2 -‐ consulta
Returns:
true si q1 y q2 son equivalentes
Profundidad_Nodo public int Profundidad_Nodo(java.lang.String n)
Profundidad de un nodo en la ontología
Parameters:
n -‐ nombre entidad
Returns:
profundidad
distancia_subsucion public int distancia_subsucion(java.lang.String C1, java.lang.String C2)
Distancia de subsución entre dos conceptos
IIIA-‐CSIC
145
Parameters:
C1 -‐ nombre concepto
C2 -‐ nombre concepto
Returns:
distancia de subsución
SuperClase_Común_dos_Nodos public java.lang.String SuperClase_Común_dos_Nodos(java.lang.String C1, java.lang.String C2)
Obtiene la superclase común mas cercana a las clases c1 Y c2
Parameters:
C1 -‐ nombre concepto
C2 -‐ nombre concepto
Returns:
superclas común
Distancia_Camino_Mínimo public double Distancia_Camino_Mínimo(java.lang.String C1, java.lang.String C2)
Camino mínimo entre los conceptos C1 y C2
Parameters:
C1 -‐ nombre concepto
C2 -‐ nombre concepto
Returns:
camino mínimo
Similitud_entre_Conceptos public double Similitud_entre_Conceptos(java.lang.String C1, java.lang.String C2, java.lang.String tipo)
IIIA-‐CSIC
146
Obtiene la simitiud entre C1 y C2 mediante el tipo de similitud elegido
Parameters:
C1 -‐ nombre concepto
C2 -‐ nombre concepto
tipo -‐ tipo de similitud
Returns:
simitiud entre C1 y C2
Tipo_de_Match public Semantic_matching.tipo_match Tipo_de_Match(java.lang.String q1, java.lang.String q2)
Tipo de matching que se quiere hacer
Parameters:
q1 -‐ consulta
q2 -‐ consulta
Returns:
tipo de matching
dominio.similitud Class Similitud
java.lang.Object dominio.similitud.Similitud All Implemented Interfaces:
java.io.Serializable
public class Similitud extends java.lang.Object implements java.io.Serializable
Similitud de un concepto
Author:
IIIA-‐CSIC
147
Antonio Cala Hurtado
See Also:
Serialized Form
Constructor Summary
Similitud(java.lang.String C, double d) Constructor
Method Summary
java.lang.String get_concepto() Obtinen el concepto.
boolean get_en_orden() ¿Concepto en orden?
double get_similitud() Obtiene la similitud
void set_en_orden(boolean o) Establece concepto a ordenado o no
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
Similitud public Similitud(java.lang.String C, double d)
Constructor
IIIA-‐CSIC
148
Parameters:
C -‐ concepto
d -‐ similitud
Method Detail
get_similitud public double get_similitud()
Obtiene la similitud
Returns:
similitud
get_concepto public java.lang.String get_concepto()
Obtinen el concepto.
Returns:
concepto
get_en_orden public boolean get_en_orden()
¿Concepto en orden?
Returns:
true si concepto ordenado
set_en_orden public void set_en_orden(boolean o)
Establece concepto a ordenado o no
Parameters:
o -‐ orden
IIIA-‐CSIC
149
dominio.similitud Class Similitudes_conceptos
java.lang.Object dominio.similitud.Semantic_matching dominio.similitud.Similitudes_conceptos
public class Similitudes_conceptos extends Semantic_matching
Implementa la similitud entre conceptos. Se basa en consultas realizas sobre la ontología (semantic matching)
Author:
Antonio Cala Hurtado
Nested Class Summary
Nested classes/interfaces inherited from class dominio.similitud.Semantic_matching
Semantic_matching.tipo_match
Field Summary
Fields inherited from class dominio.similitud.Semantic_matching
numero_de_conceptos
Constructor Summary
Similitudes_conceptos(Ontología o) Constructor.
IIIA-‐CSIC
150
Method Summary
void cargar_similitudes_iniciales() Cargar_similitudes_iniciales.
java.util.Map<java.lang.String,Similitud>
conceptos_con_similitud_a_concepto(java.lang.String C, java.lang.String op, java.lang.String d) Obtiene los conceptos con_similitud (op,d) al concepto C
java.util.ArrayList<java.lang.String>
conceptos_con_similitud_a_conceptos(java.util.ArrayList<java.lang.String> l, java.lang.String op, java.lang.String d) Obtiene los conceptos con similitud (op,d) a los conceptos de la lista l.
void conceptos_con_similitud_a_conceptos(java.util.ArrayList<Tripleta_consulta> L) Obtiene los conceptos con similitud (en L) a conceptos (en L).
java.util.ArrayList<java.lang.String>
conceptos_con_similitud_a_conceptos(java.lang.String op, java.lang.String d, java.lang.String... e) Obtiene los conceptos con similitud (op,d) a los conceptos de la lista e.
void imprimir(java.util.ArrayList<java.util.ArrayList<java.lang.String>> D) Imprimir similitudes
void imprimir(java.util.Collection<Similitud> D) Imprimir similitudes
void imprimir(java.util.Map<java.lang.String,Similitud> m) Imprimir similitudes
void inicia_similitud(Ontología o) inicia las similitudes.
java.util.ArrayList<java.util Obtiene_conceptos_con_similitud(java.lang.String C, java.lang.String op,
IIIA-‐CSIC
151
.ArrayList<java.lang.String>> java.lang.String d) Obtiene conceptos con similitud (op,d) al concepto C
void salva_similitudes_iniciales() Salva_similitudes_iniciales.
double similitud_entre_conceptos(java.lang.String C1, java.lang.String C2) Similitud_entre_conceptos.
Methods inherited from class dominio.similitud.Semantic_matching
Consulta_Subsumida_por, Consulta_Subsumida_por, Consultas_Equivalentes, Distancia_Camino_Mínimo, distancia_subsucion, Profundidad_Nodo, query, Similitud_entre_Conceptos, SuperClase_Común_dos_Nodos, Tipo_de_Match
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
Similitudes_conceptos public Similitudes_conceptos(Ontología o)
Constructor.
Parameters:
o -‐ ontología e información asociada
Method Detail
inicia_similitud public void inicia_similitud(Ontología o)
inicia las similitudes.
IIIA-‐CSIC
152
Parameters:
o -‐ ontología
similitud_entre_conceptos public double similitud_entre_conceptos(java.lang.String C1, java.lang.String C2)
Similitud_entre_conceptos.
Parameters:
C1 -‐ nombre de concepto
C2 -‐ nombre de concepto
Returns:
similitud
conceptos_con_similitud_a_concepto public java.util.Map<java.lang.String,Similitud> conceptos_con_similitud_a_concepto(java.lang.String C, java.lang.String op, java.lang.String d)
Obtiene los conceptos con_similitud (op,d) al concepto C
Parameters:
C -‐ nombre de concepto
op -‐ operador
d -‐ similitud a comparar
Returns:
Conceptos
conceptos_con_similitud_a_conceptos public java.util.ArrayList<java.lang.String> conceptos_con_similitud_a_conceptos(java.util.ArrayList<java.lang.String> l, java.lang.String op,
IIIA-‐CSIC
153
java.lang.String d)
Obtiene los conceptos con similitud (op,d) a los conceptos de la lista l.
Parameters:
l -‐ lista de conceptow
op -‐ operador
d -‐ similitud a comparar
Returns:
lista de conceptos
conceptos_con_similitud_a_conceptos public java.util.ArrayList<java.lang.String> conceptos_con_similitud_a_conceptos(java.lang.String op, java.lang.String d, java.lang.String... e)
Obtiene los conceptos con similitud (op,d) a los conceptos de la lista e.
Parameters:
e -‐ conceptos
op -‐ operador
d -‐ similitud a comparar
Returns:
lista de conceptos
conceptos_con_similitud_a_conceptos public void conceptos_con_similitud_a_conceptos(java.util.ArrayList<Tripleta_consulta> L)
Obtiene los conceptos con similitud (en L) a conceptos (en L).
Parameters:
L -‐ lista tripletas
IIIA-‐CSIC
154
Obtiene_conceptos_con_similitud public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Obtiene_conceptos_con_similitud(java.lang.String C, java.lang.String op, java.lang.String d)
Obtiene conceptos con similitud (op,d) al concepto C
Parameters:
C -‐ nombre concepto
op -‐ operador
d -‐ similitud a comparar
Returns:
lista de conceptos
imprimir public void imprimir(java.util.Map<java.lang.String,Similitud> m)
Imprimir similitudes
Parameters:
similitudes -‐
imprimir public void imprimir(java.util.Collection<Similitud> D)
Imprimir similitudes
Parameters:
D -‐ similitudes
imprimir public void imprimir(java.util.ArrayList<java.util.ArrayList<java.lang.String>> D)
Imprimir similitudes
Parameters:
D -‐ similitudes
IIIA-‐CSIC
155
salva_similitudes_iniciales public void salva_similitudes_iniciales()
Salva_similitudes_iniciales.
cargar_similitudes_iniciales public void cargar_similitudes_iniciales()
Cargar_similitudes_iniciales.
Package servicio_técnico
Class Summary
Conversión Conversiones varias
gestionar_listas
Impresión
Tratamiento_cadena
servicio_técnico Class Conversión
java.lang.Object servicio_técnico.Conversión
public class Conversión extends java.lang.Object
Conversiones varias
Author:
Antonio Cala Hurtado
IIIA-‐CSIC
156
Constructor Summary
Conversión()
Method Summary
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
a_array(java.util.ArrayList<Similitud> D) conversión de ArrayList a ArrayList<arraylist></arraylist
java.lang.String a_mayusculas(java.lang.String s) string a mayusculas
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
Convertir_a_ArrayLIst(java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom> I) Conversión de tipo Set a ArrayList<arraylist></arraylist
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
Convertir_a_ArrayList(java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> I) Conversión de Set a ArrayList<arraylist></arraylist
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
Convertir_a_ArrayLIstC(java.util.Set<org.semanticweb.owlapi.model.OWLClass> I) Conversión de tipo Set a ArrayList<arraylist></arraylist
java.lang.Boolean[] convierte_ArrL_a_array_boolean(java.util.ArrayList<java.lang.String> a) conversión de ArrayList a Boolean[]
java.lang.Float[] convierte_ArrL_a_array_float(java.util.ArrayList<java.lang.String> a) conversión de ArrayList a Float []
java.lang.Integer[] convierte_ArrL_a_array_int(java.util.ArrayList<java.lang.String> a) conversión de ArrayList a Integer []
long[] convierte_ArrL_a_array_long(java.util.ArrayList<java.lang.String> a)
IIIA-‐CSIC
157
conversión de ArrayList a long []
java.lang.String[] convierte_ArrL_a_array_string(java.util.ArrayList<java.lang.String> a) conversión de ArrayList a String[]
java.lang.String db_a_st(double n) double a string
java.lang.String fl_a_st(float n) float a string
java.lang.String in_a_st(int n) entero a string
java.lang.String lo_a_st(long n) long a string
java.lang.Boolean st_a_boo(java.lang.String n) string a boolean
double st_a_db(java.lang.String n) string a double
float st_a_fl(java.lang.String n) string a float
int st_a_in(java.lang.String n) string a entero
long st_a_lo(java.lang.String n) string a long
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
IIIA-‐CSIC
158
Conversión public Conversión()
Method Detail
fl_a_st public java.lang.String fl_a_st(float n)
float a string
Parameters:
n -‐
Returns:
in_a_st public java.lang.String in_a_st(int n)
entero a string
Parameters:
n -‐
Returns:
st_a_in public int st_a_in(java.lang.String n)
string a entero
Parameters:
n -‐
Returns:
st_a_lo public long st_a_lo(java.lang.String n)
string a long
Parameters:
n -‐
IIIA-‐CSIC
159
Returns:
lo_a_st public java.lang.String lo_a_st(long n)
long a string
Parameters:
n -‐
Returns:
st_a_fl public float st_a_fl(java.lang.String n)
string a float
Parameters:
n -‐
Returns:
st_a_db public double st_a_db(java.lang.String n)
string a double
Parameters:
n -‐
Returns:
db_a_st public java.lang.String db_a_st(double n)
double a string
Parameters:
n -‐
Returns:
IIIA-‐CSIC
160
st_a_boo public java.lang.Boolean st_a_boo(java.lang.String n)
string a boolean
Parameters:
n -‐
Returns:
a_mayusculas public java.lang.String a_mayusculas(java.lang.String s)
string a mayusculas
Parameters:
s -‐
Returns:
Convertir_a_ArrayList public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Convertir_a_ArrayList(java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> I)
Conversión de Set a ArrayList<arraylist>
</arraylist
Parameters:
I -‐ tipo Set
Returns:
tipo ArrayList<arraylist></arraylist
Convertir_a_ArrayLIst public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Convertir_a_ArrayLIst(java.util.Set<org.semanticweb.owlapi.model.OWLClassAxiom> I)
Conversión de tipo Set a ArrayList<arraylist>
</arraylist
Parameters:
IIIA-‐CSIC
161
I -‐ tipo Set
Returns:
lista ArrayList<arraylist></arraylist
Convertir_a_ArrayLIstC public java.util.ArrayList<java.util.ArrayList<java.lang.String>> Convertir_a_ArrayLIstC(java.util.Set<org.semanticweb.owlapi.model.OWLClass> I)
Conversión de tipo Set a ArrayList<arraylist>
</arraylist
Parameters:
I -‐ tipo Set
Returns:
lista ArrayList<arraylist></arraylist
a_array public java.util.ArrayList<java.util.ArrayList<java.lang.String>> a_array(java.util.ArrayList<Similitud> D)
conversión de ArrayList a ArrayList<arraylist>
</arraylist
Parameters:
D -‐ tipo ArrayList
Returns:
tipo ArrayList<arraylist></arraylist
convierte_ArrL_a_array_boolean public java.lang.Boolean[] convierte_ArrL_a_array_boolean(java.util.ArrayList<java.lang.String> a)
conversión de ArrayList a Boolean[]
Parameters:
a -‐ tipo ArrayList
IIIA-‐CSIC
162
Returns:
tipo boolean[]
convierte_ArrL_a_array_string public java.lang.String[] convierte_ArrL_a_array_string(java.util.ArrayList<java.lang.String> a)
conversión de ArrayList a String[]
Parameters:
a -‐ tipo ArrayList
Returns:
tipo String[]
convierte_ArrL_a_array_int public java.lang.Integer[] convierte_ArrL_a_array_int(java.util.ArrayList<java.lang.String> a)
conversión de ArrayList a Integer []
Parameters:
a -‐ tipo ArrayList
Returns:
tipo Integer []
convierte_ArrL_a_array_float public java.lang.Float[] convierte_ArrL_a_array_float(java.util.ArrayList<java.lang.String> a)
conversión de ArrayList a Float []
Parameters:
a -‐ tipo ArrayList
Returns:
tipo Float []
IIIA-‐CSIC
163
convierte_ArrL_a_array_long public long[] convierte_ArrL_a_array_long(java.util.ArrayList<java.lang.String> a)
conversión de ArrayList a long []
Parameters:
a -‐ tipo ArrayList
Returns:
tipo long []
servicio_técnico Class gestionar_listas
java.lang.Object servicio_técnico.gestionar_listas
public class gestionar_listas extends java.lang.Object
Constructor Summary
gestionar_listas()
Method Summary
void Añade_Elementos_de_Lista_a(java.util.ArrayList<java.lang.String> l1, java.util.ArrayList<java.lang.String> l2)
java.util.ArrayList<java.lang.String>
borra_elemento_lista(java.lang.String e, java.util.ArrayList<java.lang.String> l)
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
borra_elementos_repetidos(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
IIIA-‐CSIC
164
java.util.ArrayList<java.lang.String>
borra_elementos_repetidos(java.util.Collection<java.lang.String> lc)
boolean Concepto_en_Lista(java.lang.String S, java.util.ArrayList<java.lang.String> l)
java.util.ArrayList<java.util.ArrayList<java.lang.Strin
g>>
convierte_a_formato_listas(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
java.util.ArrayList<java.lang.String>
convierte_ArLArL_a_ArL(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
java.util.ArrayList<java.lang.String>
Lista_intersección(java.util.ArrayList<java.lang.String> l1, java.util.ArrayList<java.lang.String> l2)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
gestionar_listas public gestionar_listas()
Method Detail
convierte_ArLArL_a_ArL public java.util.ArrayList<java.lang.String> convierte_ArLArL_a_ArL(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
IIIA-‐CSIC
165
convierte_a_formato_listas public java.util.ArrayList<java.util.ArrayList<java.lang.String>> convierte_a_formato_listas(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
Concepto_en_Lista public boolean Concepto_en_Lista(java.lang.String S, java.util.ArrayList<java.lang.String> l)
borra_elemento_lista public java.util.ArrayList<java.lang.String> borra_elemento_lista(java.lang.String e, java.util.ArrayList<java.lang.String> l)
borra_elementos_repetidos public java.util.ArrayList<java.lang.String> borra_elementos_repetidos(java.util.Collection<java.lang.String> lc)
borra_elementos_repetidos public java.util.ArrayList<java.util.ArrayList<java.lang.String>> borra_elementos_repetidos(java.util.ArrayList<java.util.ArrayList<java.lang.String>> l)
Lista_intersección public java.util.ArrayList<java.lang.String> Lista_intersección(java.util.ArrayList<java.lang.String> l1, java.util.ArrayList<java.lang.String> l2)
Añade_Elementos_de_Lista_a public void Añade_Elementos_de_Lista_a(java.util.ArrayList<java.lang.String> l1, java.util.ArrayList<java.lang.String> l2)
servicio_técnico Class Impresión
java.lang.Object servicio_técnico.Impresión
IIIA-‐CSIC
166
public class Impresión extends java.lang.Object
Constructor Summary
Impresión()
Method Summary
void
imprime_consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls) Imprime una lista de conceptos
void
imprime_consulta(java.util.Collection<java.lang.String> ls) Imprime una lista de conceptos
void
imprime_consulta(double d) Imprime un número
void
imprime_datos(java.util.ArrayList<java.util.ArrayList<java.lang.String>> d)
void
Imprimir_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls)
void
Imprimir_Consulta(java.util.Iterator<com.hp.hpl.jena.query.QuerySolution> rs)
void
Imprimir_Consulta(com.hp.hpl.jena.query.ResultSet rs)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait,
IIIA-‐CSIC
167
wait
Constructor Detail
Impresión public Impresión()
Method Detail
Imprimir_Consulta public void Imprimir_Consulta(java.util.Iterator<com.hp.hpl.jena.query.QuerySolution> rs)
Imprimir_Consulta public void Imprimir_Consulta(com.hp.hpl.jena.query.ResultSet rs)
Imprimir_Conceptos_de_Consulta public void Imprimir_Conceptos_de_Consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls)
imprime_datos public void imprime_datos(java.util.ArrayList<java.util.ArrayList<java.lang.String>> d)
imprime_consulta public void imprime_consulta(java.util.ArrayList<java.util.ArrayList<java.lang.String>> ls)
Imprime una lista de conceptos
Parameters:
ls -‐ lista de conceptos a imprimir
IIIA-‐CSIC
168
imprime_consulta public void imprime_consulta(java.util.Collection<java.lang.String> ls)
Imprime una lista de conceptos
Parameters:
ls -‐ lista de conceptos a imprimir
imprime_consulta public void imprime_consulta(double d)
Imprime un número
Parameters:
d -‐ número a imprimir
servicio_técnico Class Tratamiento_cadena
java.lang.Object servicio_técnico.Tratamiento_cadena
public class Tratamiento_cadena extends java.lang.Object
Field Summary
boolean b
java.lang.String s_cons *** HAY QUE REHACERLA CON EXPRESIONES REGULARES ***
Constructor Summary
Tratamiento_cadena(java.lang.String s)
IIIA-‐CSIC
169
Method Summary
boolean cadena_vacía()
java.lang.String chequea_llaves(java.lang.String C)
java.lang.String Obtiene_Concepto_de_Cadena()
java.lang.String Obtiene_Concepto_de_Cadena(java.lang.String T) *** HAY QUE REHACERLA CON EXPRESIONES REGULARES ***
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
s_cons public java.lang.String s_cons
*** HAY QUE REHACERLA CON EXPRESIONES REGULARES ***
b public boolean b
Constructor Detail
Tratamiento_cadena public Tratamiento_cadena(java.lang.String s)
Method Detail
IIIA-‐CSIC
170
Obtiene_Concepto_de_Cadena public java.lang.String Obtiene_Concepto_de_Cadena()
Obtiene_Concepto_de_Cadena public java.lang.String Obtiene_Concepto_de_Cadena(java.lang.String T)
*** HAY QUE REHACERLA CON EXPRESIONES REGULARES ***
Parameters:
T -‐ cadena a tratar
Returns:
devuelve concepto dentro de una cadena
cadena_vacía public boolean cadena_vacía()
chequea_llaves public java.lang.String chequea_llaves(java.lang.String C)