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 2 IIIA-­‐CSIC 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 3 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 4 IIIA-­‐CSIC 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 5 6 IIIA-­‐CSIC 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 7 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. 8 IIIA-­‐CSIC 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 9 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 RESIDUO SINÓNIMO ACRÓNIMO DESCRIPCIÓN EFLUENTE CONCEPTO GENERA RELACIÓN AGUA RESIDUAL INDUSTRIAL CONCEPTO INDUSTRIA CÁRNICA CONCEPTO PROCESO DE TRATAMIENTO CONCEPTO DESINFECCIÓN INSTANCIA RIEGO CONCEPTO CONCEPTO EMPRESA Tabla 1. Hoja descripción. Glosario ontología. 10 TIPO IIIA-­‐CSIC 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 ACTIVIDAD NIVEL 2 NEGOCIO NIVEL 3 FUNCIONAL NIVEL 4 NIVEL 5 AGROPECUARIO LAVADO GESTIÓN RIEGO GESTIÓN_BUROCRÁTIC A NIVEL 6 GESTIÓN_NEGOCIO GESTIÓN_RESIDUO OFERTA_PROYEC TO TRANSPORTE TRATAMIENTO_RE SIDUO ESTUDIO_AMBIENTAL RECOGIDA_RESIDUO TRANSPORTE_CONSTR UCCIÓN TRANSPORTE_RESIDUO TRATAMIENTO_RESIDU O_AGROPECUARIO TRATAMIENTO_RESIDU O_AGUA TRATAMIENTO_RESIDU O_INDUSTRIA TRATAMIENTO_RESIDU O_MUNICIPIO TRATAMIENTO_RESID UO_PELIGROSO Tabla 2. Hoja carga. Ontología IIIA-­‐CSIC 11 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 OFRECE PRODUCE_PRODUC TO EMPRESA PRODUCTO ACTIVIDAD PRODUCTO REQUIERE_OBJETO ACTIVIDAD OBJETO ES_OFRECIDO PRODUCIDO_EN_ACTIVI DAD REQUERIDO_EN_ACTIVI DAD SOLICITA EMPRESA PRODUCTO ES_SOLICITADO TIENE_ACTIVIDAD ACTIVIDAD OBJETO INTERVIENE RELACIÓN INVERSA Tabla 3. Hoja descripción. Relaciones. EMPRESA CONCEPTO1 RELACIÓN CONCEPTO2 R020107_SILVICULTURA EMPRESA OFRECE PRODUCTO R020103_TEJIDO_VEGETAL EMPRESA OFRECE ACTIVIDAD PRODUCTO AGROPECUARIA JANOT SL AGROPECUARIA MAS MOLI DE BAIX SL 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 TIENE_CNAE SOLICITA RESIDUO EMPRESA 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 OFRECE PRODUCE_PRODUC TO EMPRESA PRODUCTO ACTIVIDAD PRODUCTO 12 CARDINALIDAD DE FUENTE CONCEPTO DESTINO IIIA-­‐CSIC PROPIEDADES MATEMÁTICAS RELACIÓN INVERSA ES_OFRECIDO PRODUCIDO_EN_ACTIVI DAD REQUIERE_OBJETO ACTIVIDAD INSUMO REQUERIDO_EN_ACTIVI DAD SOLICITA EMPRESA PRODUCTO ES_SOLICITADO TIENE_ACTIVIDAD ACTIVIDAD OBJETO INTERVIENE Tabla 6. Hoja descripción. Relación binaria. # CONCEPTO1 RELACIÓN CONCEPTO2 OBJETO TIENE_ACTIVIDAD EMPRESA TIENE_INTERÉS EMPRESA TIENE_INTERÉS # CONCEPTO ATRIBUTO TIPO ACTIVIDAD EMPRESA TIENE_CNAE string ACTIVIDAD EMPRESA TIENE_EXPORTACIÓN boolean 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 CARDINALIDA D 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 13 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 14 IIIA-­‐CSIC (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 15 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. 16 IIIA-­‐CSIC 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"); CONCEPTO1 RELACIÓN CONCEPTO2 FANGO_ACTIVADO ACTIVIDAD REQUIERE_OBJETO OBJETO ETIQUETA_ECOLÓGICA_EUROPEA ACTIVIDAD TIENE_SUBACTIVIDAD ACTIVIDAD1 ACTIVIDAD OBJETO # FERTILIZACIÓN_ORGÁNICA FERTILIZACIÓN_ORGÁNICA RIEGO_CULTIVO AGUA_ALTO_CONTENIDO_NITRITO ACTIVIDAD1 Tabla 9. Hoja carga. Detalle ACTIVIDADREQUIERE. 1.4. INTEGRACION DE LOS ELEMENTOS ANTERIORES Ejemplo de carga de la ontología: IIIA-­‐CSIC 17 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. 18 IIIA-­‐CSIC 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 19 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: 20 IIIA-­‐CSIC 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 21 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 ‘PRODUCTO_ALIMENTACIÓN’ y ‘PRODUCTO_AUTOMOCIÓN’: los conceptos 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")); 22 IIIA-­‐CSIC 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 23 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.’). 24 IIIA-­‐CSIC 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 25 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. 26 IIIA-­‐CSIC ?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 27 ?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. } 28 IIIA-­‐CSIC 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 29 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() { 30 IIIA-­‐CSIC 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 31 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. 32 IIIA-­‐CSIC 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. SpringerVerlag, 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) 95130. IIIA-­‐CSIC 33 - 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. 34 IIIA-­‐CSIC ANEXO 1. VISTA LÓGICA Áreas funcionales o similares de las empresas que podrían estar interesadas en algunos de los productos/servicios que ofrece la empresa X. Ilustración 1. Paquetes y capas. Ilustración 2. Paquete ontología. IIIA-­‐CSIC 35 Ilustración 3. Paquete consulta Ilustración 4. Paquete similitud. 36 IIIA-­‐CSIC 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 37 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 38 IIIA-­‐CSIC 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 39 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); 40 IIIA-­‐CSIC 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 41 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 42 IIIA-­‐CSIC 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 43 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 44 IIIA-­‐CSIC 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 45 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 46 IIIA-­‐CSIC 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 47 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 48 IIIA-­‐CSIC 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 Tripleta_consulta Preparación y ejecución de una consulta en SPARQL. 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 49 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.la ng.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<Triplet a_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<j indiviuos_con_similitud_a_individuo(java.lang.S ava.lang.String> tring I, java.lang.String op, java.lang.String s) Dado un individuo I, un operador op y una similitud s, 50 IIIA-­‐CSIC 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.Strin g C) Obtiene una subconsulta (encerrada entre corchetes) de una consulta C java.util.ArrayList<T Obtiene_Entidades_Similitud_Consulta(java.lang. ripleta_consulta> 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_cons ulta> 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 51 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.ArrayLi st<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_con cepto(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_c oncepto(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 52 IIIA-­‐CSIC 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 53 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 54 IIIA-­‐CSIC 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 55 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 56 IIIA-­‐CSIC 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 57 unión_conceptos_con_similitud_de_individuos_a_concepto public java.lang.String unión_conceptos_con_similitud_de_individuos_a_concepto(java.lang.Strin g 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 58 IIIA-­‐CSIC 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.lan g.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 59 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) 60 IIIA-­‐CSIC Constructor Method Summary java.util.ArrayList<java.ut ejecuta_consulta_SPARQLDL(java.lang.Strin il.ArrayList<java.lang.Strin g C) g>> Ejecución de la consulta SPARQL C java.util.ArrayList<java.la get_conceptos_ontología() ng.String> Obtiene los conceptos de la ontología java.util.ArrayList<java.la get_miembros_de_clase(java.lang.String C) ng.String> Obtiene los miembros de una clase java.util.ArrayList<java.la get_relaciones_concepto_ontología(java.la ng.String> ng.String C) Obtiene las relaciones de un concepto con otros conceptos java.util.ArrayList<java.la get_relaciones_dato_ontología(java.lang.S ng.String> tring C) Obtiene las relaciones de un concepto con atributos java.util.ArrayList<java.la Obtiene_conceptos_con_similitud_a_concept ng.String> os(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.la Obtiene_conceptos_con_similitud_a_concept ng.String> os(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.ut Obtiene_conceptos_con_similitud(java.lang il.ArrayList<java.lang.Strin .String C, java.lang.String op, g>> java.lang.String d) Obtiene los conceptos que cumplen la condición IIIA-­‐CSIC 61 definida por el operador op y la similitud d sobre el concepto C double Obtiene_similitud_entre_conceptos(java.la ng.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: 62 IIIA-­‐CSIC 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 63 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.l ang.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, 64 IIIA-­‐CSIC 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 65 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 66 IIIA-­‐CSIC Consulta_tipo(Ontología o) Constructor Method Summary java.util.ArrayList<java.util.Ar Axioma_de_Clase(java.lang.String C, rayList<java.lang.String>> 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.St Conceptos_Ontología() ring> Obtiene los conceptos de la ontología java.util.ArrayList<java.util.Ar ejecuta_consulta(java.lang.String s, rayList<java.lang.String>> boolean añade_cabecera) Ejecuta una consulta en SPARQL java.util.ArrayList<java.lang.St Ejecuta_Subconsulta_Padres_individuo ring> s(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_consult a> 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.Ar Individuo_de_Clase(java.lang.String rayList<java.lang.String>> C, boolean d) Dada una clase C, devuelve los individuos directos o no (valor de d) void inicia_consulta() IIIA-­‐CSIC 67 Inicia una consulta java.util.ArrayList<java.lang.St miembros_de_clase(java.lang.String C ring> ) 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.St Padres_de_Individuo(java.lang.String ring> I) Dado un inidividuo I, devuelve todos sus ancestros java.util.ArrayList<java.lang.St Padres_Directos_de_Individuo(java.la ring> ng.String I) Dado un individuo I devuelve los padres directos java.util.ArrayList<java.lang.St Padres_individuos_de_Clase(java.lang ring> .String C) Dada una clase C, obtiene los padres de sus instancias. java.util.ArrayList<java.lang.St Relaciones_de_Clase(java.lang.String ring> C) Dada una clase C Obtiene las relaciones con otros conceptos java.util.ArrayList<java.lang.St Relaciones_de_datos_de_Clase(java.la ring> ng.String C) Dada una clase C Obtiene las relaciones con atributos java.util.ArrayList<java.lang.St Subclase_de_Clase(java.lang.String C ring> , boolean d) Dada una clase C, devuelve las subclases hijas directas o no (valor de d) java.util.ArrayList<java.util.Ar Superclase_de_Clase(java.lang.String rayList<java.lang.String>> C, boolean d) Dada una clase C, devuelve las superclases directas o no (valor de d) 68 IIIA-­‐CSIC 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 69 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 70 IIIA-­‐CSIC 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 71 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: 72 IIIA-­‐CSIC 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 73 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 74 IIIA-­‐CSIC 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. Consulta_Lista_Resultados(java.lang.String hpl.jena.query.QuerySolutio c, com.hp.hpl.jena.ontology.OntModel ont) n> Consulta_ lista_ resultados. java.util.ArrayList<java.u Consulta(java.lang.String c) til.ArrayList<java.lang.Str Ejecución de consulta. ing>> 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 75 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.Strin g 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 e 1, java.lang.String e2) Superclases directas de e2. com.hp.hpl.jena.query.Quer Iniciar_Consulta(java.lang.String c) 76 IIIA-­‐CSIC yExecution Iniciar_ consulta. java.util.ArrayList<java.u Interseccion_de(java.lang.String C1, til.ArrayList<java.lang.Str java.lang.String C2) ing>> Interseccion de c1 y c2 java.util.ArrayList<java.u Obtiene_Conceptos_de_Consulta(java.util.Ar til.ArrayList<java.lang.Str rayList<java.util.ArrayList<java.lang.Stri ing>> ng>> ls) Pasa de ArrayList<arraylist> a ArrayList<arraylist></arraylist</arraylist java.util.ArrayList<java.u Obtiene_Conceptos_de_Consulta(java.util.Ar til.ArrayList<java.lang.Str rayList<java.util.ArrayList<java.lang.Stri ing>> ng>> ls, java.lang.String t) Obtiene conceptos de tipo t de ls java.util.ArrayList<java.u Obtiene_Conceptos_de_Consulta(com.hp.hpl.j til.ArrayList<java.lang.Str ena.query.ResultSet rs) ing>> 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.u SuperClases_de(java.lang.String c) til.ArrayList<java.lang.Str Superclases de clase c ing>> java.lang.String Tiene(java.lang.String s, java.lang.String p, java.lang.String o) Relación. IIIA-­‐CSIC 77 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 78 IIIA-­‐CSIC 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 79 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 80 IIIA-­‐CSIC 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 81 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 82 IIIA-­‐CSIC 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 83 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 84 IIIA-­‐CSIC 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 85 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. 86 IIIA-­‐CSIC 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 87 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 88 IIIA-­‐CSIC 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 89 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.l get_lista_similitud() ang.String> 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 90 get_tipo_tripleta() IIIA-­‐CSIC 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<ja va.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 91 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, 92 IIIA-­‐CSIC 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 93 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 94 IIIA-­‐CSIC 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 95 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 96 IIIA-­‐CSIC 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 97 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) 98 IIIA-­‐CSIC 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.Ar obtiene_atributos(java.lang.String t rayList<java.lang.String>> ) Obtiene atributos de la tabla 't' java.util.ArrayList<java.lang.St obtiene_columna(java.lang.String c, ring> java.lang.String t) Obtiene datos de la columna 'c' de la tabla 't' java.util.ArrayList<java.lang.St obtiene_datos_columnas_según_valor_c ring> olumna(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.Ar obtiene_datos_relación(java.lang.Str rayList<java.lang.String>> ing t, java.util.ArrayList<java.util.ArrayL ist<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.la ng.String t) IIIA-­‐CSIC 99 Obtiene_datos de la tabla de relación t java.util.ArrayList<java.util.Ar obtiene_relaciones(java.lang.String rayList<java.lang.String>> t) Obtiene relaciones de la tabla 't' void procesa_fuente() Procesa datos de arhivo fuente. void procesa_fuente(java.lang.String... v t) 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 100 IIIA-­‐CSIC 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 101 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 102 IIIA-­‐CSIC 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 103 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 I s1, java.lang.String Rs, boolean Is2) Añadir propiedad dato Rs entre el individuo Is1 y el dato Is2 104 IIIA-­‐CSIC void Añadir_Propiedad_Dato(java.lang.String I s1, 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 I s1, 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 I s1, 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 I s1, 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.Array List<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.Array List<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.Array List<java.lang.String> Is1, java.lang.String Rs, java.lang.Integer[] Is2) Añade lista Rs de propiedades de dato entre IIIA-­‐CSIC 105 listas de individuos Is1 y lista de datos Is2 void Añadir_Propiedades_Datos(java.util.Array List<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.Array List<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.Arr ayList<java.lang.String> Is1, java.lang.String Rs, java.util.ArrayList<java.lang.String> Is 2) 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.reaso Clases_no_Satisfacen_Axiomas(org.semanti ner.Node<org.semanticweb.owla cweb.owlapi.model.OWLClass C) pi.model.OWLClass> Obtiene clases que no satisfacen axiomas boolean Conjunto_Clase_Vacío(java.util.Set<org.s emanticweb.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) 106 IIIA-­‐CSIC Imprime axiomas de clases C. void Imprime_Clases(java.util.Set<org.semanti cweb.owlapi.model.OWLClass> C) Imprime clases. void Imprime_Individuos(java.util.Set<org.sem anticweb.owlapi.model.OWLNamedIndividual > I) Imprime individuos. void Imprime_Propiedades_de_Objeto(java.util. Set<org.semanticweb.owlapi.model.OWLObje ctPropertyExpression> I) Imprime propiedades de objeto. void Inicia_Ontología_Jena(java.lang.String d ir_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.Stri ng Cs) Obtiene número de subclases de la clase Cs java.util.Set<org.semanticwe Obtener_Axiomas_Clase(java.lang.String C b.owlapi.model.OWLClassAxiom> s) Obtiene axiomas de la clase con nombre Cs. org.semanticweb.owlapi.model Obtener_Clase(java.lang.String Cs) .OWLClass Obtiene identificación de la clase Cs. java.util.Set<org.semanticwe Obtener_Clases_Disjuntas(java.lang.Strin b.owlapi.model.OWLClass> g Cs) IIIA-­‐CSIC 107 Dada una clase, devuelve el conjunto de clases disjuntas java.util.Set<org.semanticwe Obtener_Clases_Equivalentes(java.lang.St b.owlapi.model.OWLClass> ring Cs) Dada una clase, devuelve el conjunto de clases equivalentes java.util.Set<org.semanticwe Obtener_Dominios_Propiedad_Dato(java.lan b.owlapi.model.OWLClass> g.String Ps, boolean Sdirectas) Obtiene dominios a propiedad de dato Ps. java.util.Set<org.semanticwe Obtener_Dominios_Propiedad_Objeto(java.l b.owlapi.model.OWLClass> ang.String Ps, boolean Sdirectas) Obtener dominios de propiedad de objeto. org.semanticweb.owlapi.model Obtener_Individuo(java.lang.String Is) .OWLNamedIndividual Obtiene identificación de individuo Is. java.util.Set<org.semanticwe Obtener_Individuos_Diferentes_al_Individ b.owlapi.model.OWLNamedIndivi uo(java.lang.String Is) dual> Obtiene individuos diferentes al individuo java.util.Set<org.semanticwe Obtener_Individuos_Iguales_al_Individuo( b.owlapi.model.OWLNamedIndivi java.lang.String Is) dual> Obtiene individuos iguales al individuo Is java.util.Set<org.semanticwe Obtener_instancias_de_Clases(java.lang.S b.owlapi.model.OWLNamedIndivi tring Cs, boolean Idirectas) dual> Obtiene las instancias de la clase Cs. org.semanticweb.owlapi.model Obtener_IRI(java.lang.String Is) .IRI Obtiene iri de una entidad org.semanticweb.owlapi.model Obtener_Literal(boolean Ls) .OWLLiteral Obtiene identificación del literal boolean Ls org.semanticweb.owlapi.model Obtener_Literal(double Ls) .OWLLiteral Obtiene identificación del literal double Ls org.semanticweb.owlapi.model Obtener_Literal(float Ls) .OWLLiteral Obtiene identificación del literal float Ls org.semanticweb.owlapi.model Obtener_Literal(int Ls) .OWLLiteral Obtiene identificación del literal entero Ls 108 IIIA-­‐CSIC org.semanticweb.owlapi.model Obtener_Literal(long Ls) .OWLLiteral Obtiene identificación del literal long Ls org.semanticweb.owlapi.model Obtener_Literal(java.lang.String Ls) .OWLLiteral 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 Obtener_Propiedad_Dato(java.lang.String .OWLDataProperty Ps) Obtiene identificación de la propiedad de dato Ps org.semanticweb.owlapi.model Obtener_Propiedad_Objeto(java.lang.Strin .OWLObjectProperty g Ps) Obtiene identificación de la propiedad de objeto Ps java.util.Set<org.semanticwe Obtener_Propiedades_Disjuntas_a_Propieda b.owlapi.model.OWLObjectPrope d_Objeto(java.lang.String Ps) rtyExpression> Obtener propiedades disjuntas a propiedad de objeto Ps. java.util.Set<org.semanticwe Obtener_Propiedades_Disjuntass_a_Propied b.owlapi.model.OWLDataPropert ad_Dato(java.lang.String Ps) y> Obtiene propiedades disjunta a propiedad de dato Ps. java.util.Set<org.semanticwe Obtener_Propiedades_Equivalentes_a_Propi b.owlapi.model.OWLDataPropert edad_Dato(java.lang.String Ps) y> Obtiene propiedades equivalentes a propiedad de dato Ps. java.util.Set<org.semanticwe Obtener_Propiedades_Equivalentes_a_Propi b.owlapi.model.OWLObjectPrope edad_Objeto(java.lang.String Ps) rtyExpression> Obtener propiedades equivalentes a propiedad de objeto Ps. java.util.Set<org.semanticwe Obtener_Propiedades_Inversas_a_Propiedad b.owlapi.model.OWLObjectPrope _Objeto(java.lang.String Ps) rtyExpression> Obtener propiedades inversas a propiedad de objeto Ps. java.util.Set<org.semanticwe Obtener_Rangos_Propiedad_Objeto(java.lan g.String Ps, boolean Sdirectas) IIIA-­‐CSIC 109 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.semanticwe Obtener_Subclases_de_Clase(java.lang.Str b.owlapi.model.OWLClass> ing Cs, boolean Sdirectas) Obtiene subclases de clase Cs java.util.Set<org.semanticwe Obtener_Subpropiedades_de_Propiedad_de_D b.owlapi.model.OWLDataPropert ato(java.lang.String Ps, y> boolean Pdirectas) Obtiene subpropiedades de propiedad de dato. java.util.Set<org.semanticwe Obtener_Subpropiedades_de_Propiedad_de_O b.owlapi.model.OWLObjectPrope bjeto(java.lang.String Ps, rtyExpression> boolean Pdirectas) Obtiene subpropiedades de propiedad de objeto. java.util.Set<org.semanticwe Obtener_Superclases_de_Clase(java.lang.S b.owlapi.model.OWLClass> tring Cs, boolean Sdirectas) Obtiene superclases de la clase java.util.Set<org.semanticwe Obtener_Superpropiedades_de_Propiedad_de b.owlapi.model.OWLDataPropert _Dato(java.lang.String Ps, y> boolean Pdirectas) Obtiene superpropiedades de propiedad de dato. java.util.Set<org.semanticwe Obtener_Superpropiedades_de_Propiedad_de b.owlapi.model.OWLObjectPrope _Objeto(java.lang.String Ps, rtyExpression> boolean Pdirectas) Obtener_ superpropiedades_de_ propiedad_de_ objeto. java.util.Set<org.semanticwe Obtener_Tipos_de_Individuo(java.lang.Str b.owlapi.model.OWLClass> ing Is, boolean Sdirectas) Obtiene tipos de individuo Is java.util.Set<org.semanticwe Obtener_Valores_Propiedad_de_Dato_de_Ind b.owlapi.model.OWLLiteral> ividuo(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 110 IIIA-­‐CSIC b.owlapi.model.OWLNamedIndivi dividuo(java.lang.String Is, dual> 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.Stri ng dir_ont_web, java.lang.String dir_ont_loc) Redirigir dirección carga ontología. void Salvar_ontología(java.lang.String dir_on t_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 111 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. 112 IIIA-­‐CSIC 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 113 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: 114 IIIA-­‐CSIC 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 115 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: 116 IIIA-­‐CSIC 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.OWLC lass> 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 117 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.OWLC lassAxiom> 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: 118 IIIA-­‐CSIC 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 P s) 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 119 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) 120 IIIA-­‐CSIC 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 121 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 122 IIIA-­‐CSIC 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 123 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 124 IIIA-­‐CSIC Conjunto_Clase_Vacío public boolean Conjunto_Clase_Vacío(java.util.Set<org.semanticweb.owlapi.model.OWLCla ss> 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 125 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: 126 IIIA-­‐CSIC C -­‐ conjunto de clases Imprime_Individuos public void Imprime_Individuos(java.util.Set<org.semanticweb.owlapi.model.OWLNamed Individual> I) Imprime individuos. Parameters: I -­‐ conjunto de individuos Imprime_Propiedades_de_Objeto public void Imprime_Propiedades_de_Objeto(java.util.Set<org.semanticweb.owlapi.mod el.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 127 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 128 IIIA-­‐CSIC 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 129 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 130 IIIA-­‐CSIC 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 131 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 132 IIIA-­‐CSIC 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 133 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 java.lang.String java.lang.String java.lang.String java.lang.String l, i, n, tc, 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 134 IIIA-­‐CSIC 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 135 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, 136 IIIA-­‐CSIC 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 137 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 java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String l, i, n, n_f_d, tc, 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 138 IIIA-­‐CSIC 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 139 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 Similitud Realización de consultas destinadas a la obtención de la similitud entre conceptos 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 140 IIIA-­‐CSIC 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.pel let.sparqldl.model.Query q1, com.clarkparsia.pellet.sparqldl.model.Quer y 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 141 ¿La consultas q1 y q2 son equivalentes? double Distancia_Camino_Mínimo(java.lang.String C 1, 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.sp query(java.lang.String q) arqldl.model.Query 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.Strin g C1, java.lang.String C2) Obtiene la superclase común mas cercana a las clases c1 Y c2 Semantic_matching.tipo_ma Tipo_de_Match(java.lang.String q1, tch 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 142 IIIA-­‐CSIC 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 143 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 144 IIIA-­‐CSIC 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 145 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: 146 IIIA-­‐CSIC 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 147 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 148 IIIA-­‐CSIC 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 149 Method Summary void cargar_similitudes_iniciales() Cargar_similitudes_iniciales. java.util.Map<java.lang.Strin conceptos_con_similitud_a_concepto(java g,Similitud> .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 conceptos_con_similitud_a_conceptos(jav .String> a.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(jav a.util.ArrayList<Tripleta_consulta> L) Obtiene los conceptos con similitud (en L) a conceptos (en L). java.util.ArrayList<java.lang conceptos_con_similitud_a_conceptos(jav .String> a.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.la ng.String C, java.lang.String op, 150 IIIA-­‐CSIC .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.Str ing 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 151 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.Stri ng> l, java.lang.String op, 152 IIIA-­‐CSIC 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_consu lta> L) Obtiene los conceptos con similitud (en L) a conceptos (en L). Parameters: L -­‐ lista tripletas IIIA-­‐CSIC 153 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 154 IIIA-­‐CSIC 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 gestionar_listas Impresión Conversiones varias 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 155 Constructor Summary Conversión() Method Summary java.util.ArrayList<java.ut a_array(java.util.ArrayList<Similitud> D) il.ArrayList<java.lang.Strin conversión de ArrayList a g>> ArrayList<arraylist></arraylist java.lang.String a_mayusculas(java.lang.String s) string a mayusculas java.util.ArrayList<java.ut Convertir_a_ArrayLIst(java.util.Set<org.s il.ArrayList<java.lang.Strin emanticweb.owlapi.model.OWLClassAxiom> I) g>> Conversión de tipo Set a ArrayList<arraylist></arraylist java.util.ArrayList<java.ut Convertir_a_ArrayList(java.util.Set<org.s il.ArrayList<java.lang.Strin emanticweb.owlapi.model.OWLNamedIndividua g>> l> I) Conversión de Set a ArrayList<arraylist></arraylist java.util.ArrayList<java.ut Convertir_a_ArrayLIstC(java.util.Set<org. il.ArrayList<java.lang.Strin semanticweb.owlapi.model.OWLClass> I) g>> 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.Ar rayList<java.lang.String> a) conversión de ArrayList a Float [] java.lang.Integer[] convierte_ArrL_a_array_int(java.util.Arra yList<java.lang.String> a) conversión de ArrayList a Integer [] long[] convierte_ArrL_a_array_long(java.util.Arr ayList<java.lang.String> a) 156 IIIA-­‐CSIC conversión de ArrayList a long [] java.lang.String[] convierte_ArrL_a_array_string(java.util.A rrayList<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 157 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 -­‐ 158 IIIA-­‐CSIC 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 159 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.OWLNa medIndividual> 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.OWLCl assAxiom> I) Conversión de tipo Set a ArrayList<arraylist> </arraylist Parameters: 160 IIIA-­‐CSIC 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.OWLC lass> 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 161 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 [] 162 IIIA-­‐CSIC 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.Arra yList<java.lang.String> l1, java.util.ArrayList<java.lang.String> l2) java.util.ArrayList<java.la borra_elemento_lista(java.lang.String e, ng.String> java.util.ArrayList<java.lang.String> l) java.util.ArrayList<java.ut borra_elementos_repetidos(java.util.Array il.ArrayList<java.lang.Strin List<java.util.ArrayList<java.lang.String g>> >> l) IIIA-­‐CSIC 163 java.util.ArrayList<java.la borra_elementos_repetidos(java.util.Colle ng.String> ction<java.lang.String> lc) boolean Concepto_en_Lista(java.lang.String S, java.util.ArrayList<java.lang.String> l) java.util.ArrayList<java.ut convierte_a_formato_listas(java.util.Arra il.ArrayList<java.lang.Strin yList<java.util.ArrayList<java.lang.Strin g>> g>> l) java.util.ArrayList<java.la convierte_ArLArL_a_ArL(java.util.ArrayLis ng.String> t<java.util.ArrayList<java.lang.String>> l) java.util.ArrayList<java.la Lista_intersección(java.util.ArrayList<ja ng.String> va.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.la ng.String>> l) 164 IIIA-­‐CSIC convierte_a_formato_listas public java.util.ArrayList<java.util.ArrayList<java.lang.String>> convierte_a_formato_listas(java.util.ArrayList<java.util.ArrayList<jav a.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 165 public class Impresión extends java.lang.Object Constructor Summary Impresión() Method Summary vo imprime_consulta(java.util.ArrayList<java.util.ArrayList<java.lang id .String>> ls) Imprime una lista de conceptos vo imprime_consulta(java.util.Collection<java.lang.String> ls) id Imprime una lista de conceptos vo imprime_consulta(double d) id Imprime un número vo imprime_datos(java.util.ArrayList<java.util.ArrayList<java.lang.St id ring>> d) vo Imprimir_Conceptos_de_Consulta(java.util.ArrayList<java.util.Array id List<java.lang.String>> ls) vo Imprimir_Consulta(java.util.Iterator<com.hp.hpl.jena.query.QuerySo id lution> rs) vo Imprimir_Consulta(com.hp.hpl.jena.query.ResultSet rs) id Methods inherited from class java.lang.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, 166 IIIA-­‐CSIC wait Constructor Detail Impresión public Impresión() Method Detail Imprimir_Consulta public void Imprimir_Consulta(java.util.Iterator<com.hp.hpl.jena.query.QuerySoluti on> 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.Str ing>> ls) Imprime una lista de conceptos Parameters: ls -­‐ lista de conceptos a imprimir IIIA-­‐CSIC 167 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) 168 IIIA-­‐CSIC 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 169 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) 170 IIIA-­‐CSIC