stringtranslate.com

Formato de intercambio de reglas

El formato de intercambio de reglas ( RIF ) es una recomendación del W3C . RIF es parte de la infraestructura para la web semántica , junto con (principalmente) SPARQL , RDF y OWL . Aunque muchos lo concibieron originalmente como una "capa de reglas" para la web semántica, en realidad el diseño de RIF se basa en la observación de que existen muchos "lenguajes de reglas" y lo que se necesita es intercambiar reglas entre ellos. [1]

El RIF incluye tres dialectos: un dialecto central que se extiende hasta convertirse en un dialecto de lógica básica (BLD) y un dialecto de reglas de producción (PRD). [2]

Historia

El grupo de trabajo RIF se creó a finales de 2005. Entre sus objetivos estaba atraer a miembros del mercado de normas comerciales. El grupo de trabajo comenzó con más de 50 miembros y dos presidentes provenientes de la industria, Christian de Sainte Marie de ILOG y Chris Welty de IBM . El objetivo de desarrollar un formato de intercambio entre los sistemas de normas existentes fue influenciado por un taller en la primavera de 2005 en el que quedó claro que un lenguaje de normas no satisfaría las necesidades de todas las partes interesadas (el Dr. Welty describió el resultado del taller como Equilibrio de Nash [3] ).

RIF se convirtió en una recomendación del W3C el 22 de junio de 2010. [4]

Reglas y sistemas de reglas

Una regla es quizás una de las nociones más simples en la ciencia informática: es una construcción SI - ENTONCES. Si se cumple alguna condición (la parte SI) que se puede verificar en algún conjunto de datos, entonces se procesa la conclusión (la parte ENTONCES). Derivando en cierta medida de sus raíces en la lógica , los sistemas de reglas utilizan una noción de predicados que se cumplen o no respecto de algún objeto u objetos de datos. Por ejemplo, el hecho de que dos personas estén casadas podría representarse con predicados como:

CASADA (LISA, JOHN)

MARRIED es un predicado que se puede decir que se cumple entre LISA y JOHN . Si añadimos la noción de variables, una regla podría ser algo como:

SI SE CASA CON (?x, ?y) ENTONCES AMA A (?x, ?y)

Esperaríamos que para cada par de ?x y ?y (por ejemplo, LISA y JOHN ) para el cual se cumple el predicado MARRIED , algún sistema informático que pudiera entender esta regla concluiría que el predicado LOVES también se cumple para ese par.

Las reglas son una forma sencilla de codificar el conocimiento y son una simplificación drástica de la lógica de primer orden , para la cual es relativamente fácil implementar motores de inferencia que puedan procesar las condiciones y extraer las conclusiones correctas. Un sistema de reglas es una implementación de una sintaxis y semántica particular de reglas, que puede extender la noción simple descrita anteriormente para incluir cuantificación existencial , disyunción , conjunción lógica , negación , funciones , no monotonía y muchas otras características. Los sistemas de reglas se han implementado y estudiado desde mediados de la década de 1970 y tuvieron una adopción significativa en la década de 1980 durante el auge de los llamados sistemas expertos .

Dialectos RIF estándar

Los dialectos RIF estándar son Core, BLD y PRD. Estos dialectos dependen de una extensa lista de tipos de datos con funciones integradas y predicados sobre esos tipos de datos.

Las relaciones de varios dialectos RIF se muestran en el siguiente diagrama de Venn. [5]

DTB

Datatypes and Built-Ins (DTB) especifica una lista de tipos de datos, funciones integradas y predicados integrados que se espera que sean compatibles con los dialectos RIF. Algunos de los tipos de datos están adaptados de los tipos de datos de esquema XML , [6] funciones XPath [7] y funciones rdf:PlainLiteral. [8]

Centro

El dialecto central comprende un subconjunto común de la mayoría de los dialectos normativos. RIF-Core es un subconjunto de RIF-BLD y RIF-PRD.

FLD

El Marco para Dialectos Lógicos (FLD) describe mecanismos para especificar la sintaxis y la semántica de los dialectos RIF lógicos, incluidos RIF-BLD y RIF-Core, pero no RIF-PRD, que no es un dialecto RIF basado en la lógica.

BLD

El dialecto lógico básico (BLD) añade características al dialecto principal que no están disponibles directamente, como: funciones lógicas, igualdad en la parte "entonces" y argumentos nombrados . RIF BLD corresponde a registros de datos positivos, es decir, programas lógicos sin funciones ni negaciones.

RIF-BLD tiene una semántica de teoría de modelos .

La sintaxis de marco de RIF BLD se basa en la lógica F , pero RIF BLD no tiene las características de razonamiento no monótono de la lógica F. [9]

PRD

