F-logique - F-logic

F-logic ( frame logic ) est un langage de représentation des connaissances et d' ontologie . F-logic combine les avantages de la modélisation conceptuelle avec des langages orientés objet et basés sur des cadres et offre une syntaxe déclarative, compacte et simple, ainsi que la sémantique bien définie d'un langage basé sur la logique.

Les fonctionnalités incluent, entre autres, l'identité d'objet, les objets complexes, l' héritage , le polymorphisme , les méthodes de requête, l' encapsulation . La logique F est dans la même relation à la programmation orientée objet que le calcul relationnel classique est à la programmation de bases de données relationnelles .

Aperçu

F-logic a été développé par Michael Kifer à l' université de Stony Brook et Georg Lausen à l' université de Mannheim . F-logic a été développé à l'origine pour les bases de données déductives, mais est maintenant le plus souvent utilisé pour les technologies sémantiques, en particulier le web sémantique . La logique F est considérée comme l'un des formalismes pour les ontologies , mais la logique de description (DL) est plus populaire et acceptée, tout comme l' OWL basé sur DL .

Un environnement de développement pour F-logic a été développé dans le projet NeOn et est également utilisé dans une gamme d'applications pour l'intégration d'informations, la réponse aux questions et la recherche sémantique . Avant la version 4 de l'éditeur d'ontologies Protégé, F-Logic est pris en charge comme l'un des deux types d'ontologies.

La syntaxe de trame du dialecte logique de base du format d'échange de règles (RIF BLD) normalisé par le World Wide Web Consortium est basée sur la logique F ; RIF BLD n'inclut cependant pas les fonctionnalités de raisonnement non monotones de la logique F.

Contrairement au formalisme d'ontologie basé sur la logique de description, la sémantique de la logique F est normalement celle d'une hypothèse de monde fermé par opposition à l' hypothèse de monde ouvert de DL . De plus, la logique F est généralement indécidable , alors que la logique de description SHOIN sur laquelle OWL DL est basé est décidable. Cependant, il est possible de représenter des déclarations plus expressives dans la logique F qu'avec les logiques de description.

La description la plus complète de F-logic a été publiée en 1995. L'article préliminaire de 1989 a remporté le 1999 Test of Time Award de l' ACM SIGMOD . Un article de suivi de 1992 a remporté le prix Test of Time 2002 de l'ACM SIGMOD.

Syntaxe de la logique F

Les classes et les individus peuvent être définis dans F-logic comme suit :

man::person.
woman::person.
brad:man.
angelina:woman.

Celui-ci stipule que « les hommes et les femmes sont des personnes » et que « Brad est un homme », et « Angelina est une femme ».

Les déclarations concernant les classes et les individus peuvent être faites comme suit :

person[hasSon=>man].
brad[hasSon->{maddox,pax}].
married(brad,angelina).

Cela définit que « le fils d'une personne est un homme », « Maddox et Pax sont les fils de Brad » et « Brad et Angelina sont mariés ».

De plus, il est possible de représenter les axiomes en logique F de la manière suivante :

man(X) <- person(X) AND NOT woman(X).
X:person[hasFather->Y] <- Y:man[hasSon -> X].

Ceux-ci signifient « X est un homme si X est une personne mais pas une femme » et « si X est le fils de Y alors X est une personne et Y est le père de X ».

Le système Flora-2 a introduit un certain nombre de changements dans la syntaxe de la logique F, la rendant plus adaptée à un système de représentation et de raisonnement des connaissances par opposition à une simple logique théorique. En particulier, les variables sont devenues préfixées par une marque ?, la distinction entre les propriétés fonctionnelles et à valeurs multiples a été abandonnée et remplacée par des contraintes de cardinalité, ainsi que d'autres changements importants. Par exemple, la paire de phrases ci-dessus ressemble à ceci dans Flora-2 :

man(?X) <- person(?X) \and \naf woman(?X).
?X:person[hasFather->?Y] <- ?Y:man[hasSon -> ?X].

Ici \naf est la négation par défaut ("naf" signifie négation-as-échec basée sur la sémantique bien fondée ); Flora-2 prend également en charge la négation dite explicite, qui est plus proche de la négation en logique classique.

Langages basés sur la logique F

Les références