DESARROLLO DE UNA ONTOLOGÍA Y DE UN 
SISTEMA DE RECUPERACIÓN DE LA 
INFORMACIÓN PARA EL SECTOR DEL MUEBLE Y 
AFINES

PROYE...
A mis queridos padres y hermanos
por el tiempo y los momentos que no pude pasar con ellos.

II
AGRADECIMIENTOS 
 
 
 
 
Agradecer en primer lugar a Dios por darme fuerza y voluntad
para seguir adelante en los momentos...
IV
ÍNDICE GENERAL 
AGRADECIMIENTOS ..........................................................................  II 
I
0.  RESU...
4.  PROCESO DE INGENIERÍA .................................................. ­ 67 ­ 
.
4.1  INTRODUCCIÓN ....................
ÍNDICE DE FIGURAS  
 
Figura 2.1 Componentes de la interoperabilidad en una empresa ................................ - 8 F...
Figura 5.4 Ejemplo de búsqueda de Conjuntos de salón .......................................... - 127 Figura 5.5 Ejemplo d...
ÍNDICE DE TABLAS 
 
Tabla 3.1 Estimación de tiempos del proyecto ............................................................
X
0.

RESUMEN 

Este proyecto surge, en primer lugar, como iniciativa para promover el uso de un
vocabulario común y unifica...
CAPITULO 1 - INTRODUCCIÓN

