Zum Inhalt springen

ARGUS · Technik im Detail

Beziehungen zwischen Objekten werden zu Pfaden, die man prüfen kann.

Wie ARGUS die Beziehungen der Ontologie als Graph führt, Fragen als Pfade mit Herkunft und Vertrauen beantwortet und dabei nur sichtbare Kanten benutzt.

Die Ontologie führt Beziehungen zwischen Objekten. ARGUS legt sie als Graph an und beantwortet Fragen als Pfade: Wie hängen zwei Objekte zusammen? Was hängt von einem ab? Wo bricht eine Verbindung, wenn eine Beziehung wegfällt? Jeder Pfad besteht aus Beziehungen mit Herkunft, Gültigkeit und Vertrauen, sodass sich die Antwort Glied für Glied nachprüfen lässt. So ist der Graph angelegt.

Diese Seite beschreibt die Bauweise des Systems. Gebaut sind der Prototyp von Freigabe und Protokoll und der Demonstrator von KALKÜL; den ganzen Stand finden Sie unter Was heute steht.

Auf dieser Seite
  1. 01Ein Graph als Sicht auf die Ontologie
  2. 02Fragen als Pfade
  3. 03Jeder Pfad ist prüfbar
  4. 04Der Graph zu einem Stichtag
  5. 05Nur sichtbare Kanten
  6. 06Eckdaten
  7. 07Weiter

Ein Graph als Sicht auf die Ontologie

Der Graph ist ein Property Graph: Knoten sind Objekte mit Typ, Kanten sind gerichtete, typisierte Beziehungen, und beide tragen Eigenschaften. An jeder Kante hängen Herkunft, Gültigkeitszeit, Erfassungszeit und Vertrauen. Die Beziehungstypen kommen aus der Ontologie, ARGUS erfindet keine eigenen.

Der Graph ist keine zweite Wahrheit. Die Ontologie bleibt führend, und der Graph ist eine Projektion, die aus ihr gebaut und fortgeschrieben wird. Wo ein Graphspeicher dafür besser geeignet ist, liegt die Projektion dort; ebenso lässt sie sich in einer relationalen Datenbank mit rekursiven Abfragen führen. Abfragen lassen sich in den Standards beschreiben, die dafür entstanden sind: SQL/PGQ als Teil von SQL:2023 und GQL, ISO/IEC 39075.

Kanten haben eine Richtung und ein Verb, das sich lesen lässt: Das Objekt hängt ab von jenem, gehört zu, betrifft. Eine Beziehung, die in beide Richtungen etwas anderes bedeutet, hat zwei Typen und nicht einen mit zwei Lesarten.

Graph im Schnitt

Unten die Ontologie, aus der der Graph gebaut wird. Darüber die Rechteprüfung, die den sichtbaren Teil bestimmt, und oben die Antwort als Pfad mit Beleg.

Graph in ARGUS im Schnitt: Ontologie, Graph, Recht, AntwortUnten die Ontologie, aus der der Graph gebaut wird. Darüber die Rechteprüfung, die den sichtbaren Teil bestimmt, und oben die Antwort als Pfad mit Beleg.AntwortPFAD MIT BELEGPFADHERKUNFTSichtbarer TeilNACH RECHT UND MARKIERUNGKANTENGraphPROJEKTIONKNOTENKANTENOntologieFÜHRENDOBJEKTBEZIEHUNGGEBAUT AUS
  • Antwort (Pfad mit Beleg): Pfad, Herkunft.
  • Sichtbarer Teil (nach Recht und Markierung): Kanten.
  • Graph (Projektion): Knoten, Kanten.
  • Ontologie (führend): Objekt, Beziehung.
  • gebaut aus: fließt von ontologie nach antwort.
SCHNITT VON VORN

Fragen als Pfade

Aus dem Graphen beantwortet ARGUS wenige Arten von Fragen, die jede für sich eine feste Bedeutung haben. Verbindung: Welche Pfade führen von A nach B, der kürzeste und alle bis zu einer Länge? Abhängigkeit: Welche Objekte sind von A aus erreichbar, wenn man bestimmten Beziehungstypen folgt, etwa alles, was an A hängt? Umgebung: Was liegt in k Schritten um A? Engpass: Welche Objekte oder Beziehungen trennen den Graphen, wenn sie ausfallen?

Die Verfahren dahinter sind bekannt: Breitensuche für kürzeste Pfade in Schritten, Dijkstra für gewichtete Kanten, die transitive Hülle für Abhängigkeiten, Zusammenhangskomponenten und Artikulationspunkte für Engpässe. Jede Abfrage hat eine Obergrenze für Tiefe und Rechenzeit, damit sie auch auf einem großen Graphen endet.

Das Vertrauen eines Pfads ist nie größer als das seiner schwächsten Beziehung. ARGUS zeigt das so und weist die schwächste Kante aus, statt es in einer einzigen Zahl zu verbergen. Knoten mit sehr vielen Kanten, die an fast allem hängen, werden bei der Suche nicht ungebremst durchlaufen; die Abfrage nennt, wo sie begrenzt hat.

