stringtranslate.com

Lógica F

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

Las características incluyen, entre otras, identidad de objeto, objetos complejos, herencia , polimorfismo , métodos de consulta y encapsulación . La lógica F tiene 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 Stony Brook y Georg Lausen en la Universidad de Mannheim . F-logic 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 de descripción (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 una variedad de aplicaciones para la integración de información, respuesta a preguntas y 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 marco del dialecto lógico básico del formato de intercambio de reglas (RIF BLD) estandarizado por el World Wide Web Consortium se basa en F-logic; Sin embargo, RIF BLD omite las características de razonamiento no monótonos de la lógica F. [1]

En contraste con el formalismo ontológico basado en la lógica de descripción , la semántica de la lógica F es normalmente la de un supuesto de mundo cerrado en contraste con el supuesto de mundo abierto de DL . Además, la lógica F es generalmente indecidible , [ cita necesaria ] mientras que la lógica de descripción SHOIN en la que se basa Web Ontology Language (OWL) DL es decidible. Sin embargo, es posible representar declaraciones más expresivas en lógica F que con lógicas de descripción.

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 1999 de ACM SIGMOD . [5] Un artículo de seguimiento [6] de 1992 ganó el premio Test of Time 2002 de ACM SIGMOD. [5]

Sintaxis lógica F

Las clases y los individuos se pueden definir en 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 pueden hacerse de la siguiente manera:

persona[tieneHijo=>hombre].brad[hasSon->{maddox,pax}].casado (brad, angelina).

Este 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 ].

Estos significan "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 e Y es el padre de X".

(Nota: la última inferencia no es objetiva, porque 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.)

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 razonamiento y representación del conocimiento en lugar de solo una lógica teórica. En particular, las variables pasaron a tener el prefijo ?, la distinción entre propiedades funcionales y multivaluadas se abandonó y se reemplazó por restricciones de cardinalidad, además de otros cambios importantes. Por ejemplo, el par de oraciones anteriores se ve así en Flora-2:

 hombre ( ? X )  <-  persona ( ? X )  \y  \naf  mujer ( ? X ).  ? X :persona [ tienePadre->? Y ]  <-  ? Y :man [ hasSon  ->  ? X ].

Aquí \naf es la negación predeterminada ("naf" significa Negación como falla , según una 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

Referencias

  1. ^ Krötzsch, M. (octubre de 2010). Descripción Reglas lógicas. Prensa IOS. pag. 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". Revista de la 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". Registro ACM SIGMOD . 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 (reeditado)". Registro ACM SIGMOD . 18 (2): 134-146. doi :10.1145/66926.66939.
  5. ^ ab "Premio SIGMOD Prueba del Tiempo". 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". Registro ACM SIGMOD . 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 razonamiento no monótono y programación lógica". Journal of Automated Reasoning . 20 (1–2): 107–142. doi :10.1023/A:1005900924623. S2CID  8882426.