1. INTRODUCCIÓN 
1.1 Introducción 
El rápido desarrollo de la sociedad de la información y de s...
CAPITULO 1 - INTRODUCCIÓN
automática, sin esfuerzo por parte del usuario.
El sector del mobiliario y afines (ámbito de est...
CAPITULO 1 - INTRODUCCIÓN
disponibles en la actualidad (RDF(S), OWL, SPARQL, etc.) y haciendo uso de la
ontología de mobil...
CAPITULO 1 - INTRODUCCIÓN
Personalmente, me pareció muy interesante contribuir, aunque fuera en pequeña
medida, al proyect...
CAPITULO 2 – ESTADO DEL ARTE

2. ESTADO DEL ARTE 
 
 

2.1 Necesidad de la interoperabilidad en la industria del 
mueble y...
CAPITULO 2 – ESTADO DEL ARTE

Interoperabilidad sintáctica. Se refiere a la capacidad de los SI para leer los
datos proced...
CAPITULO 2 – ESTADO DEL ARTE

Figura 2.1 Componentes de la interoperabilidad en una empresa

Los problemas derivados de la...
CAPITULO 2 – ESTADO DEL ARTE
La parte principal de comunicación de datos sucede entre los productores y los
minoristas, mu...
CAPITULO 2 – ESTADO DEL ARTE

2.2 FunStep 
El proyecto FunStep 

2.2.1.

El proyecto “funStep” surge debido a la necesidad...
CAPITULO 2 – ESTADO DEL ARTE

Para los proveedores de sistemas, las ventajas son las siguientes:





Incremento del m...
CAPITULO 2 – ESTADO DEL ARTE
ilimitadas, pero algunos de los usos previstos inicialmente incluyen:
Distribución de informa...
CAPITULO 2 – ESTADO DEL ARTE

2.2.2.1.

La herramienta Cadef 

Cadef (CAtalog DEFinition) es una herramienta de software p...
CAPITULO 2 – ESTADO DEL ARTE

Figura 2.3 Captura del Cadef enlazando productos a la ontología

- 14 -
CAPITULO 2 – ESTADO DEL ARTE

2.3 La Web Semántica 
2.3.1.

 Introducción a la Web de tercera generación 

El mundo de la ...
CAPITULO 2 – ESTADO DEL ARTE
la búsqueda de una Web más inteligente, en la que se pueda conseguir una
comunicación efectiv...
CAPITULO 2 – ESTADO DEL ARTE

Figura 2.4 Mapa conceptual de la Web semántica (Rodríguez, 2005)

La Web semántica se basará...
CAPITULO 2 – ESTADO DEL ARTE









XML (eXtensible Markup Language ), como base sintáctica para la
estructuración ...
CAPITULO 2 – ESTADO DEL ARTE

2.3.3.

Representación del conocimiento 

El concepto de documentos que las máquinas puedan ...
CAPITULO 2 – ESTADO DEL ARTE
reglas son usadas posteriormente por los motores de razonamiento para inferir
conocimiento a ...
CAPITULO 2 – ESTADO DEL ARTE
presentados en algún lenguaje formal (como OWL, DAML, DAML+OIL o
KIF/CL). Estos lenguajes se ...
CAPITULO 2 – ESTADO DEL ARTE

 Es flexible: los documentos XML pueden desarrollarse tal y como se quiera.
Nada impide a u...
CAPITULO 2 – ESTADO DEL ARTE

En el caso del comercio B2B, que XML no incluya ningún mecanismo para la
interpretación semá...
CAPITULO 2 – ESTADO DEL ARTE
primer orden o un subconjunto de ella (como las lógicas descriptivas). Es indispensable
dispo...
CAPITULO 2 – ESTADO DEL ARTE
otras. Por lo tanto, es razonable que haya una cierta divergencia entre sus múltiples
definic...
CAPITULO 2 – ESTADO DEL ARTE


Clases: representan los conceptos que forman el ámbito de la ontología. Los
conceptos son ...
CAPITULO 2 – ESTADO DEL ARTE
 Conceptos primitivos que aparecen en teorías, relaciones y
fórmulas que regulan o rigen el ...
CAPITULO 2 – ESTADO DEL ARTE
instancia de su clase padre. La organización de términos debe seguir una
relación de generali...
CAPITULO 2 – ESTADO DEL ARTE
2.3.5.4.1 Lenguajes tradicionales 
Los lenguajes de ontologías tradicionales se distinguen se...
CAPITULO 2 – ESTADO DEL ARTE
2.3.5.4.2 Lenguajes basados en estándares y en Web 
Estos lenguajes fueron desarrollados espe...
CAPITULO 2 – ESTADO DEL ARTE
 Declaraciones (objeto) los cuales nos sirven para dar valores a las propiedades
de un recur...
CAPITULO 2 – ESTADO DEL ARTE
RDF se puede emplear en cualquier campo: no se asocia a ningún dominio en
particular. Cada or...
CAPITULO 2 – ESTADO DEL ARTE
adicional sobre el recurso principal. P.e.,
http://www.vocabulario.es/aparatos </rdfs:seeAlso...
CAPITULO 2 – ESTADO DEL ARTE
OIL para favorecerse de los sistemas de clasificación basados en frames de este último.
El re...
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Modelo ontologico de muebles
Próxima SlideShare
Cargando en…5
×

Modelo ontologico de muebles

972 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
972
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Modelo ontologico de muebles

  1. 1. DESARROLLO DE UNA ONTOLOGÍA Y DE UN  SISTEMA DE RECUPERACIÓN DE LA  INFORMACIÓN PARA EL SECTOR DEL MUEBLE Y  AFINES PROYECTO FIN DE CARRERA Julio 2009 Realizado por: Mouna Ziouziou Dirigido por: Dr. Javier Samper Zapater
  2. 2. A mis queridos padres y hermanos por el tiempo y los momentos que no pude pasar con ellos. II
  3. 3. AGRADECIMIENTOS          Agradecer en primer lugar a Dios por darme fuerza y voluntad para seguir adelante en los momentos de desesperación. Y a mis padres por confiar en mí y apoyarme siempre. Agradecer especialmente a Miguel Ángel Abián, ya no solo por su gran ayuda, experiencia, dedicación e interés, sino también por su calidad como persona. Su apoyo, sin duda, ha sido esencial para la realización de este proyecto con éxito. Gracias Miguel Ángel. A mi tutor, Javier Samper por su dedicación y su gran experiencia, y por proporcionarme la ayuda necesaria para llevar a cabo este proyecto. A María José Núñez por ofrecerme la idea y darme la oportunidad de realizar este proyecto. A Javi Adel por su experiencia, la atención que me ha prestado y su preocupación cuando le he necesitado. A mis amigos, José Carlos, Lamia, Jorge y Fathía por haber sido mi familia aquí. Por escucharme y aguantarme en los momentos más difíciles. Os quiero. A mis amigos de la residenicia: Susana, Armando, Murad, Cris, etc. Por aquellos años tan especiales que hemos compartido. Os deseo mucha suerte en vuestras vidas. Gracias a todos los que he nombrado y a los que no he podido nombrar. III
  4. 4. IV
  5. 5. ÍNDICE GENERAL  AGRADECIMIENTOS ..........................................................................  II  I 0.  RESUMEN ....................................................................................... XI  1.  INTRODUCCIÓN ........................................................................ ­ 2 ­  1.1  INTRODUCCIÓN ......................................................................................................   2 ‐  ‐ 1.2  MOTIVACIÓN .........................................................................................................   4 ‐  ‐ . ‐ 1.3  OBJETIVOS  ............................................................................................................   5 ‐  2.  ESTADO DEL ARTE ................................................................... ­ 6 ­  2.1  NECESIDAD DE LA INTEROPERABILIDAD EN LA INDUSTRIA DEL MUEBLE Y AFINES ....................   6 ‐  ‐ 2.2  FUNSTEP ............................................................................................................ ‐ 10 ‐  2.2.1.  El proyecto FunStep ................................................................................ ‐ 10 ‐  2.2.2.  El estándar ISO funStep .......................................................................... ‐ 11 ‐  2.2.2.1.  La herramienta Cadef .................................................................... ‐ 13 ‐  2.3  LA WEB SEMÁNTICA ............................................................................................ ‐ 15 ‐  2.3.1.  Introducción a la Web de tercera generación ......................................... ‐ 15 ‐  2.3.2.  Descripción de la Web Semántica ........................................................... ‐ 16 ‐  2.3.3.  Representación del conocimiento ........................................................... ‐ 19 ‐  2.3.4.  XML: primer paso hacia la Web semántica ............................................ ‐ 21 ‐  2.3.5.  Ontologías ............................................................................................... ‐ 23 ‐  2.3.5.1  Elementos de una ontología .......................................................... ‐ 25 ‐  2.3.5.2  Tipos de Ontologías ....................................................................... ‐ 26 ‐  2.3.5.3  Ontologías frente a Taxonomías ................................................... ‐ 27 ‐  2.3.5.4  Lenguajes de ontologías ................................................................ ‐ 28 ‐  2.3.5.5  Metodologías y librerías para construcción de ontologías .......... ‐ 35 ‐  2.3.5.6  Herramientas para la construcción de Ontologías ....................... ‐ 40 ‐  2.3.6.  Bases de Conocimiento frente a Bases de Datos .................................... ‐ 43 ‐  2.3.7.  Sistemas de almacenamiento ................................................................. ‐ 43 ‐  2.3.8.  Razonadores ........................................................................................... ‐ 44 ‐  2.3.9.  Lenguajes de consulta  ............................................................................ ‐ 46 ‐  . 3.  METODOLOGÍA Y PLAN DE TRABAJO ............................. ­ 49 ­  3.1.  PLANIFICACIÓN Y GESTIÓN DEL PROYECTO ........................................................ ‐ 49 ‐  3.1.1.  Definición de recursos ............................................................................. ‐ 50 ‐  3.1.1.1 Recursos humanos ............................................................................ ‐ 50 ‐  3.1.1.2 Recursos del entorno ........................................................................ ‐ 51 ‐  3.1.2.  Planificación temporal ............................................................................ ‐ 51 ‐  3.1.2.1 Diagrama de Gantt ............................................................................. ‐ 56 ‐  3.2.  ESTIMACIÓN DE COSTES DEL PROYECTO ............................................................ ‐ 58 ‐  3.2.1.  Coste Laboral .......................................................................................... ‐ 58 ‐  3.2.1.1 Técnica basada en el proceso ........................................................... ‐ 59 ‐  3.2.1.2 El modelo COCOMO 2 ........................................................................ ‐ 61 ‐  V
  6. 6. 4.  PROCESO DE INGENIERÍA .................................................. ­ 67 ­  . 4.1  INTRODUCCIÓN ....................................................................................................   67 ‐  ‐ 4.2  ONTOLOGÍA FUNSTEP. CICLO DE VIDA.  ......................................................................   67 ‐  . ‐ 4.2.1.  Especificación de Requisitos ................................................................... ‐ 68 ‐  4.2.2.  Análisis del Modelo de Datos funStep .................................................... ‐ 69 ‐  4.2.3.  Adquisición de Conocimientos ................................................................ ‐ 77 ‐  4.2.4.  Especificación de la Ontología ................................................................ ‐ 79 ‐  4.2.5.  Decisiones de diseño ............................................................................... ‐ 80 ‐  4.2.6.  Construcción de la Ontología .................................................................. ‐ 84 ‐  4.3  APLICACIÓN DE BÚSQUEDA WEB ............................................................................ ‐ 94 ‐  4.3.1.  FASE DE ANÁLISIS .................................................................................... ‐ 94 ‐  4.3.1.1. Especificación de requisitos ............................................................ ‐ 95 ‐  4.3.1.2. Funcionalidades del sistema  ............................................................ ‐ 97 ‐  . 4.3.1.3. Casos de uso ...................................................................................... ‐ 98 ‐  4.3.1.4. Diagramas de Actividad .................................................................. ‐ 102 ‐  4.3.1.5. Análisis del interfaz de usuario ...................................................... ‐ 105 ‐  4.3.2.  FASE DE DISEÑO .................................................................................... ‐ 106 ‐  4.3.2.1. Diseño de la Aplicación ................................................................... ‐ 106 ‐  4.3.2.2. Diseño de la Interfaz de Usuario .................................................... ‐ 112 ‐  5.  IMPLEMENTACIÓN Y PRUEBAS ....................................... ­ 115 ­  5.1  FASE DE IMPLEMENTACIÓN .......................................................................... ‐ 115 ‐  5.1.1.  Implantación de la Ontología en la Aplicación ..................................... ‐ 117 ‐  5.1.2.  Notas de implementación ..................................................................... ‐ 119 ‐  5.2  PRUEBAS Y EVALUACIÓN ............................................................................... ‐ 122 ‐  5.2.1.  Fundamentos de la prueba ................................................................... ‐ 122 ‐  5.2.2.  Pruebas del sistema .............................................................................. ‐ 122 ‐  5.2.3.  Pruebas de Consistencia en la Ontología .............................................. ‐ 136 ‐  6.  CONCLUSIONES Y TRABAJO FUTURO ............................ ­ 139 ­  6.1.  6.2.  CONCLUSIONES ............................................................................................ ‐ 139 ‐  TRABAJO FUTURO ........................................................................................ ‐ 141 ‐  BIBLIOGRAFÍA ............................................................................ ­ 143 ­  ANEXOS ......................................................................................... ­ 145 ­    VI
  7. 7. ÍNDICE DE FIGURAS     Figura 2.1 Componentes de la interoperabilidad en una empresa ................................ - 8 Figura 2.2 Captura de pantalla de la herramienta Cadef ............................................ - 13 Figura 2.3 Captura del Cadef enlazando productos a la ontología ............................. - 14 Figura 2.4 Mapa conceptual de la Web semántica (Rodríguez, 2005) ....................... - 17 Figura 2.5 Esquema de la web semántica ................................................................... - 18 Figura 2.6 Ejemplo de documento XML .................................................................... - 21 Figura 2.7 Ejemplo de DTD del XML de la figura anterior ....................................... - 22 Figura 2.8 Las ontologías establecen redes semánticas .............................................. - 24 Figura 2.9 Diagrama de nodos y arcos. ...................................................................... - 31 Figura 2.10 Representación de tripletas RDF. ............................................................ - 31 Figura 2.12 Ingeniería y Adquisición Ontológica (Goble, 2002) ............................... - 38 Figura 2.11 Actividades del ciclo de vida del desarrollo de una ontología ................ - 37 Figura 2.13 El editor de ontologías Protégé-OWL. .................................................... - 41 Figura 2.14 Ejemplo de OILed 3.4 ............................................................................. - 42 Figura 2.15 Arquitectura de un Sistema Terminológico (Horrocks, 2001). ............... - 45 Figura 3.1 Descomposición del proyecto en tareas .................................................... - 54 Figura 3.2 Diagrama de Gantt .................................................................................... - 57 Figura 4.1 Implantación actual de la herramienta Cadef. ........................................... - 69 Figura 4.2 Estructura de un catálogo de datos ............................................................ - 70 Figura 4.3 Asignación de propiedades........................................................................ - 71 Figura 4.4 Diagrama de información detallada sobre Organisation .......................... - 72 Figura 4.5 Diagrama de Product_class y sus relaciones ............................................ - 73 Figura 4.6 Ejemplo de configuración detallada de un producto ................................. - 74 Figura 4.7 Ejemplo de propiedad dependiente de contexto........................................ - 76 Figura 4.8 Ejemplo de propiedad independiente del contexto ................................... - 76 Figura 4.9 Esquema de los conceptos mapeados a la ontología ................................. - 83 Figura 4.10 Diferentes niveles de la taxonomía de muebles ...................................... - 85 Figura 4.11 Jerarquía de Componentes de muebles ................................................... - 86 Figura 4.12 Propiedades de PieceOfFurniture. Resaltada hasMaterial ..................... - 87 Figura 4.13 Detalles de la propiedad hasMaterial ..................................................... - 88 Figura 4.14 Propiedad de tipo Datatype ..................................................................... - 90 Figura 4.15 Restricciones de las propiedades de Chair.............................................. - 91 Figura 4.16 Restricción de tipo hasValue para la clase Sofa ...................................... - 93 Figura 4.17 Diagrama de Casos de Uso. .................................................................... - 98 Figura 4.18 Caso de uso Buscar Muebles detallado. .................................................. - 99 Figura 4.19Caso de uso Buscar Composiciones detallado. ........................................ - 99 Figura 4.20 Diagrama de Actividad – Especificar tipo mueble ................................ - 102 Figura 4.21 Diagrama de Actividad – Realizar Búsqueda........................................ - 103 Figura 4.22 Diagrama de Actividad – Obtener detalles............................................ - 104 Figura 4.23 Vista de todos los objetos del sistema. .................................................. - 107 Figura 4.24 Diagrama de clases de la aplicación...................................................... - 109 Figura 4.25 Diagrama de Secuencia del escenario “Realizar Búsqueda” ................ - 110 Figura 4.26 Diagrama de Secuencia del escenario “Obtener detalles” .................... - 111 Figura 4.27 Interfaz de usuario ................................................................................. - 113 Figura 5.1 Prueba – El usuario elige buscar Composiciones. .................................. - 123 Figura 5.2 Prueba – El usuario elige buscar Camas Dobles. .................................... - 124 Figura 5.3 Ejemplo de búsqueda de muebles de un Fabricante................................ - 126 VII
  8. 8. Figura 5.4 Ejemplo de búsqueda de Conjuntos de salón .......................................... - 127 Figura 5.5 Ejemplo de búsqueda de Composiciones con camas .............................. - 128 Figura 5.6 Ejemplo de búsqueda de camas individuales con cabecero .................... - 129 Figura 5.7 Ejemplo de búsqueda de Sillas modenas en Valencia ciudad ................. - 130 Figura 5.8 Ejemplo de búsqueda de Sillas con un rango de precio .......................... - 131 Figura 5.9 Ejemplo de búsqueda de Mesas de salón cuadradas ............................... - 132 Figura 5.10 Obtener detalles del producto “Bedroom Syros 2” ............................... - 133 Figura 5.11 Obtener detalles del producto “Diez4 Single Bed” ............................... - 133 Figura 5.12 Obtener detalles del producto “Carlotta Chair” ................................... - 134 Figura 5.13 Obtener detalles del producto “Dubai Chair” ...................................... - 134 Figura 5.14 Obtener detalles del producto “Javea Table 031” ................................ - 135 Figura 5.15 Inconsistencias detectadas con Racer-Pro. ............................................ - 136 Figura 5.16 Chequeo de consistencia de la ontología con RacerPro ........................ - 137 Figura 6.1 Nueva implantación del Cadef (Versión beta). ....................................... - 142 -  VIII
  9. 9. ÍNDICE DE TABLAS    Tabla 3.1 Estimación de tiempos del proyecto ........................................................... - 55 Tabla 3.2 Estimación de tiempos del proyecto ........................................................... - 55 Tabla 3.3 Costes por hora de cada categoría .............................................................. - 59 Tabla 3.4 Costes de personal ...................................................................................... - 59 Tabla 3.5 Costes de material y equipo ........................................................................ - 60 Tabla 3.6 Valores de los atributos y valores multiplicativos asociados ...................... - 65 Tabla 4.1 Correspondencia de la Ontología con el modelo de datos .......................... - 75   IX
  10. 10. X
  11. 11. 0. RESUMEN  Este proyecto surge, en primer lugar, como iniciativa para promover el uso de un vocabulario común y unificado de términos que represente adecuadamente el significado (semántica) de los conceptos más usados en el sector del mueble y afines, con el objetivo de solventar el importante problema de la falta de interoperabilidad semántica que existe en esa industria. Este problema dificulta enormemente el intercambio de información entre fabricantes, distribuidores, comercios y clientes, y ralentiza el lanzamiento de nuevos productos al mercado. En segundo lugar, el proyecto surge para ofrecer una herramienta de búsqueda que facilite al usuario obtener información clara y precisa correspondiente a sus requisitos específicos de búsqueda (color del mueble, procedencia, dimensiones, precio, etc.). Algunos aspectos que describen los problemas actuales en cuanto a la búsqueda de información son:  Escasa precisión en los resultados. Algunas búsquedas generan decenas de miles de páginas que carecen de interés para el usuario; otras, por el contrario, no generan ninguna.  Alta sensibilidad al vocabulario empleado en la búsqueda. Si los documentos que realmente interesan no emplean exactamente el mismo vocabulario que la búsqueda, nunca aparecerán. La herramienta de búsqueda implementada permitirá al usuario final encontrar los muebles que busca; podrá especificar las características que desee y obtener información relevante sobre dichos muebles. Todo esto le permitirá, por ejemplo, comparar precios entre los distintos comercios y localizar física o virtualmente aquellos que le interesen. Para conseguir los objetivos marcados se han seguido las siguientes etapas:  Construcción de una ontología cuyo dominio es la información sobre la industria del mueble y afines. La ontología construida se ha basado en el estándar internacional de intercambio de información específico del sector del mueble funStep (ISO 10303-236).  Desarrollo de una base de conocimiento que almacene información sobre el sector del mobiliario y afines (empresas, muebles, accesorios, telas, materiales, componentes, etc.) expresada en un lenguaje formal (OWL).  Desarrollo de una herramienta de búsqueda semántica que usará los conceptos de la ontología y la información almacenada en la base de conocimiento. El lenguaje de búsqueda escogido ha sido SPARQL.   XI
  12. 12. CAPITULO 1 - INTRODUCCIÓN 1. INTRODUCCIÓN  1.1 Introducción  El rápido desarrollo de la sociedad de la información y de sus tecnologías ha hecho posible la superación de retos como el almacenamiento de datos. La comunicación entre sistemas de información heterogéneos y distantes geográficamente es también otro problema resuelto gracias a Internet y a la universalidad de sus protocolos de comunicación. Con todo, aún existen algunos retos que superar. A saber: la búsqueda de información y su integración. El ejemplo más claro se encuentra en Internet. A pesar de la cantidad de información abrumadora en la red, no siempre el usuario encuentra lo que desea cuando emplea buscadores basados en palabras clave, y muchas veces tarda demasiado tiempo en encontrar la información deseada. Según muchos autores, la solución a estos radica en el uso de metadatos y ontologías. Los metadatos son datos que a su vez describen datos, y denotan cualquier tipo de información sobre la estructura y el contenido de un recurso, ya sea un documento HTML, una imagen, un documento de vídeo, un conjunto de datos o cualquier otro recurso. En el campo del almacenamiento y recuperación de la información, los metadatos permiten acceder más fácilmente a los recursos que los incluyen. Una de las facetas más interesantes de los metadatos es su utilidad para conseguir la interoperatividad entre diferentes sistemas de información, que pueden estar basados en distintas concepciones y tecnologías. Los metadatos estructuran solamente los contenidos; las ontologías permiten estructurar la semántica (significado) de un recurso. Las ontologías establecen formalmente los conceptos de un cierto dominio –la palabra dominio denota un área específica de interés o un área de conocimiento– y sus relaciones, pudiendo ser compartidas por todos. Toda ontología representa cierta visión del mundo con respecto a un dominio. Su uso proporciona una forma de representar y compartir conocimiento haciendo uso de un vocabulario común e inambiguo. Las ontologías favorecen la comunicación entre personas, organizaciones y aplicaciones porque proporcionan una comprensión común de un dominio, de modo que se eliminan confusiones conceptuales y terminológicas. Favorecen también la comunicación entre aplicaciones y la comprensión común de la información entre ellas. Serán imprescindibles tanto en la Web semántica como en los futuros sistemas de gestión empresarial porque permitirán que las aplicaciones estén de acuerdo en los términos que usan cuando se comunican. Mediante ellas, será mucho más fácil recuperar información relacionada temáticamente. Empresas como Autonomy, FAST, Endeca y Newssift ya trabajan con herramientas semánticas para gestionar los datos incluidos en los centros de datos de grandes compañías y realizar búsquedas en ellos. Las ontologías sirven también para conseguir que los sistemas interoperen. Dos sistemas son interoperables si pueden trabajar conjuntamente de una forma -2-
  13. 13. CAPITULO 1 - INTRODUCCIÓN automática, sin esfuerzo por parte del usuario. El sector del mobiliario y afines (ámbito de este proyecto) se vio afectado por el problema de la falta de interoperabilidad, y en el año 1998 nació el proyecto funStep con los siguientes objetivos principales:  Generar un modelo de información común para el mueble.  Desarrollar un método telemáticamente. común para el intercambio de información En definitiva, el proyecto funStep vino a mejorar la interoperabilidad (sintáctica) en el sector mobiliario, con las ventajas que ello conlleva: la interoperabilidad ayuda a las empresas a producir bienes y servicios más rápidamente y a un coste más reducido. Este proyecto culminó en el estándar internacional de intercambio de información del sector mobiliario: ISO 10303-236. El departamento de Tecnologías de de Información (TI) de AIDIMA, empresa donde se ha realizado este proyecto y una de las empresas colaboradoras en funStep, tuvo la iniciativa de ir más allá e intentar conseguir la interoperabilidad completa (sintáctica y semántica) entre las empresas del sector mobiliario. La falta de esta interoperabilidad en el comercio electrónico B2B produce grandes problemas, como por ejemplo la dificultad de comunicación entre empresas que definen de diferente manera objetos de negocio como “pedido” o “producto”; o la dificultad de realizar transacciones electrónicas dos empresas que entienden “precio” de distintas maneras (verbigracia, porque usan distintas monedas o porque una considera el IVA incluido en el precio y la otra no). La construcción de una ontología que defina los conceptos relacionados con el sector mobiliario, proporcionando así un vocabulario común, aumentaría la competitividad de las empresas, su flexibilidad y eficiencia. Y daría lugar a beneficios económicos tanto para las empresas como los consumidores. Por ello, la primera meta de este proyecto es conseguir dicha ontología, que permitirá catalogar la información mediante el significado de las palabras relacionadas con el sector en cuestión. Gracias al conocimiento almacenado en ella, las aplicaciones podrán extraer automáticamente o semiautomáticamente datos de las páginas web, procesarlos y realizar inferencias a partir de ellos, así como tomar decisiones y negociar con otros agentes o personas. Otro de los problemas importantes en el sector mobiliario en cuanto a las TI, y que puede mejorarse mucho con el uso de la ontología, es la búsqueda de información relacionada con los muebles y afines (telas, accesorios, materiales, etc.). A día de hoy existe en la web algún que otro buscador de comercios de muebles, fabricantes o proveedores y existen páginas web de algunos comercios y fabricantes donde en ocasiones aparecen expuestos sus productos. Sin embargo, no existe una herramienta que permita al usuario encontrar un mueble del tipo que quiera, con las características que desea, comparar precios de distintos comercios, consultar distintos catálogos y, sobre todo, obtener resultados exactos que se ajusten a sus necesidades, sin tener que perder mucho tiempo. Esto se puede conseguir empleando las tecnologías semánticas -3-
  14. 14. CAPITULO 1 - INTRODUCCIÓN disponibles en la actualidad (RDF(S), OWL, SPARQL, etc.) y haciendo uso de la ontología de mobiliario y afines creada. Con el fin de desarrollar una de las muchas posibles aplicaciones que ofrece la ontología (catalogación electrónica, integración automática de catálogos electrónicos de distintos fabricantes, anotación semántica de recursos relacionados con muebles, introducción de muebles y complementos en marketplaces, etc.), se establece como segunda meta para este proyecto final de carrera el desarrollo de un prototipo de buscador de información sobre muebles que utilice la ontología de mobiliario y afines para resolver una serie de consultas de gran interés para los usuarios. A diferencia de los buscadores convencionales, el nuevo buscador permite realizar consultas estructuradas; es decir, no basadas simplemente en la concordancia de una serie de palabras clave. 1.2 Motivación  La idea de realizar este proyecto surgió durante una entrevista que mantuve con la directora del departamento de Tecnologías de la Información (TI) de AIDIMA, Dña. María José Núñez, donde realicé prácticas en empresa durante el curso 2007/08. Este departamento ha participado en docenas de proyectos internacionales relacionados con las tecnologías de la información; y ha desarrollado y promueve funStep (ISO 10303236), el estándar internacional en el sector del mueble para el intercambio de información en sistemas CAD. En el momento de la entrevista quería comenzar mi proyecto final de carrera y me interesaba que estuviera relacionado con el uso de ontologías y búsquedas semánticas, pues lo considero un campo de la informática con mucho futuro. Este interés lo despertó en mí por primera vez el catedrático D. Gregorio Martín durante las clases de la asignatura TIC (Tecnologías de la Información y de la Comunicación). Posteriormente, adquirí unos conocimientos básicos sobre RDF y ontologías en la asignatura IST (Ingeniería de Servicios Telemáticos) que nos impartió el Dr. Javier Samper, experto en este campo y tutor de este proyecto final de carrera. Cuando empecé a leer sobre Web Semántica, al igual que mucha gente, me pareció fascinante la idea de dotar a la web actual de inteligencia y expresar los datos de manera que sea comprensible para las máquinas, y que permita hacer deducciones automáticas a partir de ellos, consiguiendo así que las máquinas liberen a los humanos de muchas tareas tediosas. Durante aquella entrevista en AIDIMA la directora de TI me explicó que tuvieron una iniciativa hace unos 3 años, junto con otros centros colaboradores, de fomentar la utilización de un vocabulario común y unificado en la industria del mueble y afines. Para ello, se comenzó a construir una jerarquía que clasificara términos de muebles; pero esto se quedó solamente en documentos y hojas Excel, a medio hacer debido a la prioridad y urgencia de otros proyectos. En consecuencia, me ofreció la idea de construir una ontología que clasifique y defina formalmente los conceptos más usados del sector en cuestión, así como la de desarrollar un prototipo de buscador que utilice los conceptos de la ontología creada, para probarla y demostrar algunas de las funciones y posibilidades que tiene el uso de esta ontología. Para ello puso a mi disposición a D. Miguel Ángel Abián, investigador de AIDIMA con más de 14 años de experiencia en proyectos de I+D nacionales e internacionales. -4-
  15. 15. CAPITULO 1 - INTRODUCCIÓN Personalmente, me pareció muy interesante contribuir, aunque fuera en pequeña medida, al proyecto de la Web semántica, estableciendo semántica en un dominio como el del mobiliario y afines. Éste es un sector relevante y estratégico para la Comunidad Valenciana y carece de un vocabulario común, imprescindible para la catalogación de sus productos y para la interoperabilidad entre sus empresas. 1.3 Objetivos  El proyecto tiene unos objetivos bien definidos que son los siguientes: 1) Definir un vocabulario común, expresado formalmente, para representar información relacionada con el sector del mobiliario y afines (telas, accesorios, materiales, etc.). Esto es, desarrollar una ontología que defina los conceptos más usados en la industria del mobiliario y afines, sus propiedades y las relaciones entre ellos. Esta ontología debe basarse en funStep, el estándar internacional de intercambio de información en sistema CAD. 2) Crear una base de conocimiento que almacene algunas instancias de muebles e información relacionada con el sector, con el fin de probar la ontología creada. 3) Desarrollar un prototipo de una aplicación web de búsqueda de muebles, basada en tecnología semántica y que utilice los conceptos de la ontología y la información almacenada en la base de conocimiento para resolver consultas que sean del interés de los usuarios. -5-
  16. 16. CAPITULO 2 – ESTADO DEL ARTE 2. ESTADO DEL ARTE      2.1 Necesidad de la interoperabilidad en la industria del  mueble y afines    La interoperabilidad no es una palabra de moda: las sociedades industriales y postindustriales deben su existencia a la interoperabilidad. El gran logro de Henry Ford consistió justamente en introducir un sistema donde las piezas se podían intercambiar y ensamblar de manera sencilla; es decir, un sistema de componentes interoperables. Antes de Ford las piezas se construían y se ensamblaban de manera personalizada para cada automóvil. Igualmente, el éxito de la industria electrónica y de la telefonía, sea móvil o fija, se deben a la interoperabilidad. En electrónica se pueden construir circuitos ensamblando componentes de distintos fabricantes, si uno se estropea puede cambiarse por un componente de otro fabricante. Y por último, en telefonía, redes telefónicas de países distintos, cada una con sus estándares y componentes telemáticos, interoperan para que personas separadas por miles de kilómetros puedan hablar. Para entender bien esto, veamos algunas definiciones de interoperabilidad:  La capacidad de dos entidades (típicamente aplicaciones de software) para cooperar intercambiando mensajes.  La capacidad de interpretar datos de manera uniforme (un comando u orden es una clase particular de datos) a través de aplicaciones de software, a pesar de que éstas tengan diferentes sistemas de símbolos.  La capacidad para compartir e intercambiar datos que usan sintaxis y semánticas comunes para encontrar una relación funcional de aplicación específica empleando un interfaz común. Según la IEEE (Institute of Electrical and Electronics Engineers) la interoperabilidad es: “La capacidad de dos o más sistemas o componentes para intercambiar información (interoperabilidad técnica y sintáctica) y usar la información que ha sido intercambiada (interoperabilidad semántica)”. Existen tres niveles de interoperabilidad, mencionados en el párrafo anterior (Abián, 2005): Interoperabilidad técnica. Se refiere a la capacidad de dos sistemas informáticos (SI) de intercambiar señales. Exige una conexión física y un conjunto de protocolos de comunicación. Que dos SI interoperen técnicamente no significa que puedan intercambiar datos, pues para esto se precisa que los SI usen un mismo formato para el intercambio de datos. -6-
  17. 17. CAPITULO 2 – ESTADO DEL ARTE Interoperabilidad sintáctica. Se refiere a la capacidad de los SI para leer los datos procedentes de otros SI y obtener una representación que puedan usar. Es decir, en todos los SI involucrados, tanto la codificación de los datos como los protocolos de comunicación deben ser compatibles. Esto no implica que los SI procesen los datos de una manera consistente con su significado. Interoperabilidad semántica. Es la capacidad de los SI de intercambiar la información basándose en un común significado de los términos y expresiones que usan. Consideremos por ejemplo, dos SI en los que uno trabaja con facturas donde el campo “Importe” significa el “Importe de la factura en dólares”; y el otro, con facturas donde ese campo significa el “Importe de la factura en euros”. Evidentemente, ambos SI carecen de interoperabilidad semántica. La interoperabilidad semántica no debe confundirse con la sintáctica: ésta se refiere a la dificultad de procesar automáticamente los datos, no a su “contenido”. Aquella se refiere a la dificultad de relacionar los términos desconocidos que aparecen en los datos con los ya conocidos o definidos. La interoperabilidad semántica no puede existir antes de la técnica y de la sintáctica. La interoperabilidad es muy importante para las empresas porque ayuda a producir bienes y servicios más rápidamente, a coste más reducido, manteniendo los niveles de calidad y personalización más altos. Las empresas y organizaciones deben ser capaces de adaptarse a cambios del mercado por la externalización eficiente y estrategias de colaboración (Abián et al., 2004). A pesar de que muchas aplicaciones usen tecnologías unificadas (p.ej., XML para describir datos) los modelos de datos y de negocio permanecen heterogéneos. Incluso nociones muy comunes, como “pedido” o “cliente” pueden variar enormemente entre distintas aplicaciones. Esto significa que hay una falta de interoperabilidad semántica en el comercio electrónico B2B, que produce grandes problemas: ¿Cómo van a entenderse empresas que definen de manera distinta objetos de negocio como “pedido” o “producto”? ¿Cómo van a realizar transacciones electrónicas dos empresas que entienden “precio” de distintas maneras (una como la cantidad que figura en su catálogo; otra, como esa cantidad más impuestos y más gastos de envío)? Para conseguir la interoperabilidad se necesita integrar tres componentes temáticos (Vallespir et al., 2004):  Arquitecturas y plataformas para proporcionar la implementación de soluciones.  Un modelo de negocio para definir los requisitos de la interoperabilidad y apoyar la implementación de soluciones.  Ontologías para identificar semánticas de interoperabilidad en la empresa. -7-
  18. 18. CAPITULO 2 – ESTADO DEL ARTE Figura 2.1 Componentes de la interoperabilidad en una empresa Los problemas derivados de la interoperabilidad provienen de los procesos necesarios para el intercambio de información electrónicamente. En general, las PYMES ven la interoperabilidad como una cuestión técnica y no como una capacidad (Magali et al., 2004). Centrándonos en el sector del mobiliario, vamos a ver los problemas de la interoperabilidad relacionados con ontologías: Debido a que las PYMES no usan un vocabulario común, existe una falta de diccionarios de datos interoperables. Varias grandes organizaciones de estándares que han desarrollado los diccionarios de datos electrónicos han reconocido que una parte de la solución de este problema es la armonización entre los diccionarios internacionales disponibles. El primer paso para el intercambio de información entre los componentes económicos de las fronteras nacionales es la capacidad de utilizar la misma terminología. Hay una gran necesidad de transferir datos –diseños CAD, pedidos, albaranes, facturas, etc.- de forma estructurada entre fabricantes, distribuidores, clientes, etc. En la industria de diseño de interiores, hoy en día esto es casi imposible de hacer sin grandes inversiones por parte de cada uno de los fabricantes. La única manera de simplificar y hacer más eficiente este proceso es llegar a un acuerdo sobre una ontología común para los datos relacionados con el producto. Por ejemplo, la palabra «mueble» es aplicable a una gran variedad de productos con diferentes características. Para poder definir una “mesa de oficina ajustable eléctricamente” o una “cama de hospital”, se necesita poder seleccionar criterios para aparatos eléctricos. Y para ser capaces de definir mobiliario con componentes de iluminación, como muebles de baño con luminarias, debe poderse seleccionar criterios relativos a la iluminación. -8-
  19. 19. CAPITULO 2 – ESTADO DEL ARTE La parte principal de comunicación de datos sucede entre los productores y los minoristas, muchas veces con uno o varios agentes / distribuidores entre ellos. No basta encontrar una solución de la parte de recepción para los proveedores de mobiliario; los minoristas también reciben datos de los proveedores de componentes de iluminación, telas, etc. Otros receptores de información que necesitan manejar más información que los datos de muebles son los agentes de información de Internet, los desarrolladores de software, los arquitectos y diseñadores de interiores etc. En este sentido, la ontología debe ser capaz de manejar casi todos los productos manejados por los receptores de información. Algunos ejemplos:  Producto = Nombre usado para un producto de diseño de interior u exterior o parte de un producto que se vende como un producto por separado  Ejemplos de productos de diseño de interiores: Sofá-cama, mesa de comedor, armario de cocina, mesa de oficina ajustable eléctricamente  Productos de diseño de exteriores: Banco, mesa de jardín, macetero, hamaca.  Partes de productos que se pueden vender como productos separados: cabecero (para una cama), barra o palo (para una lámpara).  Productor = Nombre para el productor o fabricante de un producto. Finalmente, veamos algunos aspectos tenidos en cuenta en el trabajo de clasificación de la ontología objeto de este proyecto:  Las organizaciones relacionadas con la industria del mobiliario deberán clasificarse en diferentes categorías de empresas, como fabricante, distribuidor y minorista.  Se deben definir dimensiones y unidades que se utilizarán a la hora de transferir datos de producción, de catálogos y de comercio electrónico.  Los materiales usados en la industria del mueble se deben describir y agrupar en diferentes clases. La existencia de una ontología del mueble permitirá, en principio, la interoperabilidad entre los SI de las empresas del mueble y afines, lo cual implica una serie de ventajas en cuanto a la competitividad de las empresas, flexibilidad, eficiencia, así como beneficios económicos, tanto para las empresas como los consumidores. -9-
  20. 20. CAPITULO 2 – ESTADO DEL ARTE 2.2 FunStep  El proyecto FunStep  2.2.1. El proyecto “funStep” surge debido a la necesidad que tienen los fabricantes y tiendas de mobiliario de intercambiar información de producto, tanto gráfica como textualmente independiente del sistema informático utilizado. En el mercado hay disponible una amplia oferta de sistemas de CAD especializados en la decoración de interiores, pero esos sistemas no permiten el intercambio de información entre ellos. Por otro lado, no existe una solución completa para la industria del mueble basada en EDI (Electronic Data Interchange). La mayoría de los fabricantes y sus clientes consideran esta incompatibilidad como el principal escollo para rentabilizar las inversiones, de forma que deciden retrasar la decisión, esperando a que se clarifique la situación del mercado. Como consecuencia, no mejoran la gestión de la información ni el servicio al cliente. Por otro lado, es necesario poder comprobar a priori la compatibilidad entre sistemas con el objetivo de evitar problemas a posteriori en el intercambio de información, que aparecerían en la relación diaria con el cliente. Debido a este importante problema industrial nació el proyecto funStep en 1998 con los siguientes objetivos:      Generación de un modelo de información común para el mueble. Desarrollo de los traductores necesarios para algunos sistemas CAD comerciales, especializados en el mueble. Desarrollo de métodos de comprobación y certificación de programas CAD conformes con el modelo funStep. Desarrollo de un método común para el intercambio de información vía telemática. Demostración de la compatibilidad de sistemas CAD comerciales, intercambiando información en un entorno industrial. En definitiva, funStep busca mejorar la interoperabilidad en el sector del mueble y afines. El impacto industrial que tiene el proyecto incide en dos grupos: fabricantes y comercios, y proveedores de sistemas. En cuanto a los fabricantes y comercios de mobiliario se presentan las siguientes ventajas:       Sistemas compatibles en el mercado. Aseguramiento de la inversión. Mejora del servicio al cliente. Reducción de la carga de trabajo no productivo. Apertura a la posibilidad del Comercio Electrónico. Reducción del tiempo de lanzamiento al mercado de nuevos productos. - 10 -
  21. 21. CAPITULO 2 – ESTADO DEL ARTE Para los proveedores de sistemas, las ventajas son las siguientes:     Incremento del mercado real. Incremento de la confianza del cliente en el producto CAD. Los recursos de desarrollo pueden aplicarse a la mejora del producto, liberándolos de la introducción de librerías de fabricantes. Una nueva funcionalidad en los paquetes: módulos para intercambio de datos vía telecomunicaciones. El estándar ISO funStep  2.2.2. FunStep es una iniciativa nacida en 1998 – como ya se ha mencionado anteriormente - alrededor de la ISO funStep, el estándar internacional para el intercambio de datos en las industrias del muebles y de diseño de interiores, formalmente conocida como la ISO 10303-236 " Sistemas de automatización industrial e integración - representación e intercambio de los datos de Producto - Parte 236: Protocolo de aplicación: Catálogo de muebles y diseño de interiores”. Este estándar considera asuntos como:       Product catalogue data (Información de productos de catálogo) Pricelists (Precios) Product Composition (Composición de productos) Product Breakdown (Desglose de producto) Properties (Propiedades) Parametric product configuration (parámetros de configuración de productos)  Multilingual data (Multilenguaje)  Documentation assignment (asignación de documentación)  Más. El estándar interpreta la información de datos de producto (materiales, acabados, medidas, especificaciones…). Estandariza los datos a intercambiar entre los distintos agentes de la cadena de valor (proveedores, fabricante, comercios) y también con los diseñadores y arquitectos. Proporciona a través de un modelo de datos común, un mecanismo neutro capaz de describir productos a través de su ciclo de vida: requisitos, tarifa técnica, diseño detallado, procesos de fabricación, escandallo, asociación con geometría, catalogación estructurada, gestión documental relacionada con pedidos, etc. La información es representada en XML (eXtensible Markup Language), facilitando el envío de los datos antes mencionados entre las diferentes compañías y los distintos sistemas informáticos. El modelo se describe también en diagramas UML (Unified Modeling Language) haciéndolo compatible con sistemas de bases de datos relacionales. Las posibles aplicaciones del modelo de datos funStep son prácticamente - 11 -
  22. 22. CAPITULO 2 – ESTADO DEL ARTE ilimitadas, pero algunos de los usos previstos inicialmente incluyen: Distribución de información de catálogos de muebles desde una fuente única a varios portales web. La combinación de datos de los catálogos de varias fuentes en un único sistema de gestión de venta al por menor. La importación de especificaciones de componentes de múltiples proveedores en un diseño de muebles o sistema de fabricación. Generación de ventas de materiales en formato impreso y electrónico. Intercambio y la reutilización de modelos de información gráfica. Proporcionar datos de productos para el diseño de interiores y diseño de herramientas (por ejemplo, software de diseño de la cocina o el cuarto de baño). El beneficio principal de la adopción del modelo de datos de la Norma ISO funStep es el aumento de la eficiencia que se deriva de compartir datos entre distintos sistemas informáticos, sin la necesidad de volver a introducir la información, reduciendo así las posibilidades de errores humanos y el tiempo de transacción de extremo a extremo. Para el desarrollo de nuevo software o nuevas aplicaciones web es posible reutilizar el modelo de datos funStep ya creado en lugar de gastar tiempo y esfuerzo en el desarrollo de una base de datos desde cero. Usar los sistemas del estándar ISO funStep significa que, por ejemplo, los proveedores de componentes puedan proporcionar la información técnica completa sobre sus productos a los fabricantes que, a su vez, pueden proporcionar información sobre los productos a los minoristas, publicar catálogos, operar con los sistemas de comercio electrónico, gestión de sistemas de control de existencias o el suministro de datos para el diseño de interiores, todo, sin la necesidad de introducir ningún dato más de una vez. Como se verá más adelante, la norma funStep se ha utilizado en el desarrollo de la ontología del mueble y afines, pues constituyó el primer paso para lograr la interoperabilidad entre los SI de las empresas de este sector. Como ejemplo de aplicación de este estándar se presenta la herramienta de definición de catálogos: Cadef (CAtalog DEFinition). Mediante esta herramienta se generan los catálogos electrónicos de muebles, que se pueden representar en ficheros XML. En el diseño de la ontología se tendrá en cuenta el modelo de datos de esta aplicación ya que en un futuro se pretende enlazarla con la ontología para transcribir los ficheros XML a RDF y obtener un modelo semántico. Los ficheros obtenidos en OWL contendrán las instancias de muebles. - 12 -
  23. 23. CAPITULO 2 – ESTADO DEL ARTE 2.2.2.1. La herramienta Cadef  Cadef (CAtalog DEFinition) es una herramienta de software para el proceso de generación de catálogo de las empresas relacionadas con la industria del mueble. Como herramienta de configuración, permite la definición y la gestión de especificaciones de los productos. Dado que esta herramienta está construida bajo el estándar funStep, soporta varias funcionalidades adicionales interesantes para el fabricante: vínculos multimedia, enlaces a dibujos CAD2D y 3D, el desglose de productos, restricciones, precios según configuración, definición de las partes constituyentes de un mueble, materiales, telas, herrajes,… Al ser una herramienta nativa de implementación del estándar funStep, genera un fichero XML siguiendo las especificaciones de ISO. En la figura 2.2 se muestra una captura de pantalla del Cadef. Y en la figura 2.3 se muestra su implantación actual, enlazándola con la ontología funStep que se ha creado en el presente proyecto. Figura 2.2 Captura de pantalla de la herramienta Cadef - 13 -
  24. 24. CAPITULO 2 – ESTADO DEL ARTE Figura 2.3 Captura del Cadef enlazando productos a la ontología - 14 -
  25. 25. CAPITULO 2 – ESTADO DEL ARTE 2.3 La Web Semántica  2.3.1.  Introducción a la Web de tercera generación  El mundo de la WWW ha permitido en la última década disponer de un volumen de información que hasta el momento era impensable por vías tradicionales. Esto, al mismo tiempo que ha propiciado el éxito de la Web, también ha originado sus principales problemas: sobrecarga de información y heterogeneidad de fuentes de información, lo cual resulta en un grave problema de interoperabilidad. La Web actual no incluye mecanismos para la interoperabilidad completa de los sistemas de información (SI) basados en la Web. Dicho de otra manera: no facilita la creación de una comprensión común y compartida de un dominio, de forma que ésta pueda ser usada por personas, organizaciones y máquinas. Esta falta de interoperabilidad produce grandes problemas en el comercio electrónico B2B como se ha comentado en apartados anteriores. El problema de la sobrecarga de información provoca dificultad para acceder a la información de la Web. Para ilustrar el problema, el ejemplo de los buscadores actuales es muy indicativo. Los motores de búsqueda de la Web actual se dedican a encontrar ocurrencias de las palabras, que les hemos indicado anteriormente, en la ingente cantidad de datos que fueron capaces de almacenar sus robots. Las ocurrencias se basan en la exactitud de las palabras que elegimos para buscar. Esto obliga a una cierta pericia en la elección de la palabra precisa para encontrar el documento correcto. Y como bien sabemos los usuarios habituales de buscadores, eso provoca que a veces sea necesario consultar docenas o cientos de páginas hasta encontrar la información deseada. Hasta el momento la intervención humana resulta imprescindible para seleccionar la información que uno desea. Si las páginas web se escribieran en un lenguaje que permitiera almacenar semántica, los buscadores web encontrarían no solo las páginas donde aparecieran las palabras de la búsqueda, sino también todas aquellas páginas donde hubiera sinónimos de esas palabras. No son los buscadores web los responsables finales de la dificultad para encontrar información en la Web, sino el lenguaje utilizado para construir las páginas web: HTML. Este lenguaje de etiquetado sólo permite especificar cómo se va a mostrar una página HTML, pero resulta inútil para dar “contexto” a una página. HTML no proporciona semántica a los datos. Los problemas comentados anteriormente ocasionan que el usuario nunca tenga la garantía de que ha encontrado toda la información relevante para su consulta. No debemos olvidar que los usuarios no pueden acceder a la información almacenada en imágenes, vídeos o archivos de sonido. En todo caso, pueden acceder a las descripciones textuales de esos archivos, si tienen. En caso contrario, el buscador jamás lo encontrará. La Web semántica propone superar las limitaciones anteriormente citadas de la Web actual, permitiendo a los usuarios delegar tareas en el software. Tiene como visión - 15 -
  26. 26. CAPITULO 2 – ESTADO DEL ARTE la búsqueda de una Web más inteligente, en la que se pueda conseguir una comunicación efectiva entre ordenadores, y centra sus esfuerzos principalmente en la búsqueda de descripciones enriquecidas semánticamente para los datos en la Web. En este sentido, se promueven descripciones que incluyan, no solo las estructuras de datos, sino también las relaciones existentes con otros conceptos, las restricciones, reglas que permitan realizar inferencia, etc. Asimismo, se promueve la definición y reutilización de vocabularios y ontologías de conceptos que faciliten el procesamiento por parte de las máquinas (Berners-Lee, 2001). Éstas podrán, al igual que las personas, encontrar, leer, comprender (en el sentido de formular inferencias) y usar los datos de la WWW; lo cual permitirá la mejora del comercio electrónico y la búsqueda de información de manera eficaz y precisa. 2.3.2. Descripción de la Web Semántica   La Web semántica es “una extensión de la Web actual en la que se proporciona la información con un significado bien definido, mejorando la forma en que los ordenadores y las personas trabajan en cooperación” (Berners-Lee, 2001). La definición formal de la Web semántica dada por el W3C se resume en las siguientes líneas: El propósito de la iniciativa de la Web semántica es tan amplio como el de la Web: crear un medio universal para el intercambio de datos. Se considera para interconectar eficazmente la gestión de la información personal, la integración de las aplicaciones empresariales y compartir globalmente datos comerciales, científicos y culturales. Los servicios para poner datos comprensibles por las máquinas se están convirtiendo rápidamente en una propiedad para muchas organizaciones, individuos y comunidades. La Web sólo puede alcanzar todo su potencial si llega a ser un sitio donde se puedan compartir datos y sean procesados por herramientas automáticas, así como por personas. Para adaptarse a la Web, los programas del mañana deben ser capaces de compartir y procesar datos incluso cuando estos programas se hayan diseñado de forma completamente independiente. La Web semántica es una iniciativa del consorcio World Wide Web (W3C), diseñada para desempeñar un papel de liderazgo en la definición de la Web. Éste desarrolla especificaciones abiertas para aquellas tecnologías que están preparadas para distribuciones a gran escala, e identifica -mediante el desarrollo avanzado de código abierto- los componentes de la infraestructura que en el futuro se necesitarán adaptar a la Web. En la figura 2.4 se muestra el mapa conceptual de la Web semántica, orientado a la comprensión, de forma general, de los componentes y tecnologías que integran el modelo de la Web semántica, desarrollado por el Institute for Human and Machine Cognition (IHMC) de Florida. - 16 -
  27. 27. CAPITULO 2 – ESTADO DEL ARTE Figura 2.4 Mapa conceptual de la Web semántica (Rodríguez, 2005) La Web semántica se basará en que las máquinas comprendan el significado de la información disponible en ella; de ahí el adjetivo “semántica”. En el caso de los humanos, comprender un signo o una palabra no es nada extraordinario, nuestro cerebro lo asocia a los conceptos que ha ido almacenando a lo largo de los años, digamos que la interpretación semántica la proporcionan nuestras estructuras neuronales. Pero para las máquinas actuales, “comprender” no debe entenderse en el sentido de “comprensión humana”, sino en el sentido de “inferir, deducir”. Que las máquinas entiendan o comprendan los datos significa que, mediante procesos lógico-matemáticos, sean capaces de inferir conclusiones a partir de los datos. Hoy en día, existen ya - según diversos autores - las tecnologías que llevarán a la Web semántica. Tim Berners-Lee (Berners-Lee, 1998) ideó una infraestructura de lenguajes y mecanismos, dividida en varias capas o niveles, para poder llevar a cabo la idea de la Web Semántica. El diagrama de la figura 2.5, presentado por Berners-Lee en la XML Conference del año 2000, puede servir como aproximación visual al conjunto de tecnologías que forman el esquema de capas mencionado, cuyos componentes son:  Estándares para la localización de recursos de información en el web de forma inequívoca y única como son los URIs (Uniform Resource Identifiers) y la norma internacional Unicode para la codificación de caracteres a nivel internacional. - 17 -
  28. 28. CAPITULO 2 – ESTADO DEL ARTE      XML (eXtensible Markup Language ), como base sintáctica para la estructuración del contenido en el web, así como el empleo de espacios de nombres (Namespaces) para asociar con precisión cada propiedad con el esquema que define dicha propiedad y esquemas (XML Schema ) para definir qué elementos debe contener un documento XML, cómo están organizados, qué atributos y de qué tipo pueden tener sus elementos. Un modelo básico para establecer propiedades sobre los recursos, para el que se empleará RDF (Resource Description Framework), así como un modelo para definir relaciones entre los recursos por medio de clases y objetos, que se expresan mediante esquemas en RDF (RDF Schema). Lenguajes para la representación de ontologías que permitan la interoperabilidad y reutilización entre ontologías de diversos dominios del conocimiento en el web, cuya base se encuentra en RDF Schema . Una capa lógica que permita realizar consultas e inferir conocimiento; donde estarían las ontologías, agentes de software y servicios web como estructuras para lograr interoperabilidad entre aplicaciones y sistemas de información heterogéneos. Una capa de seguridad que permita asignar niveles de fiabilidad a determinados recursos, de forma comprobable posteriormente por los agentes, para lo que se utilizarán firmas digitales y redes de confianza. Figura 2.5 Esquema de la web semántica La unión de todas estas capas produciría una Web Semántica potente, segura y amigable. En los próximos apartados hablaremos más sobre estas tecnologías. Con ellas, la Web pasará de ser una colección de documentos a ser una base de conocimiento, de la cual se podrán extraer conclusiones a partir de premisas. - 18 -
  29. 29. CAPITULO 2 – ESTADO DEL ARTE 2.3.3. Representación del conocimiento  El concepto de documentos que las máquinas puedan entender no implica ninguna inteligencia artificial que permita a la máquina comprender los murmullos humanos. Sólo indica la habilidad de la máquina para resolver un problema bien definido desarrollando operaciones bien definidas sobre datos bien definidos. En lugar de pedir a las máquinas que entiendan el lenguaje humano, implica pedir a la gente que haga un esfuerzo (Berners-Lee, 1998). La expresión “pedir a la gente que haga un esfuerzo” significa que los humanos deben representar los datos en algún lenguaje formal (lógico y axiomático), de manera que las máquinas puedan usarlos para extraer inferencias lógicas. Estos lenguajes, vinculados a la representación del conocimiento, se conocen como lenguajes de representación de conocimiento. Se han utilizado diversos formalismos para representar el conocimiento en los sistemas de información. En bases de datos se han utilizado diagramas entidad-relación para definir los conceptos y sus relaciones en un determinado universo. En programación se han utilizado gramáticas y estructuras de datos como clases y objetos. En Ingeniería del Software se ha propuesto el uso de lenguajes de modelado como UML, donde también se pueden definir clases y sus relaciones. En Inteligencia Artificial, algunas de las formas que se han utilizado para representar el conocimiento son la lógica matemática y las estructuras de datos. En la lógica matemática destacan los enfoques basados en lógica y los basados en reglas. Los sistemas basados en lógica utilizan fórmulas lógicas para representar relaciones complejas. Dentro éstos, las que tienen el poder expresivo más alto son las lógicas de orden mayor, sin embargo, este mecanismo tiene varias desventajas entre las que se encuentra su ineficiencia para manejo de grandes combinaciones de conceptos. Se entiende por lógica de mayor orden un lenguaje en el que las variables pueden aparecer en cualquier parte donde los predicados y/o funciones lo hagan. Si no se requiere una semántica de orden mayor, ésta puede ser simplificada en lógica de primer orden (LOP) (Samper, 2005). La Lógica de Predicados permite establecer formalmente sentencias (predicados) sobre cosas y colecciones de cosas, sus tipos y propiedades, así como clasificarlas y describirlas. Es un ejemplo donde la sintaxis y la semántica son ambas de primer orden. Finalmente, realizar razonamiento sobre la LOP es computacionalmente intratable para grandes cantidades de datos. Ciertos subconjuntos de la LOP, especializados en clasificar cosas, se denominan lógicas descriptivas (cada familia de lógicas descriptivas se origina de un determinado subconjunto de la LOP). Es cierto que las lógicas descriptivas carecen de la potencia expresiva de la LOP, sin embargo son matemáticamente trazables y son computables. Por otra parte los sistemas basados en reglas permiten representar el conocimiento en formas de cláusulas IF-THEN u otras condiciones de acción. Estas - 19 -
  30. 30. CAPITULO 2 – ESTADO DEL ARTE reglas son usadas posteriormente por los motores de razonamiento para inferir conocimiento a partir de las reglas definidas inicialmente. En relación con los sistemas de representación del conocimiento basados en estructuras de datos, se destacan los siguientes:  Redes semánticas: Consisten en un conjunto de nodos que representan objetos, conceptos o situaciones y enlaces que representan las relaciones entre los nodos.  Marcos (frames): Representan conceptos denominados clases y relaciones llamados slots. Los esquemas de representación basados en marcos insisten en una organización jerárquica, mientras que las redes semánticas no requieren de tal organización  Redes de herencia estructurales: Desarrolladas para subsanar las ambigüedades de las dos anteriores, y su puesta en práctica se realizó en el sistema KL-ONE (Brachman, 1985, citado por Samper, 2005; Brachman, 1978, citado por Samper, 2005).  Sistemas terminológicos o Descripciones Lógicas: Son un tipo de lenguaje de representación basado en lógica que ha sido diseñado para razonar sobre redes semánticas y frames.  Grafos, Redes de Petri, Mapas Tópicos: Son estructuras de representación de más bajo nivel que constituyen la base formal de otros mecanismos recientes de representación del conocimiento. John F. Sowa afirma que “la representación de conocimiento es un área multidisciplinar que aplica teorías y técnicas de los campos de la Lógica, Ontologías y la Computación”. Para este autor, la lógica provee la estructura formal y las reglas de inferencia, y sin ella no existirán criterios para determinar si hay sentencias contradictorias o redundantes. Las ontologías permiten que los términos y símbolos que existen en el dominio de aplicación estén bien definidos y no den lugar a confusión. Por último, los modelos de computación permitirán implementar las dos primeras disciplinas en programas de aplicación (Sowa, 2000, citado por Samper, 2005). Resumiendo lo anterior, se puede concluir que la lógica es relevante para la Web semántica por tres motivos: 1) Permite desarrollar lenguajes formales que permiten representar el conocimiento. 2) Proporciona semánticas bien definidas: en un sistema lógico, cada símbolo y cada expresión tienen un significado único e inambiguo. 3) Proporciona reglas de inferencia, a partir de las cuales se pueden extraer consecuencias del conocimiento (estas reglas permiten validar demostraciones, es decir, comprobar si una consecuencia se deriva de unas premisas). Lo que se conoce como interpretación semántica automática de documentos no pasa de ser la aplicación de reglas lógicas a unos datos - 20 -
  31. 31. CAPITULO 2 – ESTADO DEL ARTE presentados en algún lenguaje formal (como OWL, DAML, DAML+OIL o KIF/CL). Estos lenguajes se basan en la lógica descriptiva (lógica que proporciona un formalismo para expresar el conocimiento humano, basándose en métodos de razonamiento bien establecidos y procedentes de un subconjunto de la lógica de predicados o de primer orden). 2.3.4. XML: primer paso hacia la Web semántica  XML (eXtensible Markup Language) fue desarrollado por el grupo de trabajo XML del W3C, que estableció la segunda edición de la versión 1.1 como recomendación el 16 de agosto del 2006 (XML, 2006). Se desarrolló para proporcionar una flexibilidad y eficiencia que no se podían alcanzar con HTML. Mientras que HTML es un lenguaje de marcado para documentos de hipertexto, XML es un lenguaje de marcado de documentos de todas clases. Se dice que es extensible porque permite al programador asociar sus propias etiquetas (metadatos) a los datos. Desde la aparición de XML en 1998, se han definido multitud de estándares para modelizar información en dominios específicos como las finanzas (XBRL, RIXML, etc.), el periodismo (p.e. News ML, PRISM), la enseñanza (SCORM, IEEE LOM y otros), o la medicina (NLM Medline, SCIPHOX, CDA, etc.), entre otros muchos campos (Castells, 2003). Figura 2.6 Ejemplo de documento XML XML constituye un gran paso adelante para lograr la interoperabilidad sintáctica, que es necesaria para el comercio electrónico. Actualmente XML es el lenguaje en el que se está apoyando el e_business para mejorar sus servicios, y que en un futuro cercano será utilizado por todos en la Web. He aquí algunas de las ventajas generales de usar XML:  Es capaz de expresar cualquier documento y cualquier tipo de dato. Permite definir los datos independientemente de cualquier lenguaje o plataforma y, por ello, constituye un formato universal para el intercambio de datos.  Es autodescriptivo. Además de almacenar los datos, almacena la estructura de éstos. Resulta fácil compartir documentos XML entre empresas y personas, ya que una persona que lea un documento XML es capaz de descubrir enseguida su estructura. - 21 -
  32. 32. CAPITULO 2 – ESTADO DEL ARTE  Es flexible: los documentos XML pueden desarrollarse tal y como se quiera. Nada impide a una empresa que desarrolle una serie de esquemas, XML Schema o DTDs (Document type definition) para los tipos de documentos con que trabaja (facturas, pedidos, órdenes de producción, albaranes, reclamaciones...) y que exija a sus clientes y proveedores que usen documentos XML conformes a esos esquemas o DTDs.  La comprobación de la estructura de los documentos se puede hacer de forma automática, de modo que se rechacen aquellos documentos que no estén construidos siguiendo los esquemas o DTDs elegidos. Con lo que se evita el envío de documentos incorrectos.  Al basarse en texto ordinario, los documentos XML son idóneos para transportarlos a través de Internet; red donde conviven muchas plataformas y sistemas informáticos distintos, cada uno con sus propios formatos de archivos.  Se pueden crear documentos XML para casi todos los lenguajes humanos, ya que el juego de caracteres predefinido para él es el Unicode. Figura 2.7 Ejemplo de DTD del XML de la figura anterior XML es un primer paso en la dirección de avanzar hacia una representación explícita de los datos y la estructura de los contenidos de la web, separada de su presentación en HTML. XML proporciona una sintaxis para hacerlo posible, pero ofrece una capacidad limitada para expresar la semántica. El modelo de datos XML consiste en un árbol que no distingue entre objetos y relaciones, ni tiene noción de jerarquía de clases. Por lo tanto, a pesar de todas las excelencias de XML, no proporciona una interoperabilidad completa, pues no incorpora ningún mecanismo para garantizar la interoperabilidad semántica. XML sirve para especificar el formato y estructura de cualquier documento; pero no impone ninguna interpretación común de los datos del documento. El marcado de los documentos XML es una forma de metadatos. Etiquetas como <precio> o <autor> ayudan a que los humanos intuyamos el significado de lo que vaya entre las etiquetas, pero para un programa que procese documentos XML, las etiquetas carecen de significado. - 22 -
  33. 33. CAPITULO 2 – ESTADO DEL ARTE En el caso del comercio B2B, que XML no incluya ningún mecanismo para la interpretación semántica constituye un gran problema. Varias empresas pueden intercambiar documentos XML si todas las partes se han puesto de acuerdo sobre las DTD (o los esquemas) que van a usar, pero surgirán problemas cuando aparezcan empresas que usen otras DTD, aunque sean equivalentes. Por ejemplo, un SI que acepte etiquetas <precio> no será capaz de procesar etiquetas <precioUnidad>, aunque sean semánticamente equivalentes. Sin embargo, XML es el pilar en el que sustentan el resto de lenguajes o tecnologías de la Web. XML supone un formato universal: “Todo debe estar escrito en XML” (Llórens, 2005). Otra de las funciones actuales que tiene es encapsular la información o partes de una ontología para que sea intercambiada a través de los diferentes protocolos de intercambio de datos XML a través de la Web (por ejemplo SOAP). La familia de las tecnologías asociadas a XML es muy extensa destacando Xpath, XPointer, XLink, XSL y CSS principalmente (Martín, 2005).   2.3.5. Ontologías  El término Ontología proviene de la filosofía y es una teoría que trata de la naturaleza y organización de la realidad, es decir de lo que “existe”. Conocimiento del ser (del griego onto: ser y logos: conocimiento). La definición de ontología más concisa es la del consorcio W3C: “La ontología es un término tomado prestado de filosofía que se refiere a la ciencia de describir los tipos de entidades en el mundo y cómo se relacionan entre ellos.” (MacGuinness y Harmelen, 2004) La definición más empleada en la literatura de Web Semántica procede de Gruber: “Una ontología es una especificación explícita y formal de una conceptualización” (Gruber, 1993). En esta definición, conceptualización significa un modelo abstracto; explícita significa que los elementos deben ser claramente definidos; y formal significa que la especificación debe ser procesable por una máquina. Yendo más lejos, desde el punto de vista de Gruber, una ontología es la representación del conocimiento de un dominio, donde un conjunto de objetos y sus relaciones son descritos por un vocabulario. Puede decirse que una ontología define un vocabulario común para los que necesitan compartir información sobre un dominio. Cabe señalar que no todas las ontologías deben ser formales: existen ontologías que se expresan de una forma restringida y estructurada del lenguaje natural, e incluso mediante el lenguaje natural (español, francés, inglés,…). En lo que sigue se considerará sólo las ontologías formales, que tienen semánticas que describen el significado de una forma precisa. Es decir, que la semántica no se refiere a opiniones ni intuiciones, y que las máquinas y las personas deben interpretarla de una misma forma. En definitiva, una semántica formal usa la lógica de - 23 -
  34. 34. CAPITULO 2 – ESTADO DEL ARTE primer orden o un subconjunto de ella (como las lógicas descriptivas). Es indispensable disponer de una semántica formal para implementar sistemas de inferencia o de razonamiento automático (sin intervención humana). Son varias las utilidades del razonamiento automático:  Se puede comprobar automáticamente si una ontología es consistente con el conocimiento del dominio de interés que representa.  Se puede comprobar automáticamente si las relaciones entre las clases corresponden a los propósitos de la ontología y se pueden detectar relaciones espurias.  Permite clasificar automáticamente las instancias en clases. Las ontologías son una herramienta para compartir información y conocimiento, es decir, para conseguir la interoperabilidad. Al definir un vocabulario formal de los conceptos del dominio y un conjunto de relaciones entre ellos, permite que las aplicaciones “comprendan” la información. Por lo general, el aspecto que toman consiste en una forma jerárquica de términos que representan los conceptos básicos de un determinado dominio. Figura 2.8 Las ontologías establecen redes semánticas Las ontologías han sido utilizadas en diferentes áreas de las ciencias de la computación, tales como inteligencia artificial, representación del conocimiento, procesamiento del lenguaje natural, Web Semántica e ingeniería del software, entre - 24 -
  35. 35. CAPITULO 2 – ESTADO DEL ARTE otras. Por lo tanto, es razonable que haya una cierta divergencia entre sus múltiples definiciones. A pesar de que una ontología pueda tomar una gran variedad de formas, necesariamente incluirá un vocabulario de términos, alguna especificación de su significado y una indicación de cómo los conceptos se interrelacionan, lo cual impone una estructura sobre el dominio y restringe las posibles interpretaciones de los términos (Uschold, 1999). Las ontologías tienen los siguientes componentes que servirán para representar el conocimiento de algún dominio (Gruber, 1993b, citado por Samper):  Conceptos: son las ideas básicas que se intentan formalizar. Pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc.  Relaciones: representan las interacciones y enlaces entre los conceptos del dominio. Suelen formar la taxonomía del dominio.  Funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de la ontología.  Instancias: se utilizan para representar objetos determinados de un concepto.  Axiomas o reglas: son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la ontología. Permiten junto al mecanismo de la herencia de conceptos, inferir conocimiento que no esté indicado explícitamente en la taxonomía de conceptos. En el mundo de las ontologías no existen verdades absolutas, ya que éstas son entidades construidas artificialmente que se crean, no se descubren, y especifican una forma de ver el mundo, por tanto un punto de vista. Por este motivo existen varias técnicas (provenientes de la IA o de la ingeniería del software o de bases de datos) que permiten modelar una ontología. Ahora bien, hay que destacar que el modelo sólo se podrá considerar una ontología si contiene un modelo de conocimiento consensuado y compartido por la comunidad de interés. En breve, un acuerdo con respecto a una ontología común es una garantía de consistencia, pero no de completitud, con respecto a las búsquedas y aserciones, usando el vocabulario definido en la ontología. (Viegas et al., 1999) Independientemente de la definición adoptada, es importante entender que las ontologías son empleadas para describir una gran variedad de datos y modelos. Normalmente, las ontologías – en el sentido dado por Gruber – parten de taxonomías previas. Más adelante se explican las diferencias entre éstas y aquéllas. 2.3.5.1 Elementos de una ontología  Antes de continuar con la sección de ontologías, se definirán algunos conceptos para facilitar al lector la comprensión de los siguientes apartados. - 25 -
  36. 36. CAPITULO 2 – ESTADO DEL ARTE  Clases: representan los conceptos que forman el ámbito de la ontología. Los conceptos son las ideas básicas que se intentan formalizar y son el elemento principal de una ontología. Por ejemplo, en una ontología que representase la estructura política de España, "PartidoPolítico" y "ComunidadAutónoma" podrían ser clases de la ontología.  Subclases. Cuando una clase A es la generalización de otra clase B, se dice que B es subclase (hija) de A. Siguiendo el ejemplo de antes, “PartidoSocial” sería subclase de “PartidoPolítico”. Responde afirmativamente a la pregunta “¿Un partido social es un partido político?”  Clases Hermanas. Dos clases son hermanas si comparten la clase padre. Son subclases de una misma clase. Las clases “PartidoSocial”y “PartidoPopular” serían hermanas.  Clases disjuntas: son clases diferentes, un elemento de una no puede ser también elemento de la otra.  Propiedades: establecen relaciones entre conceptos de la ontología. Por ejemplo, la propiedad “esMiebroDePartido” relaciona una persona con el partido al que pertenece. En una propiedad hay que definir el rango y el dominio.  Rango: define el Objeto que es afectado por la propiedad.  Dominio: define el Sujeto que será definido por la propiedad. Digamos, el conjunto de valores que podrá tomar esa propiedad.  Instancias: son entidades que pertenecen a una determinada clase. Por ejemplo, "Andalucía" es una instancia de la clase "ComunidadAutónoma" y "PSOE" es una instancia de la clase "PartidoPolítico". Las clases se suelen organizar en una jerarquía, donde las instancias de una subclase pertenecen a la clase. Por ejemplo, podríamos tener en nuestra ontología la clase "localización" de la que sería subclase "ComunidadAutónoma". 2.3.5.2 Tipos de Ontologías  Las ontologías se pueden clasificar teniendo en cuenta diferentes criterios. En la literatura pueden encontrarse muchas posibilidades. Veamos dos de ellas: 1. Según el alcance de su aplicabilidad:  Ontologías de Dominio. Proporcionan el vocabulario necesario para describir un dominio dado o subdominio, como la medicina, el tráfico, el sector mobiliario. Incluyen términos relacionados con:  Los objetos del dominio y sus componentes.  Un conjunto de verbos o frases que dan nombre a actividades y procesos que tienen lugar en ese dominio. - 26 -
  37. 37. CAPITULO 2 – ESTADO DEL ARTE  Conceptos primitivos que aparecen en teorías, relaciones y fórmulas que regulan o rigen el dominio.  Ontologías Generales: Representan conceptos generales que no son específicos de un dominio. Por ejemplo, ontologías sobre el tiempo, el espacio, ontologías de conducta, de causalidad, etc.  Ontologías de Tareas. Proporcionan el vocabulario para describir términos involucrados en los procesos de resolución de problemas los cuales pueden estar relacionados con tareas similares en el mismo dominio o en dominios distintos. Incluyen nombres, verbos, frases y adjetivos relacionados con la tarea (“objetivo”, “planificación”, “asignar”, “clasificar”,…). 2. Según la granularidad de la conceptualización (cantidad y tipo de conceptualización):  Terminológicas: Especifican los términos que son usados para representar conocimiento en el universo de discurso. Suelen usarse para unificar vocabulario en un dominio determinado (contenido léxico y no semántico).  De información: Especifican la estructura de almacenamiento de bases de datos. Ofrecen un marco para el almacenamiento estandarizado de información (estructura de los registros de una BD).  De modelado del conocimiento: Especifican conceptualizaciones del conocimiento. Poseen una rica estructura interna y suelen estar ajustadas al uso particular del conocimiento que describen (términos y semántica). 2.3.5.3 Ontologías frente a Taxonomías  Una taxonomía es una clasificación estricta de términos de forma jerárquica, usando la relación padre-hijo (generalización, “es-un”, o tipo-de). Las taxonomías no permiten definir atributos para los términos. Un ejemplo de taxonomía es la estructura de directorio de nuestro ordenador. Es una jerarquía severa y estricta que sólo establece relación entre los nombres de los directorios (vocabulario) y la estructura jerárquica. Una ontología es una taxonomía ampliada, donde además de un vocabulario que nos define el contenido de una estructura, podemos establecer información documental a la propia jerarquía, establecer reglas, restricciones lógicas y definir axiomas que nos hagan llegar a una meta como el razonamiento automático o inferencia. Según Noy y MacGuinness (Noy y MacGuiness, 2001) hay tres propiedades que una ontología debe poseer para diferenciarla de una taxonomía o tesauro:  Estricta jerarquía de conceptos: toda instancia de una clase debe ser también - 27 -
  38. 38. CAPITULO 2 – ESTADO DEL ARTE instancia de su clase padre. La organización de términos debe seguir una relación de generalización.  Interpretación no ambigua de significados y relaciones: los usuarios deben definir propiedades, cuyos valores deben ser restringidos a ciertos dominios.  El uso de un vocabulario controlado y finito, pero extensible. 2.3.5.4 Lenguajes de ontologías   Existen multitud de lenguajes que permiten la representación de ontologías: OIL (Ontology Inference Layer), DAML (DARPA Agent Mark-Up Language), SHOE (Simple HTML Ontology Extensión), TopicMaps, OCLM, Ontolingua, LOOM, CycL, etc. No todos ellos permiten el mismo nivel de expresividad a la ontología construida ni tampoco ofrecen las mismas funcionalidades. A la hora de elegir un lenguaje para la definición de una ontología deben tenerse en cuenta los siguientes aspectos:      El lenguaje debe poseer una sintaxis bien definida para poder “leer” con facilidad la ontología definida. Debe tener una semántica bien definida para comprender perfectamente el funcionamiento de la ontología. Debe tener suficiente expresividad para poder capturar varias ontologías. Debe ser fácilmente mapeable desde/hacia otros lenguajes ontológicos. Debe ser eficiente a la hora de realizar razonamiento. Merece la pena destacar dos lenguajes intermedios, KIF y PIF, que son los que usan aplicaciones heterogéneas e independientes cuando necesitan intercambiar conocimiento. KIF (Knowledge Interchange Format): Desarrollado por el grupo de trabajo Interlingua de la universidad de Standford en 1992 con el propósito de resolver el problema de la heterogeneidad en los lenguajes de representación del conocimiento. Se trata de un lenguaje formal con notación tipo Lisp para escribir los axiomas en las definiciones de Ontolingua. PIF (Process Interchange Format): Tiene el mismo propósito que el anterior, es decir, facilitar compartir el conocimiento entre diferentes procesos de software. En su desarrollo, de 1993 a 1996, participaron grupos del MIT, de Stanford, de Toronto, etc. Permite el intercambio de descripciones de procesos del mundo de los negocios dentro de una organización y entre varias organizaciones. - 28 -
  39. 39. CAPITULO 2 – ESTADO DEL ARTE 2.3.5.4.1 Lenguajes tradicionales  Los lenguajes de ontologías tradicionales se distinguen según la forma en la que se basan para representar el conocimiento: basado en frames, en lógica descriptiva, predicados de primer orden y segundo orden, o los orientados a objetos. A continuación se exponen los más representativos (Gómez-Pérez, 2004):  Ontolingua (Ontolingua, 2004) fue desarrollado en 1992 por KSL (Universidad de Standford), es un lenguaje de ontologías basado en KIF y en Frame Ontology (FO) empleado en el Ontolingua Server. KIF permite definir objetos, relaciones y funciones y utiliza predicados de lógica de primer orden. Como KIF es un lenguaje no orientado a construir ontologías, sino para intercambio de conocimiento, Ontolingua emplea FO para permitir la descripción de ontologías utilizando los paradigmas de frames, y con el que empezaron a surgir términos como clase, instancia o subclase. FO no permitía axiomas, pero al surgir a partir de KIF, sí permite que se incluyan axiomas de KIF dentro de sus definiciones.  OKBC Protocol (Open Knowledge Base Connectivity Protocol), como su nombre indica no se trata de un lenguaje sino un protocolo basado en el GFP (Generic Frame Protocol), es decir, basado en frames. Es utilizado como complemento de lenguajes de representación de conocimiento, y permite, como otros sistemas basados en frames, clases, constantes, atributos, frames e instancias que sirven de base de conocimiento. También implementa una interfaz para acceder al conocimiento al igual que funciones utilizadas para acceder a través de la red a un conocimiento compartido. Fue empleado junto a Ontolingua (OKBC, 1995).  OCML (Operational Conceptual Modeling Language) fue desarrollado originalmente como parte del proyecto VITAL (Shadbolt, 1993, citado por Samper, 2005). Es un lenguaje basado en marcos que aporta mecanismos para expresar ítems tales como relaciones, funciones, reglas, clases e instancias. Se le añadió un módulo de mecanismos de lógica y una interfaz para poder interactuar con el conocimiento. Una de las ventajas que tiene es que es compatible con estándares como Ontolingua (OCML, 1999).  Flogic (Frame Logic) fue desarrollado en 1995 en la Universidad de Karsruhe. Integra marcos y calcula predicados de primer orden. Permite la representación de conceptos, taxonomías, relaciones binarias, funciones, instancias, axiomas y reglas deductivas. Tiene una estructura con aspectos parecidos a la los lenguajes orientados a objetos, como la herencia, tipos polimórficos, etc. Con Flogic se han creado de bases de datos hasta ontologías y se puede combinar con otros programas de lógica para interactuar con la información almacenada en la ontología (Flogic, 2004). - 29 -
  40. 40. CAPITULO 2 – ESTADO DEL ARTE 2.3.5.4.2 Lenguajes basados en estándares y en Web  Estos lenguajes fueron desarrollados específicamente para el desarrollo de ontologías. Se basan en los lenguajes de marcado HTML y XML. Se diferencian de los anteriores porque fueron desarrollados orientados para ser utilizados en la web. Dado que la web es mucho más extensa que una base de conocimiento, es necesario el uso de estándares que permitan implementar ontologías en este ambiente. Los más destacados son: el lenguaje RDF (Resource Description Framework) que implementa un modelo básico para establecer propiedades sobre los recursos, y el lenguaje OWL que tiene como punto de partida experiencias previas realizadas en el lenguaje DAML-OIL y que se divide en tres sublenguajes de diferente expresividad semántica: OWL-Lite, OWL-DL y OWL-Full. Todos estos lenguajes se sustentan para su formalización en el XML, metalenguaje que permite definir y validar los lenguajes de etiquetado que se usan en la Web. Se va a ver la definición y las características de los más destacados: RDF y RDFS RDF (Resource Description Framework, Marco de Descripción de Recursos) (RDF, 2004a; RDF, 2004b) fue desarrollado por el World Wide Web Consortium (W3C) con el objetivo de “especificar semántica, para los datos basados en XML, de una manera interoperable y estandarizada. Su recomendación por la W3C fue establecida el 10 de febrero de 2004, establece la sintaxis y estructura que permite la descripción de metadatos y permite que el significado sea asociado con los datos a través de RDF Schema (RDFS, 2004), el cual facilita la definición de ontologías específicas de dominio. Se trata de una infraestructura que permite la interoperabilidad de metadatos mediante el diseño de mecanismos que dan soporte a las convenciones comunes de semántica, sintaxis y estructura. RDF hace uso de XML como sintaxis común para el intercambio y proceso de metadatos, proveyendo independencia, extensibilidad, validación, legibilidad humana, y la habilidad para representar estructuras complejas. RDF explota estas características imponiendo a su vez, estructuras que permiten expresividad semántica inequívoca. Provee además un medio para publicar vocabularios legibles por los humanos y capaces de ser procesados por las máquinas, y éstos pueden ser reutilizados, extendidos o refinados para adaptarlos a los diferentes dominios específicos según sus requerimientos. Aunque suela decirse que RDF es un lenguaje, resulta más exacto describirlo como un modelo de datos para las instancias de metadatos o, por abreviar, como un modelo de metadatos. RDF basa su modelo en tres partes:  Recursos (sujeto) que son todo aquello de lo que se puede decir algo y son referenciados por un identificador único de recursos (URI).  Propiedades (predicados) que definen atributos, aspectos, características o representan una relación que describe a un recurso. - 30 -
  41. 41. CAPITULO 2 – ESTADO DEL ARTE  Declaraciones (objeto) los cuales nos sirven para dar valores a las propiedades de un recurso específico. El objeto de un estamento puede ser un recurso o un literal, por ejemplo, un recurso especificado por un URI, o bien un string u otras primitivas de datos definidas por XML. Los tres constituyen una tripleta (sujeto, predicado, objeto) que es la construcción básica en RDF. Un conjunto de dichas tripletas es llamado grafo RDF, el cual define la sintaxis abstracta de RDF. Esto puede ilustrarse a través de un diagrama de nodos y arcos dirigidos (ver figura 2.9), en el cual cada tripleta es representada como un enlace nodo-arco-nodo (de allí el término grafo). Figura 2.9 Diagrama de nodos y arcos. En la figura 2.10 se incluye la representación gráfica de tripletas de RDF. Figura 2.10 Representación de tripletas RDF. Nótese que las propiedades (dirección, ciudad, código postal, calle y estado) y el sujeto se representan como URIs, mientras que los objetos se representan como cadenas de texto. Nada impide que los objetos se representen mediante URIs: un URI puede ser construido para cualquier entidad o recurso (tangible o intangible) que pueda ser nombrado, por lo que los hechos RDF pueden referirse, consecuentemente, a cualquier cosa (Rodríguez, 2005). - 31 -
  42. 42. CAPITULO 2 – ESTADO DEL ARTE RDF se puede emplear en cualquier campo: no se asocia a ningún dominio en particular. Cada organización o persona puede definir su propio vocabulario mediante lo que se conoce como RDF Schema (esquema de RDF), que se define en función de las sentencias RDF (Abián, 2005). RDF Schema permite la definición de jerarquías de clases (relación de subclase y subpropiedad) de objetos y propiedades (relaciones binarias) y permite la creación de restricciones (rango y dominio). Este esquema se aproxima más al concepto de ontología ya que se dispone de relaciones diseñadas para especificar la jerarquía de la taxonomía de conceptos que define un conocimiento. RDF(S) funciona como un modelo semántico de datos capaz de permitir preguntas referentes a su contenido y no a la estructura del documento. RDF Schema incluye tres clases principales (Abián, 2005): 1) rdfs:Resource. Se consideran instancias de esta clase los recursos, que son todas las entidades descritas por expresiones RDF. 2) rdfs:Class. Las clases RDF pueden representar páginas web, organizaciones, personas, búsquedas en la Web, etc. Toda clase es miembro de rdfs:Class. Cuando se crea una nueva clase mediante un esquema RDF, la propiedad rdf:type del recurso representado por la clase adquiere como valor el recurso rdfs:Class o alguna subclase suya. Cuando un recurso tiene la propiedad rdf:type cuyo valor es una clase determinada, se dice que el recurso es una instancia de esa clase. 3) rdf:Property. Representa el subconjunto de recursos RDF que son propiedades. El dominio y rango de estos recursos se describen mediante las propiedades rdfs:domain y rdfs:range respectivamente; las jerarquías de propiedades se describen mediante rdfs:subPropertyOf. Tanto rdfs:range como rdfs:domain son instancias de rdf:Property. El rango se usa para establecer que los valores de una propiedad son instancias de una o más clases. Y el dominio se emplea para establecer que un recurso con una cierta propiedad es instancia de una o más clases. Una propiedad relevante de RDF Schema es rdfs:subClassOf, que describe una clase como subclase de otra. Solamente las instancias de rdfs:Class pueden tener dicha propiedad. Para los metadatos, RDF Schema define varias propiedades:  rdfs:comment proporciona la descripción en lengua natural de un recurso. Por ejemplo, <rdfs:comment> “Las neveras enfrían lo que se introduce en ellas” </rdfs:comment>.  rdfs:label proporciona una versión legible para los humanos del nombre del recurso. P.e.,<rdfs:label>Frigorífico</rdfs:label>.  rdfs:seeAlso especifica un recurso que proporciona información - 32 -
  43. 43. CAPITULO 2 – ESTADO DEL ARTE adicional sobre el recurso principal. P.e., http://www.vocabulario.es/aparatos </rdfs:seeAlso> <rdfs:seeAlso>  rdfs:isDefinedBy indica cuál es el recurso donde se define el recurso principal. Es una subpropiedad de rdfs:seeAlso. La Web semántica no sería posible solo con RDF y XML debido a que RDF Schema presenta muchas carencias:  Cuando se define un rango para una propiedad, se define para todas las clases. No se pueden declarar restricciones de rango que sean válidas solo para algunas clases.  No se pueden representar algunas características de las propiedades, como que una propiedad sea: transitiva, simétrica, inversa o única.  No se puede reflejar que algunas determinadas clases son disjuntas. Por ejemplo, en RDF Schema puede declararse que Hombre y Mujer son subclases de Persona, pero no que son disjuntas. Es decir, resulta imposible especificar que ninguna persona puede ser a la vez hombre y mujer.  No permite expresar restricciones de cardinalidad. Así, no se puede expresar que una cuenta bancaria no puede tener más de seis titulares, por ejemplo, o que un hijo siempre tiene un padre o una madre.  Hay algunas expresiones que no pueden expresarse mediante la lógica de primer orden. Esto causa que haya sentencias indecidibles. Sentencias de las que, dado un sistema de axiomas o premisas, no se puede afirmar ni negar nada. En suma, RDF no es lo bastante completo para describir los recursos de la Web con el detalle que se precisa. Se utiliza porque es tan general que puede emplearse en muchos dominios y porque actúa como puente entre los vocabularios de cada uno. DAML+OIL El programa DAML (DARPA Agent Markup Language) es una iniciativa de DARPA (Defense Advance Research Projects Agency) en 1999 con el objetivo de proveer los fundamentos de la Web semántica. Los usuarios de RDF y RDFS conforme utilizaban estos lenguajes para expresar los metadatos de sus recursos, observaban que ambos lenguajes describían un conjunto escaso de facilidades para expresar estos metadatos. Por ejemplo, no podían hacer uso de datatypes del XMLSchema (XMLS, 2001), no podían hacer enumeraciones etc. La comunidad de usuarios vieron en RDF una herramienta para expresar sus recursos, pero también lamentaban que no existiesen facilidades para permitir la inferencia sobre las descripciones RDF. Tenía que surgir una evolución de este lenguaje que permitiese el razonamiento sobre las descripciones. Por estos motivos, unieron sus esfuerzos los desarrolladores de DAML con los de - 33 -
  44. 44. CAPITULO 2 – ESTADO DEL ARTE OIL para favorecerse de los sistemas de clasificación basados en frames de este último. El resultado final fue el lenguaje DAML+OIL( DAML+OIL, 2001), un lenguaje que a pesar de tener muchas coincidencias con OIL, también tiene sus diferencias, la principal es que se trata de un lenguaje que se aleja de los ideales de frames de OIL, para acercarse más a una base de lenguajes de lógica descriptiva. Por lo tanto, DAML+OIL es un lenguaje que tiene una semántica sencilla y bien definida, y que nos ofrece más expresiones sofisticadas para las descripciones de clasificaciones y propiedades de los recursos que las que ofrecía RDF y RDFS. DAML+OIL es la evolución de RDFS, en el que se redefinen muchas de sus descripciones y se añaden muchas otras para mejorar el lenguaje y aportar propiedades y mecanismos para que el lenguaje defina ontologías que después pueden ser empleadas por sistemas de razonamiento para poder inferir sobre la información. Sin una semántica bien definida y procedimientos de inferencia, los Agentes no serán capaces de procesar la información de forma consistente. Como una plataforma desde donde manejar las ontologías, DAML + OIL es bastante útil, según sus propios autores, es una alternativa firme a RDF Schema u otros. OWL OWL (Ontology Web Language) (OWL, 2004) surge del W3C como la búsqueda de un lenguaje de especificación de ontologías que sirva como estándar para todos los investigadores de la Web semántica. Deriva del lenguaje DAML + OIL y se construye sobre la sintaxis de RDF/XML. Se le pretende dar tantas funcionalidades como las que posee DAML + OIL, aunque diferenciándose en algunas. OWL también es una extensión de RDFS y emplea el modelo de tripletas de RDF. En parte, es un RDFS mejorado, que mantiene una buena relación entre eficacia computacional y poder expresivo. Con OWL se pueden definir clases mediante restricciones a otras clases, o con operaciones booleanas sobre otras clases, hay nuevas relaciones entre clases como la inclusión, disyunción y la equivalencia, se pueden definir restricciones de cardinalidad en propiedades o dar propiedades sobre las relaciones (transitiva, simetría) así como permitir clases enumeradas. Como pude verse, OWL tiene mucha más capacidad expresiva que RDFS. Además, OWL facilita la importación y exportación de clases: incluye propiedades como sameAs, equivalentClass, equivalentProperty, differentFrom, etc. Por ejemplo, equivalentClass permite establecer que dos clases de distintas ontologías sean equivalentes (p.e. onto1:Persona y onto2:SerHumano), esto significa, que cada instancia de una clase será también instancia de la otra clase, y viceversa. La capacidad de expresar que dos clases son iguales resulta muy útil cuando se integran o mezclan ontologías y permite la interoperabilidad. Una ontología en OWL es una secuencia de axiomas, hechos y referencias a otras ontologías, que se consideran incluidas en la ontología. Las ontologías OWL son documentos web, y pueden ser referenciados a través de una URI. - 34 -

×