Jeder Pfad ist prüfbar

Ein Pfad ist eine Folge aus Objekt, Beziehung, Objekt. Zu jeder Beziehung gehört der Beleg: Typ, Quelle und Zeile, Gültigkeitszeit, Erfassungszeit, Vertrauen und wer sie angelegt hat, eine Regel, eine Abbildung oder ein Mensch. Wer einem Pfad nicht traut, folgt ihm Kante für Kante bis zur Rohzeile der Quelle.

Beziehungen, die ARGUS aus Regeln ableitet, etwa weil sich zwei Beziehungen zu einer dritten verketten lassen, sind als abgeleitet gekennzeichnet und nennen die Regel mit Version und die Beziehungen, aus denen sie entstand. Vermutete Beziehungen, die ein Verfahren oder ein Sprachmodell vorschlägt, tragen ausdrücklich den Zustand vermutet. In eine Entscheidungsvorlage gehen sie nur nach einer Bestätigung durch eine berechtigte Person ein.

Die Antwort enthält damit nie mehr, als sich belegen lässt. Eine Verbindung, für die kein belegter Pfad besteht, gibt es für ARGUS nicht, auch wenn sie plausibel scheint.

Ein Pfad mit Belegen

Ein Pfad von einem Ereignis über Objekte zu einem abhängigen Objekt. Jede Linie trägt ihr Verb und ihren Beleg. Eine vermutete Beziehung steht gestrichelt und zählt erst nach Bestätigung.

Pfad in ARGUS: Ereignis, Objekte, Beziehungen mit Verb, eine vermutete Beziehung gestricheltEin Pfad von einem Ereignis über Objekte zu einem abhängigen Objekt. Jede Linie trägt ihr Verb und ihren Beleg. Eine vermutete Beziehung steht gestrichelt und zählt erst nach Bestätigung.betrifftvermutethängt ab vonEREIGNISOBJEKTOBJEKTOBJEKTOBJEKT
  • Knoten: Ereignis, Objekt, Objekt, Objekt, Objekt.
  • Ereignis betrifft Objekt.
  • Objekt gehört zu Objekt.
  • Objekt hängt ab von Objekt.
  • Objekt vermutet Objekt.
  • Objekt hängt ab von Objekt.
GRAPH · TYPEN UND BEZIEHUNGEN

Der Graph zu einem Stichtag

Weil jede Kante Gültigkeitszeit und Erfassungszeit trägt, lässt sich der Graph für einen Stichtag und für einen Wissensstand berechnen: Welche Pfade gab es am Stichtag s, so wie sie zum Zeitpunkt k bekannt waren? Die Abfrage gibt beide Zeiten an, und die Antwort gilt für genau diese Wahl.

Zwei Stände lassen sich vergleichen. Neue Pfade, weggefallene und solche, die sich verlängert oder verkürzt haben, zeigen, was sich an den Zusammenhängen geändert hat. Wie eine ganze Lage zu einem früheren Zeitpunkt wieder aufgerufen wird, beschreibt die Seite zur Zeitachse.

Nur sichtbare Kanten

Eine Abfrage läuft mit dem Recht und den Markierungen dessen, der fragt. Kanten, die er nicht sehen darf, gibt es für ihn nicht. ARGUS rechnet deshalb auf dem sichtbaren Teil des Graphen und filtert nicht erst die fertige Antwort. Nachträgliches Filtern würde über die Länge eines Pfads oder die Zahl der Treffer verraten, dass etwas Verborgenes besteht.

Das Ergebnis kein Pfad bedeutet darum kein Pfad im Rahmen Ihrer Rechte, und die Antwort sagt das. Ein Pfad trägt die Markierungen aller seiner Kanten. Wer ihn sieht, darf alle seine Glieder lesen.

Eckdaten

Graph
Property Graph: typisierte, gerichtete Kanten mit Herkunft, Gültigkeitszeit, Erfassungszeit, Vertrauen
Verhältnis zur Ontologie
Projektion; die Ontologie bleibt führend
Abfragesprachen
SQL/PGQ (SQL:2023), GQL (ISO/IEC 39075)
Fragen
Verbindung, Abhängigkeit, Umgebung, Engpass
Verfahren
Breitensuche, Dijkstra, transitive Hülle, Zusammenhangskomponenten, Artikulationspunkte
Vertrauen
nie größer als das der schwächsten Kante; die Kante wird genannt
Beleg
je Kante bis zur Rohzeile; abgeleitet und vermutet gekennzeichnet
Rechte
Rechnung auf dem sichtbaren Teil; kein Pfad heißt kein sichtbarer Pfad

Weiter

Welche Abhängigkeit müssen Sie heute von Hand über drei Systeme verfolgen? Diesen Pfad bauen wir mit Ihnen als Abfrage.