Interroger les données de l'ontologie
Posez à Chat des questions sur vos données structurées — les types d'objets de l'ontologie adossés à des sources de données répondent aux recherches, aux filtres et aux synthèses directement dans la conversation.
Chat peut répondre à des questions sur les données structurées de votre organisation — tout type d'objet de l'ontologie adossé à une source de données (rapports d'incident, installations, observations, relevés de capteurs, …). Posez votre question en langage naturel ; Chat découvre les données existantes, les filtre et synthétise les enregistrements correspondants.
Pour que des données soient interrogeables, il faut un type d'objet de l'ontologie doté d'une liaison silver_table vers une source de données active. Les deux sont généralement fournis ensemble dans un pack. Consultez Création : ontologies pour savoir comment déclarer des liaisons.
Fonctionnement
Quatre outils de chat travaillent ensemble :
ontology_list_types— découvre la surface interrogeable : chaque type d'objet, dans les ontologies que vous pouvez lire, qui est adossé à une source de données. Chat l'appelle en premier lorsqu'il ne sait pas quelles données sont installées.ontology_query— récupère les enregistrements correspondants pour un ou plusieurs types d'objets, avec des filtres facultatifs et une limite de lignes. Chat raisonne ensuite sur les lignes renvoyées pour répondre à votre question.ontology_search— recherche hybride : un LLM traduit la question en requête d'ontologie structurée (y compris des parcours de relations — voir ci-dessous) tandis qu'une recherche par mots-clés (grep) s'exécute en parallèle ; les résultats sont fusionnés avec des étiquettes de provenance.ontology_neighbors— parcourt le graphe de l'ontologie à un saut d'un enregistrement connu : tout ce qui lui est lié, avec le nom et le sens de la relation.
Aucune configuration n'est requise — installer un pack qui fournit des sources de données et une ontologie rend ses types d'objets immédiatement interrogeables.
Poser des questions
Interrogez Chat naturellement. Exemples qui déclenchent une requête de données :
- « Combien d'intrusions de drones critiques ont été détectées ce mois-ci ? »
- « Liste les installations de défense en Estonie »
- « Quels incidents mentionnent du brouillage GPS ? Résume les trois plus récents. »
- « Compare le nombre d'intrusions par pays depuis le 1er juin »
Pour les questions géospatiales (« affiche-les sur une carte »), Chat utilise plutôt l'outil de visualisation cartographique — les deux se combinent : demandez d'abord une synthèse filtrée, puis « place-les sur une carte ».
Suivre les relations
Les ontologies déclarent des types de liens entre types d'objets (une unité opère un drone, un incident référence une installation). Chat les utilise de deux manières :
- Des questions relationnelles en une seule fois — « quels drones l'escadron Falcon opère-t-il ? » se traduit par une recherche qui filtre un type via sa relation avec un autre. Cela fonctionne pour tout lien de référence dont le type de lien déclare une règle de jointure (
join: { sourceColumn, targetColumn }surdefineLinkType) ; les liens sans règle de jointure sont signalés honnêtement (« ce lien nécessite une règle de jointure ») au lieu de renvoyer silencieusement des correspondances par mots-clés sans rapport. - L'exploration à partir d'un enregistrement connu — après n'importe quel résultat de requête ou de recherche, Chat peut demander les voisins de l'enregistrement : chaque instance liée, la relation par laquelle elle est arrivée et son sens. Les questions de suivi comme « qu'est-ce qui est encore connecté à cette installation ? » se résolvent de cette manière.
Les questions de listage qui nomment directement un type — « affiche-moi toutes mes observations de drones » — se résolvent également via l'ontologie : lorsque votre question nomme l'un des types de l'ontologie, la recherche renvoie les instances de ce type sous forme de correspondances structurées plutôt que de se rabattre sur des résultats par mots-clés. Les questions relationnelles qui nécessiteraient deux sauts (X observé en tant que O, O à proximité de Y) reçoivent une réponse un saut à la fois ; lorsqu'une seule recherche ne peut pas exprimer la chaîne, la réponse l'indique explicitement au lieu de renvoyer un résultat vide.
Les deux chemins s'exécutent sur les mêmes lectures gouvernées que tout le reste — les colonnes masquées et le filtrage par habilitation s'appliquent avant toute mise en relation.
Surveillances et détections
Une surveillance (watch) est une règle de détection permanente dans votre ontologie — par exemple une surveillance de concentration aérienne qui se déclenche lorsqu'un nombre suffisant de rôles d'aéronefs distincts se rassemblent au-dessus d'une zone d'intérêt dans une fenêtre temporelle (voir Création : règles de surveillance). Deux outils permettent à Chat de répondre à des questions à leur sujet :
ontology_watches— liste les surveillances que vous êtes habilité à lire : slug et nom, si elle est activée, la zone qu'elle couvre, sa fenêtre temporelle, ce qui la déclenche (nombre minimal de rôles distincts et score minimal, ou pour une surveillance de silence radio le nombre minimal d'entités ayant cessé d'émettre, plus tout minimum de rôles ou de score qu'elle définit également), ses pondérations de rôles et son plafond de saturation, ses règles de suppression et le type de détection qu'elle émet.ontology_watch_detections— les dernières détections, de la plus récente à la plus ancienne, pour une surveillance ou pour toutes : quand chacune s'est déclenchée, son score, les rôles distincts présents, le nombre de points que chaque rôle a ajouté au score (la même ventilation par rôle que celle affichée par la revue des détections d'Analytics) et si cette ventilation explique la totalité du score, le nombre de contacts, la zone et la règle sur laquelle la surveillance se déclenche. Pour une surveillance sans détection, l'outil énonce cette règle, de sorte que « pourquoi ne s'est-elle pas déclenchée ? » trouve sa réponse dans la surveillance elle-même. Jusqu'à 20 par réponse (Chat en affiche 10 par défaut). Chat lit jusqu'à 200 détections de chaque type de détection, de la plus ancienne à la plus récente ; lorsqu'un type a atteint ce nombre, Chat le signale, ne qualifie aucune détection de plus récente et n'affirme pas qu'une surveillance de ce type ne s'est pas déclenchée, car des détections plus récentes peuvent ne pas avoir été lues.
Exemples :
- « Quelles surveillances avons-nous en place, et lesquelles sont activées ? »
- « Comment la surveillance de concentration de Kaliningrad décide-t-elle de se déclencher ? »
- « Quelque chose a-t-il été détecté au cours de la dernière journée ? Affiche les dernières détections. »
- « Quand la surveillance de concentration s'est-elle déclenchée pour la dernière fois, et quels rôles étaient présents ? »
- « Quels rôles ont contribué à la dernière détection de concentration, et combien chacun a-t-il ajouté au score ? »
- « Pourquoi la surveillance de concentration ne s'est-elle pas déclenchée ? »
Les contacts individuels ayant contribué à une détection (indicatifs d'appel, positions) ne sont pas renvoyés dans le chat — ouvrez la détection dans Analytics, où la lecture gouvernée les affiche sous réserve de votre habilitation. La ventilation par rôle est calculée à partir des contacts renvoyés avec la détection ; lorsqu'aucun n'a été renvoyé, Chat le signale au lieu d'afficher une ventilation. Une détection conserve au plus 64 de ses contacts, par ordre de pondération décroissant : lorsqu'elle en a compté davantage, Chat indique que la ventilation provient de cet échantillon, et lorsque la ventilation ne correspond pas au score enregistré — l'échantillon a laissé de côté des contacts comptant dans le score, ou les pondérations de la surveillance ont changé depuis son déclenchement — Chat la présente comme une partie du score, et non comme la raison du déclenchement de la surveillance. Si deux ontologies définissent une surveillance portant le même nom et le même type de détection, une détection n'enregistre pas laquelle des deux l'a déclenchée : Chat ne la ventile donc selon les pondérations d'aucune des deux surveillances — même lorsque votre question nomme l'une de ces ontologies — et la revue des détections d'Analytics nomme les deux surveillances au lieu d'afficher une ventilation par rôle.
Une réponse vide énonce la règle de chaque surveillance et ne considère jamais le silence comme la preuve que rien ne s'est produit : une surveillance désactivée n'est pas évaluée, une détection marquée au-dessus de votre habilitation ne vous est pas affichée, une surveillance n'enregistre une détection que lorsqu'elle est évaluée, et elle ne voit que les enregistrements de son type cible qui parviennent à l'ontologie (des sources comme l'ADS-B sont coopératives) — pour une surveillance de silence radio, seule une entité qui émettait avant de se taire est prise en compte.
Filtres
Chat traduit votre question en clauses de filtre, combinées avec AND :
| Opérateur | Signification |
|---|---|
eq / neq | (In)égalité exacte, tolérante aux représentations chaîne/nombre |
contains | Correspondance de sous-chaîne insensible à la casse |
gt / gte / lt / lte | Comparaison numérique lorsque les deux opérandes sont des nombres ; sinon lexicographique — les horodatages ISO-8601 se comparent correctement |
in | Correspond à n'importe quelle valeur d'une liste de chaînes ou de nombres, avec la même tolérance que eq |
Limites des résultats
Les réponses restent compactes afin que la conversation reste rapide :
- Jusqu'à 100 lignes par type d'objet et par requête (Chat en demande 25 par défaut).
- Les champs de texte longs sont tronqués dans les résultats des outils.
- Lorsque plus d'enregistrements correspondent que ceux affichés, Chat reçoit les totaux réels (« Found 70 incursions. Showing the first 25. ») afin de pouvoir affiner le filtre ou agréger plutôt que de deviner.
Contrôle d'accès
Les requêtes s'exécutent dans le périmètre de votre espace de travail : seules les ontologies lisibles dans votre espace de travail sont interrogées, et les lignes proviennent de la même projection gouvernée que celle qui alimente le reste de la plateforme — il n'existe aucun canal parallèle vers les tables sous-jacentes. Les surveillances et les détections suivent la même règle : une surveillance ou une détection située au-dessus de votre habilitation n'est tout simplement pas renvoyée.