El dialecto de reglas de producción (PRD) se puede utilizar para modelar reglas de producción . Las características que se encuentran de manera notable en PRD pero no en BLD incluyen la negación y la retractación de hechos (por lo tanto, PRD no es monótono). Las reglas de PRD dependen del orden, por lo tanto, se necesitan estrategias de resolución de conflictos cuando se pueden activar múltiples reglas. La especificación PRD define una de esas estrategias de resolución basada en el razonamiento de encadenamiento hacia adelante .

RIF-PRD tiene una semántica operacional , mientras que las fórmulas de condición también tienen una semántica teórica de modelos.

Ejemplo (Ejemplo 1.2 en [10] )

Prefijo(ex <http://example.com/2008/prd1#>)(* ej.: regla_1 *)Para todas las compras de clientes hasta la fecha ( Si Y(?cliente#ex:Cliente ?cliente[ex:comprasYTD->?comprasYTD] Externo(pred:numerico-mayor-que(?comprasYTD 5000)) ) Luego haz( Modificar(?cliente[ex:estado->"Oro"]) ) )

Dialectos RIF no estándar

Existen otros dialectos RIF, pero ninguno de ellos cuenta con el respaldo oficial del W3C y no forman parte de la especificación RIF.

CASPD

El dialecto de programación de conjuntos de respuestas centrales (CASPD) [11] se basa en la programación de conjuntos de respuestas , es decir, programación lógica declarativa basada en la semántica de conjuntos de respuestas ( semántica de modelo estable ).

Ejemplo:

Documento( Prefijo(ex <http://ejemplo.com/conceptos#>) Grupo ( Para todos ?S ( ex:miedo(?S ex:Matemáticas) :- Y ( ?S#ex:Estudiante (Naf Neg ex:miedo(?S ex:Matemáticas)) ) )  Para todos ?S ( Negativo ej:miedo(?S ej:Matemáticas) :- Y ( ?S#ex:Estudiante ?S[ex:especialidades -> ex:Matemáticas] ) ) )

Urdú

El dialecto de la regla de incertidumbre (URD) ​​[12] admite una representación directa del conocimiento incierto.

Ejemplo:

Documento( Importar (<http://example.org/fuzzy/membershipfunction >) Grupo ( Para todo ?x ?y( vuelobarato(?x ?y) :- vueloasequible(?x ?y) ) / 0,4 Para todos ?x ?y(vueloasequible(?x ?y)) / hombro_izquierdo0k4k1k3k(?y) ) )

SEDA

RIF-SILK [13] se puede utilizar para modelar la lógica predeterminada . Se basa en la programación lógica declarativa con una semántica bien fundamentada . RIF-SILK también incluye una serie de otras características presentes en lenguajes de programación lógica declarativa más sofisticados, como SILK. [14]

Ejemplo

Documento { Prefijo(foaf http://xmlns.com/foaf/0.1/) Prefijo(pub http://ejemplo.org/pub#) Prefijo(seda http://TBD/seda#) Grupo { (* r1 *) Para todo ?a1 ?a2 ?papel (?a1[foaf:sabe->?a2]  :- ?paper # pub:Publicación[pub:autor->?a1, pub:autor->?a2}]) (* r2 *) Para todo ?a1 ?a2 (neg ?a1[foaf:sabe->?a2]  :- ?a1[nunca se ha conocido->?a2]) seda: reemplaza (r2, r1) }}

Véase también

Referencias

  1. ^ Kifer, Michael (2008). "Formato de intercambio de reglas: el marco". en: Razonamiento web y sistemas de reglas. Apuntes de clases de informática
  2. ^ Descripción general de RIF
  3. ^ Welty, Chris (2009). "Formato de intercambio de reglas". Presentación invitada en el encuentro de la Web semántica de Nueva York.
  4. ^ Dialecto básico del RIF
  5. ^ Casos de uso y requisitos de RIF
  6. ^ Tipos de datos del esquema XML
  7. ^ Funciones XPath
  8. ^ rdf:PlainLiteral: un tipo de datos para literales simples RDF
  9. ^ M. Krötzsch (octubre de 2010). Descripción Reglas lógicas. IOS Press. p. 10. ISBN 978-1-61499-342-1.
  10. ^ Especificación RIF-PRD
  11. ^ Conjunto de respuestas básicas de RIF Dialecto de programación
  12. ^ Zhao & Boley. Tratamiento de la incertidumbre en el formato de intercambio de reglas: de la codificación a la extensión. En el 4º Taller internacional sobre razonamiento basado en la incertidumbre para la Web semántica (URSW), 2008.
  13. ^ Dialecto RIF SILK
  14. ^ El lenguaje de la seda, Benjamin Grosof, Michael Kifer, Mike Dean. Vulcan Inc., 2009.

Enlaces externos