Articulo de referencia

Formato de intercambio de reglas

El formato de intercambio de reglas ( RIF ) es una recomendación del W3C . RIF forma parte de la infraestructura de la web semántica , junto con (principalmente) SPARQL , RDF y ...

El formato de intercambio de reglas ( RIF ) es una recomendación del W3C . RIF forma parte de la infraestructura de la web semántica , junto con (principalmente) SPARQL , RDF y OWL . Aunque inicialmente muchos lo concibieron 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 ]

RIF incluye tres dialectos, un dialecto básico que se extiende 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 constituyó a finales de 2005. Entre sus objetivos figuraba la incorporación de miembros del mercado de reglas comerciales. El grupo de trabajo comenzó con más de 50 miembros y dos presidentes procedentes 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 reglas existentes fue influenciado por un taller celebrado en la primavera de 2005, en el que quedó claro que un único lenguaje de reglas no satisfaría las necesidades de todas las partes interesadas (el Dr. Welty describió el resultado del taller como un 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 informática: es una estructura 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). Derivados en cierta medida de sus raíces en la lógica , los sistemas de reglas utilizan la noción de predicados que se cumplen o no para algún objeto o conjunto de datos. Por ejemplo, el hecho de que dos personas estén casadas podría representarse con los siguientes predicados:

CASADOS (LISA, JOHN)

CASADO es un predicado que se puede decir que se cumple entre LISA y JOHN . Añadiendo la noción de variables, una regla podría ser algo así:

SI ESTÁ CASADO(?x, ?y) ENTONCES AMA(?x, ?y)

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

Las reglas son una forma sencilla de codificar el conocimiento y 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 de reglas particulares, que puede extender la noción simple descrita anteriormente para incluir cuantificación existencial , disyunción , conjunción lógica , negación , funciones , no monotonicidad 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 dichos tipos de datos.

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

DTB

El conjunto de datos y funciones integradas (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 se adaptan de los tipos de datos de esquema XML , [ 6 ] las funciones XPath [ 7 ] y las funciones rdf:PlainLiteral. [ 8 ]

Centro

El dialecto Core comprende un subconjunto común de la mayoría de los dialectos de reglas. RIF-Core es un subconjunto tanto de RIF-BLD como de 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 Core que no están disponibles directamente, como funciones lógicas, igualdad en la parte "then" y argumentos con nombre . El RIF BLD corresponde a registros de datos positivos, es decir, programas lógicos sin funciones ni negaciones.

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

La sintaxis de marcos 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 . Entre las características que se encuentran en PRD pero no en BLD se 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 que se necesitan estrategias de resolución de conflictos cuando se pueden activar varias reglas. La especificación de PRD define una de estas 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 de teoría de modelos.

Ejemplo (Ejemplo 1.2 en [ 10 ] )

Prefijo(ej <http://example.com/2008/prd1#>) (* ej.:regla_1 *) Para todas las compras de clientes acumuladas en lo que va del año ( Si Y( ?cliente#ej:Cliente ?cliente[ej:comprasYTD->?comprasYTD] Externo(pred:numérico-mayor-que(?comprasYTD 5000)) ) Luego, haga ( Modificar(?cliente[ej:estado->"Oro"]) ) ) 

Dialectos RIF no estándar

Existen otros dialectos RIF. Ninguno de ellos cuenta con el respaldo oficial del W3C ni forma parte de la especificación RIF.

CASPD

El dialecto de programación de conjuntos de respuestas básicos (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 modelos estables ).

Ejemplo:

Documento( Prefijo(ej <http://example.com/concepts#>) Grupo ( Para todos ?S ( ej.:afraid(?S ej.:Math) :- Y ( ?S#ex:Student (Naf Neg ej.:afraid(?S ej.:Math)) ) ) Para todos ?S ( Neg ex:afraid(?S ex:Math) :- Y ( ?S#ex:Student ?S[ex:majors -> ex:Math] ) ) ) 

URD

El dialecto de reglas 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( cheapFlight(?x ?y) :- affordableFlight(?x ?y) ) / 0,4 Para todo ?x ?y(ffordableFlight(?x ?y)) / left_shoulder0k4k1k3k(?y) ) ) 

SEDA

RIF-SILK [ 13 ] puede utilizarse para modelar la lógica por defecto . Se basa en la programación lógica declarativa con una semántica bien fundamentada . RIF-SILK también incluye 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://example.org/pub#) Prefijo(silk http://TBD/silk#) Grupo { (* r1 *) Para todo ?a1 ?a2 ?papel (?a1[foaf:sabe->?a2] :- ?paper # pub:Publication[pub:author->?a1, pub:autor->?a2}]) (* r2 *) Para todo ?a1 ?a2 (neg ?a1[foaf:sabe->?a2] :- ?a1[hasNeverMet->?a2]) seda:sobrescribe(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. Notas de clase en informática.
  2. Resumen de RIF
  3. Welty, Chris (2009). " Formato de intercambio de reglas ". Presentación invitada al encuentro de la Web Semántica de Nueva York.
  4. Dialecto básico de 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 dato para literales simples de RDF
  9. M. Krötzsch (octubre de 2010). Description Logic Rules . IOS Press. pág.  10. ISBN 978-1-61499-342-1.
  10. Especificación RIF-PRD
  11. Dialecto de programación del conjunto de respuestas principales de RIF
  12. Zhao y 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 de la Incertidumbre para la Web Semántica (URSW), 2008.
  13. Dialecto de la seda RIF
  14. El lenguaje de la seda, Benjamin Grosof, Michael Kifer, Mike Dean. Vulcan Inc., 2009.
  • Grupo de trabajo RIF
  • Preguntas frecuentes sobre RIF