Rule Interchange Format

Page d’aide sur l’homonymie

Pour les articles homonymes, voir RIF.

Cet article est une ébauche concernant le Web sémantique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) — pour plus d’indications, visitez le projet Web Sémantique.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cette section ou cet article est une traduction incomplète ().

Vous pouvez modifier la page pour effectuer la traduction.

Le Rule Interchange Format (RIF) est une recommandation du W3C. RIF fait partie de la feuille de route du web sémantique, avec principalement SPARQL, RDF et OWL. Bien que prévu initialement par beaucoup comme une "couche de règles logiques" pour le web sémantique, en réalité, la conception du RIF est basée sur l'observation qu'il existe de nombreux "langages de règles" et qu'il est nécessaire de s'échanger des règles entre eux[1].

RIF comprend trois dialectes, un dialecte de base (Core dialect), un dialecte logique de base (BLD pour Basic Logic Dialect) et le dialecte de la règle de production (PRD pour Production Rule Dialect)[2].

Historique

Le groupe de travail sur le RIF est initié fin 2005. Un de ses objectifs est d'attirer des promoteurs de règles sur les marchés commerciaux. Le groupe de travail commence avec plus de 50 membres, dont 2 issus de l’industrie, Christian de Sainte-Marie de l’ILOG, et Chris Welty d’IBM. La charte de développement d'un format d’échange entre les systèmes de règles existants est influencée par un séminaire de l’été 2005, pour lequel il était clair qu’une seule règle de langage ne servirait pas les besoins des partis intéressés (le Docteur Welty décrit le résultat de ce séminaire comme étant un Équilibre de Nash[3]).

RIF est devenu une recommandation du W3C le [4].

Règles et Systèmes de règles

Une règle est peut-être l'une des plus simples notions en informatique : c'est une construction SI (IF) - ALORS(THEN). Si certaines conditions (dans la partie SI) sont vérifiables avec certaines données, alors la conclusion (la partie ALORS) est traitée. Issu de la logique, les systèmes de règle utilisent la notion de prédicats qui permet l'inférence ou non de données ou d'objets. Par exemple, le fait que deux personnes soient mariées, peut être représenté avec des prédicats comme MARIÉ(LISA, JOHN). MARIÉ est un prédicat qui offre une inférence entre LISA et JOHN. En ajoutant la notion de variables, une règle pourrait ressembler à :

SI ''MARIÉ(?x, ?y)'' ALORS ''AIME(?x, ?y)''

Ainsi pour chaque paire de ?x et ?y (par exemple, LISAet JOHN) où le prédicat MARIÉ est appliqué, un système informatique pourra déduire avec cette règle que le prédicat AIME s'applique à la paire ?x et ?y.

Les règles sont un moyen simple de savoir représenter une connaissance, et sont une simplification radicale de logique du premier ordre pour laquelle il est relativement facile de mettre en œuvre des moteurs d'inférence qui peuvent traiter les conditions et déduire de bonnes conclusions. Un système de règles est une implémentation particulière d'une syntaxe et d'une sémantique de règles, qui peuvent s'étendre de la simple notion décrite ci-dessus afin d'inclure :

  • la quantification existentielle
  • la disjonction logique
  • la conjonction logique
  • la négation des fonctions
  • la non monotonie
  • et de nombreuses autres fonctionnalités.

Les systèmes de règles ont été appliqués et étudiés depuis le milieu des années 1970 et ont largement adoptés dans les années 1980 lors de l'apparition des systèmes expert.

Dialectes standard RIF

Les dialectes standard RIF sont le Core, le BLD et le PRD. Ces dialectes dépendent d'une liste extensive de types de données avec des fonctions intégrées et envisagées sur ces types de données.

Les relations entre les différents dialectes RIF sont montrés dans le diagramme de Venn[5].

DTB

Core

FLD

BLD

PRD

Exemple (Example 1.2 in [6])

Prefix(ex <http://example.com/2008/prd1#>)
(* ex:rule_1 *)
Forall ?customer ?purchasesYTD (
 If   And( ?customer#ex:Customer
           ?customer[ex:purchasesYTD->?purchasesYTD]
           External(pred:numeric-greater-than(?purchasesYTD 5000)) )
 Then Do( Modify(?customer[ex:status->"Gold"]) ) )

Non-standard RIF Dialects

CASPD

Exemple :

Document(
      Prefix(ex <http://example.com/concepts#>)

      Group (
          Forall ?S (
              ex:afraid(?S ex:Math) :- And ( ?S#ex:Student (Naf Neg ex:afraid(?S ex:Math)) )
	  )
      
	  Forall ?S (
	      Neg ex:afraid(?S ex:Math) :- And ( ?S#ex:Student ?S[ex:majors -> ex:Math] )
	  )
      )

URD

Exemple :

Document( 
  Import (<http://example.org/fuzzy/membershipfunction >) 
  Group 
  ( 
    Forall ?x ?y( 
        cheapFlight(?x ?y) :- affordableFlight(?x ?y) 
    )  / 0.4 
    Forall ?x ?y(affordableFlight(?x ?y))  / left_shoulder0k4k1k3k(?y) 
  )    ) 

SILK

Exemple

Document {
      Prefix(foaf http://xmlns.com/foaf/0.1/)
      Prefix(pub http://example.org/pub#)
      Prefix(silk http://TBD/silk#)
      Group {
        (* r1 *) Forall ?a1 ?a2 ?paper 
                 (?a1[foaf:knows->?a2] 
                  :- ?paper # pub:Publication[pub:author->?a1,
      					  pub:author->?a2}])
        (* r2 *) Forall ?a1 ?a2
                 (neg ?a1[foaf:knows->?a2] 
                  :- ?a1[hasNeverMet->?a2])
        silk:overrides(r2, r1)
      }
}

Références

  1. Kifer, Michael (2008). "Rule Interchange Format: The Framework". in: Web Reasoning and Rule Systems. Lecture Notes in Computer Science
  2. « RIF Overview », sur w3.org (consulté le ).
  3. https://www.w3.org/2005/rules/wiki/images/b/b0/W3C_RIF-CW-9-09.pdf
  4. « RIF Core Dialect », sur w3.org (consulté le ).
  5. « RIF Use Cases and Requirements (Second Edition) », sur w3.org (consulté le ).
  6. RIF-PRD specification

Liens externes

  • RIF Working Group
  • RIF FAQ
v · m
Contexte
Semantic Web Stack
Applications et interfaces
Triplestore
Règles
Structure
Requête
Échange
Syntaxe
Identifiant
Caractères
Autres ontologies
Articles liés
  • icône décorative Portail de l’informatique
  • icône décorative Portail d’Internet
  • icône décorative Portail du Web sémantique