Startseite
Réserver →
SOP-ADVANCED-QUERY-DATALOG-1.0Rév. v1.0··2026-05-22

Advanced Query (Datalog)

Quand une ligne de filtre ne suffit plus — des règles qui relient, déduisent et condensent

PROCÉDURE
  1. 1
    Insérer un bloc query et passer en mode Datalog.
    OUTILS
    mium
    DURÉE10 sec
    Point de contrôle : Un bloc :find/:where vide est prêt.
  2. 2
    Poser :find sur la grandeur cherchée, remplir :where de conditions — une par ligne.
    OUTILS
    Éditeur Datalog
    DURÉE60 sec
    Point de contrôle : La règle livre un premier ensemble de résultats.
  3. 3
    Relier les variables entre blocs (jointure) ou agréger avec count/sum.
    MATÉRIEL
    Variables ?x
    DURÉE60 sec
    Point de contrôle : Le rapport relie plusieurs critères.
  4. 4
    Enregistrer la règle comme vue nommée ; elle se recalcule à chaque changement.
    MATÉRIEL
    Page ou tableau de bord
    DURÉE15 sec
    Point de contrôle : La règle enregistrée apparaît et se met à jour en direct.
CONTEXTE

Une Simple Query filtre une propriété et devient une vue. Mais dès que vous voulez relier deux choses — les tâches ouvertes issues des réunions d'un trimestre, regroupées par projet — la ligne de filtre s'arrête. Datalog commence précisément là : vous décrivez la relation sous forme de règle, et mium déduit le reste.

Là où la ligne de filtre s'arrête

Une ligne de filtre vérifie les blocs un à un contre des critères fixes. Elle ne sait pas relier d'un bloc à l'autre, ne déduit rien et ne totalise rien. Les rapports multicritères, vous les assemblez sinon à la main depuis plusieurs vues — et vous les entretenez de même. Datalog renverse la logique : une règle qui décrit des relations, et un moteur qui l'évalue.

Anatomie d'une règle

Une règle Datalog comporte deux parties : :find dit quelle grandeur vous voulez voir, :where énumère les conditions — une par ligne. Des variables comme ?task relient les lignes ; lorsqu'une même variable revient plusieurs fois, c'est une jointure.

[:find ?task
 :where
 [?task "type" "task"]
 [?task "status" "offen"]
 [?task "von-meeting" ?m]
 [?m "tag" "q3"]]
;; offene Aufgaben aus Q3-Meetings — ein Join über ?m

5 briques pour Advanced Query

  1. La règle décrit la cible (:find), non le chemin de recherche — vous dites le quoi, pas le comment.
  2. Chaque ligne :where est une condition ; les variables communes les relient en jointure.
  3. Les agrégats condensent : count, sum, max, min, avg sur l'ensemble des résultats.
  4. Une règle est réutilisable — nommez-la, et elle devient une vue pour toute l'équipe.
  5. Poser des limites : les jointures récursives ou non bornées ont besoin d'une borne, sans quoi l'évaluation devient coûteuse.

Exemple : compter les tâches ouvertes par projet

[:find ?projekt (count ?task)
 :where
 [?task "type" "task"]
 [?task "status" "offen"]
 [?task "projekt" ?projekt]]
;; ein Report: pro Projekt die Zahl offener Aufgaben

Avant / après — Simple Query contre Datalog

CapacitéSimple QueryDatalog
Critèresune propriétéautant que voulu
Relier entre blocsnonoui (jointure par variables)
Déduire / agrégernoncount··sum··group
Réutilisablecomme vuecomme règle nommée
Courbe d'apprentissageminutesplus raide, mais plus puissante

Une question honnête

Combien de vos rapports reconstruisez-vous chaque semaine parce qu'ils relient plusieurs critères qu'aucune ligne de filtre ne peut saisir ? La réponse décide si la courbe d'apprentissage plus raide de Datalog vaut la peine pour vous — ou si une Simple Query suffit déjà.

Décrivez ce qui compte — mium calcule le reste.

Une règle, et votre deuxième cerveau construit le rapport — et le tient à jour pendant que vous réfléchissez. Pas d'export, pas d'assemblage à la main ; un partenaire qui comprend vos critères.

Réserver mon créneau··gratuit →
SOP-ADVANCED-QUERY-DATALOG-1.0··Falktron GmbH, Oelde
L’École de printemps est terminée. Voir le Jour 93 → Lancer le jeu →