F-lógica ( marco lógico ) es una representación del conocimiento y la ontología idioma . F-logic combina las ventajas del modelado conceptual con lenguajes basados en marcos y orientados a objetos y ofrece una sintaxis declarativa, compacta y simple, así como la semántica bien definida de un lenguaje basado en lógica.
Las características incluyen, entre otras, identidad de objeto, objetos complejos, herencia , polimorfismo , métodos de consulta, encapsulación . La lógica F tiene la misma relación con la programación orientada a objetos que el cálculo de predicados clásico con la programación de bases de datos relacionales .
Descripción general
La lógica F fue desarrollada por Michael Kifer en la Universidad de Stony Brook y Georg Lausen en la Universidad de Mannheim . La lógica F se desarrolló originalmente para bases de datos deductivas, pero ahora se usa con mayor frecuencia para tecnologías semánticas, especialmente la web semántica . La lógica F se considera uno de los formalismos para las ontologías , pero la lógica descriptiva (DL) es más popular y aceptada, al igual que el OWL basado en DL .
En el proyecto NeOn se desarrolló un entorno de desarrollo para la lógica F y también se utiliza en una variedad de aplicaciones para la integración de información, la respuesta a preguntas y la búsqueda semántica . Antes de la versión 4 del editor de ontologías Protégé, F-Logic es compatible como uno de los dos tipos de ontología.
La sintaxis de trama del Dialecto Lógico Básico del Formato de Intercambio de Reglas (RIF BLD) estandarizado por el Consorcio World Wide Web se basa en la lógica F; Sin embargo, RIF BLD no incluye características de razonamiento no monótonas de la lógica F. [1]
En contraste con la lógica descriptiva basada en el formalismo ontológico, la semántica de la lógica F es normalmente la de un supuesto de mundo cerrado en contraposición al supuesto de mundo abierto de DL . Además, la lógica F es generalmente indecidible , [ cita requerida ] mientras que la lógica de descripción SHOIN en la que se basa OWL DL es decidible. Sin embargo, es posible representar declaraciones más expresivas en lógica F de lo que son posibles con las lógicas de descripción.
La descripción más completa de la lógica F se publicó en 1995. [2] El artículo preliminar [3] [4] de 1989 ganó el premio Test of Time de 1999 de ACM SIGMOD . [5] Un artículo de seguimiento [6] de 1992 ganó el premio Test of Time de 2002 de ACM SIGMOD. [5]
Sintaxis de lógica F
Las clases y los individuos se pueden definir en la lógica F de la siguiente manera:
hombre :: persona.mujer :: persona.brad: hombre.angelina: mujer.
Este establece que "los hombres y las mujeres son personas" y que "Brad es un hombre" y "Angelina es una mujer".
Las declaraciones sobre clases e individuos se pueden hacer de la siguiente manera:
persona [hasSon => hombre].brad [hasSon -> {maddox, pax}].casado (brad, angelina).
Esto define que "el hijo de una persona es un hombre", "Maddox y Pax son los hijos de Brad" y "Brad y Angelina están casados".
Además, es posible representar axiomas en lógica F de la siguiente manera:
hombre (X) <- persona (X) Y NO mujer (X).X: persona [hasFather-> Y] <- Y: man [hasSon -> X].
Estos significan "X es un hombre si X es una persona pero no una mujer" y "si X es el hijo de Y, entonces X es una persona e Y es el padre de X".
El sistema Flora-2 introdujo una serie de cambios en la sintaxis de la lógica F, haciéndola más adecuada para un sistema de representación y razonamiento del conocimiento en lugar de una lógica teórica. En particular, las variables se prefijaron con una marca?, La distinción entre propiedades funcionales y de valores múltiples se eliminó y se reemplazó por restricciones de cardinalidad, además de otros cambios importantes. Por ejemplo, el par de oraciones anteriores se ven así en Flora-2:
hombre (? X) <- persona (? X) \ y \ naf mujer (? X).? X: persona [hasFather ->? Y] <-? Y: hombre [hasSon ->? X].
Aquí \ naf es la negación predeterminada ("naf" significa negación como falla basada en la semántica bien fundada ); Flora-2 también admite la llamada negación explícita, [7] que está más cerca de la negación en la lógica clásica.
Lenguajes basados en lógica F
- Flora-2 es una extensión de la lógica F con HiLog , lógica de transacciones y razonamiento anulable .
- Ergo es un sistema comercial basado en F-logic, que extiende Flora-2.
- PathLP es un lenguaje de programación de lógica completa basado en F-logic.
- FLORID es una implementación basada en C ++
- Lenguaje de modelado de servicios web (WSML)
- Lenguaje de servicios web semántica (SWSL)
- El lenguaje ObjectLogic se basa en la lógica F; OntoStudio es una implementación de ObjectLogic de semafora systems GmbH (anteriormente Ontoprise GmbH ).
Referencias
- ^ M. Krötzsch (octubre de 2010). Descripción Reglas lógicas . IOS Press. pag. 10. ISBN 978-1-61499-342-1.
- ^ M. Kifer, G. Lausen, J. Wu (1995). "Fundamentos lógicos de lenguajes orientados a objetos y basados en marcos", Journal of the ACM 42 (4), julio de 1995, 741–843. doi : 10.1145 / 210332.210335CiteSeer x : 10.1.1.115.3586
- ^ M. Kifer y G. Lausen (1989). "F-lógica: un lenguaje de orden superior para razonar sobre objetos, herencia y esquema", ACM SIGMOD Record 18 (2), junio de 1989, 134-146. doi : 10.1145 / 66926.66939CiteSeer x : 10.1.1.1017.1401
- ^ M. Kifer y G. Lausen (1997). "F-lógica: un lenguaje de orden superior para razonar sobre objetos, herencia y esquema", reeditado en 1997. CiteSeer x : 10.1.1.48.7149
- ^ a b "Premio SIGMOD Test of Time" . sigmod.org . Consultado el 19 de marzo de 2019 .
- ^ M. Kifer, W. Kim, Y. Sagiv (1992). "Consulta de bases de datos orientadas a objetos", ACM SIGMOD Record 21 (2), junio de 1992, 393–402. doi : 10.1145 / 141484.130342CiteSeer x : 10.1.1.50.9598
- ^ Alferes, José Júlio; Pereira, Luís Moniz; Przymusinski, Teodor C. (abril de 1998). " Negación ' clásica' en el razonamiento no monótono y la programación lógica". Revista de razonamiento automatizado . 20 (1-2): 107-142. doi : 10.1023 / A: 1005900924623 .