Articulo de referencia

Lógica F

F-logic ( Frame Logic ) es un lenguaje de representación del conocimiento y de ontologías . Combina las ventajas del modelado conceptual con los lenguajes orientados a objetos y...

F-logic ( Frame Logic ) es un lenguaje de representación del conocimiento y de ontologías . Combina las ventajas del modelado conceptual con los lenguajes orientados a objetos y basados ​​en marcos , y ofrece una sintaxis declarativa , compacta y sencilla , así como la semántica bien definida de un lenguaje de programación lógica .

Entre sus características se incluyen la identidad de objetos, los objetos complejos, la herencia , el polimorfismo , los métodos de consulta y la encapsulación . La lógica F guarda la misma relación con la programación orientada a objetos que el cálculo relacional clásico con la programación de bases de datos relacionales .

Descripción general

F-logic fue desarrollado por Michael Kifer en la Universidad de Stony Brook y Georg Lausen en la Universidad de Mannheim . Originalmente, F-logic se desarrolló para bases de datos deductivas, pero actualmente se utiliza con mayor frecuencia en tecnologías semánticas , especialmente en la web semántica . F-logic se considera uno de los formalismos para ontologías , pero la lógica descriptiva (DL) es más popular y aceptada, al igual que el lenguaje de ontología web (OWL) basado en DL .

En el proyecto NeOn se desarrolló un entorno de desarrollo para F-Logic, que también se utiliza en diversas 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 era compatible como uno de los dos tipos de ontología.

La sintaxis de marcos 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 omite las características de razonamiento no monótono de la lógica F. [ 1 ]

A diferencia del formalismo ontológico basado en la lógica descriptiva , la semántica de la lógica F se basa normalmente en la suposición de un mundo cerrado, en contraste con la suposición de un mundo abierto de la lógica descriptiva . Además, la lógica F es generalmente indecidible , mientras que la lógica descriptiva SHOIN, en la que se basa la lógica descriptiva del lenguaje de ontología web (OWL), sí lo es. Sin embargo, es posible representar enunciados más expresivos en la lógica F que con las lógicas descriptivas.

La descripción más completa de F-logic se publicó en 1995. [ 2 ] El artículo preliminar [ 3 ] [ 4 ] de 1989 ganó el premio Test of Time de ACM SIGMOD en 1999. [ 5 ] Un artículo de seguimiento [ 6 ] de 1992 ganó el premio Test of Time de ACM SIGMOD en 2002. [ 5 ]

Sintaxis de lógica F

En lógica F, las clases y los individuos se pueden definir de la siguiente manera:

hombre::persona. mujer::persona. Brad: hombre. Angelina:mujer.

Esto afirma que "los hombres y las mujeres son personas" y que "Brad es un hombre" y "Angelina es una mujer".

Las afirmaciones sobre clases e individuos pueden hacerse de la siguiente manera:

persona[tieneHijo= > hombre]. brad[tieneHijo- > {maddox,pax}]. casados ​​(Brad, Angelina).

Esto define que "el hijo de una persona es un hombre", "Maddox y Pax son 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 [ tienePadre-> Y ] <- Y :hombre [ tieneHijo -> X ].

Esto significa "X es un hombre si X es una persona pero no una mujer" y "si X es hijo de Y, entonces X es una persona y Y es el padre de X".

(Nota: esta última inferencia no es objetiva, ya que además de padres, los hijos también tienen madres. El género de X está determinado por la premisa, pero el género de Y no lo está).

El sistema Flora-2 introdujo varios cambios en la sintaxis de la lógica F, haciéndola más adecuada para un sistema de representación del conocimiento y razonamiento, en lugar de una simple lógica teórica. En particular, las variables pasaron a tener como prefijo el  signo de interrogación (?), se eliminó la distinción entre propiedades funcionales y multivaluadas y se reemplazó por restricciones de cardinalidad, además de otros cambios importantes. Por ejemplo, el par de oraciones anterior se ve así en Flora-2:

hombre ( ? X ) <- persona ( ? X ) \and \naf mujer ( ? X ). ? X :persona [ tienePadre->? Y ] <- ? Y :hombre [ tieneHijo -> ? X ].

Aquí \naf es la negación por defecto ("naf" significa Negación como fallo , basado en la semántica bien fundamentada ); 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 F-logic con HiLog , lógica de transacciones y razonamiento derrotable .
  • Ergo es un sistema comercial basado en F-logic, que amplía las funcionalidades de Flora-2.
  • PathLP es un lenguaje de programación lógica completo basado en F-logic.
  • FLORID (F-LOGIC Reasoning In Databases) es una implementación basada en C++.
  • Lenguaje de modelado de servicios web (WSML) Archivado el 2 de mayo de 2007 en Wayback Machine
  • Lenguaje de Servicios Web Semánticos (SWSL)
  • El lenguaje ObjectLogic se basa en F-logic; OntoStudio es una implementación de ObjectLogic realizada por semafora systems GmbH (anteriormente Ontoprise GmbH ).
  • OO-logic es el sucesor de F-logic; SemReasoner y Ontology Management System (OSM) son implementaciones de OO-logic realizadas por adesso SE.

Referencias

  1. Krötzsch, M. (octubre de 2010). Description Logic Rules . IOS Press. pág.  10. ISBN 978-1-61499-342-1.
  2. Kifer, M.; Lausen, G.; Wu, J. (julio de 1995). "Fundamentos lógicos de los lenguajes orientados a objetos y basados ​​en marcos" . Journal of the ACM . 42 (4): 741– 843. doi : 10.1145/210332.210335 .
  3. Kifer, M.; Lausen, G. (1 de junio de 1989). "F-logic: un lenguaje de orden superior para razonar sobre objetos, herencia y esquemas". ACM SIGMOD Record . 18 (2): 134– 146. doi : 10.1145/66926.66939 .
  4. Kifer, M.; Lausen, G. (1997). "F-logic: un lenguaje de orden superior para razonar sobre objetos, herencia y esquemas (reedición)". ACM SIGMOD Record . 18 (2): 134– 146. doi : 10.1145/66926.66939 .
  5. 1 2 "Premio SIGMOD a la trayectoria" . sigmod.org . Consultado el 19 de marzo de 2019 .
  6. Kifer, M.; Kim, W.; Sagiv, Y. (junio de 1992). "Consulta de bases de datos orientadas a objetos". ACM SIGMOD Record . 21 (2): 393– 402. doi : 10.1145/141484.130342 .
  7. Alferes, José Júlio; Pereira, Luis Moniz; Przymusinski, Teodor C. (abril de 1998). "Negación 'clásica' en el razonamiento no monótono y la programación lógica". Journal of Automated Reasoning . 20 ( 1– 2): 107– 142. doi : 10.1023/A:1005900924623 . S2CID 8882426 .