Download PROTOTIPO DE UN MODULO DE BUSQUEDA

Document related concepts
no text concepts found
Transcript
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