Est-il possible dans Datalog d'écrire une requête pour les faits où il y a exactement une valeur pour l'une des variables, pour chaque valeur possible des autres variables?Recherche de l'unicité dans Datalog?
par exemple. trouver toutes X
telle qu'il n'y a qu'un seul X
pour chaque Y
dans expr(X, Y)
Etes-vous sûr que le premier est Datalog standard? La négation est-elle une caractéristique standard? –
Il n'y a pas de standard formel, mais la négation est supportée par toutes les variantes de Datalog dont je suis conscient, donc je dirais que vous pouvez considérer cela comme une fonctionnalité standard. Cet exemple est un usage très basique de la négation. La sémantique de la négation devient seulement difficile lorsque la négation est utilisée dans la récurrence (la plupart des systèmes implémentent quelque chose appelé négation stratifiée) ou lorsqu'une variable utilisée dans la négation n'est pas liée positivement dans la règle (connue sous le nom de négation dangereuse). –