Implicaciones de Open World Assumption en Ontologías
Revisando las respuestas a la duda de un newbie en el foro de OWL-DL [1], veo que hay muchos errores comunes en los que incurrimos los que venimos del área de computación y que estamos acostumbrados a trabajar con BD relacionales y métodos de inferencia en donde toda la información está disponible (closed-world assumption).
Para el caso de Bases de Datos DL, esto es, modelos ontológicos explotados con un razonador de conceptos de por medio, la suposición del mundo abierto (Open World Assumption, OWA) establece que las conclusiones a las que se pueden llegar dependen no sólo de la información contenida en la BD-DL sino también de la que se desconoce. Es decir, con base en los hechos contenidos en ella podemos concluir que cierta afirmación (consulta) es cierta, pero no podemos simplemente negarla si no hay evidencia suficiente para ello. Esto se debe a que posiblemente, la información que haría falsa la afirmación podría no estar contenida en la BD.
El ejemplo concreto que se discutía en el foro era el siguiente: se definían dos particiones para una clase en las cuales la primera identificaba a individuos con al menos un valor asignado en la propiedad P (P min 1), mientras que la segunda identificaba a aquellos individuos que no tenían ningún valor asignado en dicha propiedad (P exactly 0). Ambas restricciones son de cardinalidad en la propiedad P.
Mientras los razonadores clasificaban correctamente a los individuos de la primera partición, no era posible clasificar a un individuo en la segunda a partir del hecho de que no estuviera ligado con otro recurso a través de P. La explicación es que el razonador asumía que aunque la propiedad no se había expresado explícitamente ésta aún podía ser cierta (aunque no se hubiera expresado en la BD). La solución al problema era expresar que cierto individuo I no estaba asociado a ningún otro valor o individuo a través de P, esto es: I = P exactly 0 && …
Esto es algo que no se nos ocurre en primera instancia a los que hemos trabajado bajo la suposición del mundo cerrado (OPA). Sin embargo, en una BD-DL si es factible e incluso necesario hacerlo si es que queremos que el razonador haga una correcta clasificación.
Elaboré un sencillo ejemplo en el que las personas se dividen en dos particiones: las que tienen hijos (Parent) y las que no (NoParent). Describí dos individuos, Joseph y Jesus, donde el segundo es hijo del primero y el segundo no tiene hijos. Vean en las imágenes cómo son clasificados cuando se establece explícitamente Jesus = Person && hasChild exactly 0. Las inferencias se muestran en amarillo y con líneas punteadas.
Se han explorado otras opciones como la definición de operadores epistémicos [2], que permite expresar en las consultas: dado que se conoce todo respecto a la propiedad P. Con este operador se podría expresar esta consideración en el concepto de la segunda partición y no habría necesidad de complementar la descripción de los individuos con sentencias como la de la imagen de arriba. Sin embargo, los razonadores DL actuales no lo soportan (as far as I know).
Pueden encontrar más información respecto a OWA y cómo ayudar al razonador en casos de particiones completas en [3]. La explicación está muy completa pero el ejemplo es algo confuso dado que definen Sex como una clase y como subclasses a Male y Female. Si en lugar de Sex utilizaran Animal verían que los ejemplos cobran más sentido. Esto es, un animal es macho o hembra, pero no ambos a la vez.


