-
Die
Erfindung betrifft ein Verfahren zur Abfrage von Informationen in
einem rechnerbasierten Logiksystem mit einer Vielzahl von Reasonern,
welche jeweils Schlussfolgerungen in einer Beschreibungslogik auf
der Basis eines semantischen Modells und einer Modellinstanz des
semantischen Modells bestimmen, wobei alle Reasoner das gleiche
semantische Modell und zumindest teilweise verschiedene Modellinstanzen
des semantischen Modells verwenden. Ferner betrifft die Erfindung
eine entsprechende Vorrichtung zur Abfrage von Informationen sowie
ein entsprechendes Computerprogrammprodukt.
-
Die
Erfindung liegt auf dem Gebiet der Informatik und betrifft rechnerbasierte
Logiksysteme, bei denen rechnergestützt implizites Wissen gemäß einer
Beschreibungslogik auf der Basis eines semantischen Modells (auch
als Konzept bezeichnet) und entsprechender Modellinstanzen des Modells
abgeleitet werden kann. Dieses Ableiten von implizitem Wissen entspricht
dem Herleiten von Schlussfolgerungen in der Beschreibungslogik.
Der Begriff Beschreibungslogik ist ein Fachbegriff auf dem Gebiet der
Informatik und beschreibt eine Familie von Sprachen zur Wissensrepräsentation,
wobei die meisten Beschreibungslogiken ein Fragment der Prädikatenlogik
erster Stufe sind. Im Gegensatz zur Prädikatenlogik sind Beschreibungslogiken
jedoch entscheidbar, wodurch die Generierung von neuem Wissen durch
Schlussfolgern ermöglicht
wird.
-
Das
gemäß der Erfindung
verwendete Konzept bzw. semantische Modell ist eine Instanz der
Beschreibungslogik und wird vom Fachmann auch als TBox (TBox = Terminological
Box) bezeichnet. Die TBox enthält
das terminologische Wissen über
die Konzepte einer Domäne.
Im Unterschied dazu stellt die Modellinstanz der TBox (auch als
ABox bezeichnet) Individuenkonstanten der entsprechenden terminologischen
Begriffe des Kon zeptes sowie logische Aussagen über diese dar. Terminologische
Begriffe einer TBox in einem Krankenhausszenario sind beispielsweise Ärzte, die
von Schwestern unterstützt werden,
und Patienten, die bestimmten Betten und Räumen zugeordnet sind. Die entsprechenden
ABoxen, welche konkrete Instanzen darstellen, sind in dem Krankenhausszenario
z.B. konkrete Personennamen von Ärzten
oder Schwestern.
-
Um
Schlussfolgerungen in einer Beschreibungslogik abzuleiten, werden üblicherweise
sog. Reasoner verwendet, welche Systeme sind, die logische Schlussfolgerungsverfahren
auf explizit angegebenes Wissen in der Form der oben erwähnten TBoxen
bzw. ABoxen anwenden. Je nach Ausdruckskraft der zugrunde liegenden
Beschreibungslogik ist das entsprechende Schlussfolgerungsverfahren
eines Reasoners unterschiedlich komplex aufgebaut, was wiederum
zu unterschiedlichem Ressourcenbedarf des Reasoners in der Form
von Laufzeit und Speicherbedarf führt. Dieser Ressourcenbedarf
ist wiederum abhängig
von der Menge des zu verarbeitenden Wissens in der Form der TBoxen
und ABoxen. Steigt das zu verarbeitende Wissen an, nimmt auch der
Ressourcenbedarf des Beschreibungslogik-Reasoners zu.
-
Beim
Einsatz von Logiksystemen in verteilten industriellen Szenarien
muss häufig
eine sehr große
Menge an Wissen gleichzeitig betrachtet und in integrierter Form
verarbeitet werden. Dieses Wissen liegt in der Regel in einer einzigen
ABox vor. Wird diese Datenmenge in der ABox zu groß, können Beschreibungslogik-Reasoner
gemäß dem Stand
der Technik die darin integrierten Schlussfolgerungsverfahren nicht
mehr geeignet anwenden, da die Beschreibungslogik-Reasoner nur effizient
auf lokal vorhandenem Wissen arbeiten und ihre internen Datenstrukturen
ausschließlich
im Arbeitsspeicher eines entsprechenden Rechners halten. Die Verwendung von
herkömmlichen
Beschreibungslogik-Reasonern für
verteilte Logiksysteme, bei denen Daten in der Form von ABoxen in
großen
Mengen und an vielen unterschiedlichen Stellen anfallen, ist deshalb
nicht möglich.
-
Aufgabe
der Erfindung ist es deshalb, ein Verfahren zur Abfrage von Informationen
in einem rechnerbasierten Logiksystem zu schaffen, bei dem Schlussfolgerungen
mit Hilfe von Reasonern abgeleitet werden können, welche auf dem gleichen
semantischen Modell beruhen, jedoch zumindest teilweise verschiedene
Modellinstanzen des semantischen Modells verwenden.
-
Diese
Aufgabe wird durch die unabhängigen Patentansprüche gelöst. Weiterbildungen
der Erfindung sind in den abhängigen
Ansprüchen
definiert.
-
Gemäß dem Verfahren
der Erfindung wird in einem Schritt a) eine Anfrage nach Informationen
an zumindest einen Reasoner aus der Vielzahl von Reasonern in dem
rechnerbasierten Logiksystem gerichtet. In einem Schritt b) werden
aus dieser Anfrage Teilanfragen generiert, welche an zumindest einen Teil
der Reasoner in dem Logiksystem gerichtet werden. In einem Schritt
c) ermitteln die Reasoner, an welche die Teilanfragen gerichtet
werden, jeweilige Teilantworten auf der Basis des semantischen Modells
und der Modellinstanz des semantischen Modells des jeweiligen Reasoners.
Diese Teilantworten werden schließlich in einem Schritt d) in
zumindest einem Reasoner zusammengeführt, wobei dieser zumindest
eine Reasoner vorzugsweise der gleiche Reasoner ist, an den die
Anfrage in Schritt a) gerichtet wurde. Schließlich wird in einem Schritt
e) auf der Basis der zusammengeführten
Teilantworten die Antwort auf die Anfrage bestimmt und ausgegeben.
-
Das
erfindungsgemäße Verfahren
zeichnet sich dadurch aus, dass keine Zusammenführung der Modellinstanzen der
einzelnen Reasoner in einer gemeinsamen ABox stattfindet, sondern
getrennt in den einzelnen Reasonern die Anfragen verarbeitet werden,
wobei dies dadurch ermöglicht
wird, dass in geeigneter Weise Teilanfragen an die Reasoner in dem Logiksystem
gerichtet werden. Die daraus resultierenden Teilantworten der jeweiligen
Reasoner werden dann insgesamt zusammengeführt, so dass schließlich eine
entsprechende Gesamtantwort auf der Basis der Teilantworten ermittelt
werden kann.
-
Das
erfindungsgemäße Verfahren
hat den Vorteil, dass herkömmliche
Reasoner im Logiksystem verwendet werden können, da jeder Reasoner lokal
eine überschaubare
Datenmenge verarbeitet. Durch entsprechende Generierung von Teilanfragen und
Zusammenführung
der daraus resultierenden Teilantworten können die durch die Reasoner
lokal ermittelten Schlussfolgerungen dann zu einer geeigneten Gesamtantwort
auf die ursprüngliche
Anfrage zusammengeführt
werden. Das erfindungsgemäße Verfahren
gewährleistet
zwar nicht immer die Vollständigkeit
der Antwort, jedoch ist die Korrektheit der Antwort aufgrund der
sog. Open-World-Assumption von Beschreibungslogiken sichergestellt.
Diese Annahme besagt, dass nur Aussagen, die auf der Basis des vorhandenen
Wissens logisch abgeleitet werden können, als wahr interpretiert
werden. Alle anderen Aussagen werden in der Beschreibungslogik nicht beantwortet,
und es treten somit keine falschen Aussagen auf. Das erfindungsgemäße Verfahren
ermöglicht
auch die Verarbeitung größerer Mengen
an Daten, da keine Zusammenführung
der Modellinstanzen in einer gemeinsamen Instanz erfolgen muss. Hierdurch
wird auch der Netzverkehr in dem verteilten Logiksystem stark reduziert.
-
In
einer besonders bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
wird eine jeweilige Teilanfrage an einen oder mehrere solcher Reasoner
gerichtet, welche basierend auf ihrer jeweiligen Modellinstanz die
jeweilige Teilanfrage beantworten können. Es wird somit sichergestellt,
dass die Teilanfragen nicht an Reasoner gelangen, welche diese Teilanfrage
aufgrund ihrer Modellinstanz überhaupt
nicht beantworten können.
Somit wird der Netzverkehr in dem Verfahren weiter reduziert.
-
In
einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens
entsprechen die generierten Teilanfragen zumindest teilweise der
ursprünglichen
Anfrage, wodurch der Aufwand zur Generierung der Teilanfragen mini miert
wird. Diese Teilanfragen können
beispielsweise an alle Reasoner des verteilten Logiksystems gesendet
werden.
-
In
einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens
umfasst die ursprüngliche
Anfrage eine Mehrzahl von konjunkten Unteranfragen, d.h. mit einer UND-Verknüpfung verbundenen
Unteranfragen.
-
Vorzugsweise
werden Teilanfragen zumindest teilweise derart generiert, dass die
Mehrzahl von konjunkten Unteranfragen in Untermengen aufgeteilt wird,
wobei eine jeweilige Untermenge eine Teilanfrage bildet. Diese Ausführungsform
kommt insbesondere in Betracht, wenn in dem verteilten Logiksystem bekannt
ist, dass bestimmte Reasoner bestimmte Unteranfragen aufgrund ihrer
Modellinstanz überhaupt
nicht beantworten können,
so dass die Untermengen vorzugsweise derart aufgeteilt werden, dass die
Reasoner, welche die entsprechenden Untermengen empfangen, auch
immer potentiell in der Lage sind, die Teilanfrage zu beantworten.
-
In
einer weiteren Ausführungsform
des erfindungsgemäßen Verfahrens
werden Teilanfragen zumindest teilweise derart generiert, dass konjunkte Unteranfragen
zumindest teilweise in disjunkte Unteranfragen, d.h. mit einer ODER-Verknüpfung verbundene
Unteranfragen, konvertiert werden, wobei die disjunkten Unteranfragen
und/oder Untermengen der disjunkten Unteranfragen Teilanfragen bilden.
Ein Beispiel, bei dem die Konvertierung von konjunkten Unteranfragen
in disjunkte Unteranfragen sinnvoll ist, findet sich in der speziellen
Beschreibung der vorliegenden Anmeldung.
-
In
einer weiteren Ausführungsform
des erfindungsgemäßen Verfahrens
werden Teilanfragen zumindest teilweise derart generiert, dass die
konjunkten Unteranfragen zumindest teilweise verallgemeinert werden,
um eine größere Menge
von potentiell relevanter Information mit den Reasonern extrahieren
zu können.
-
In
einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens
werden Teilanfragen zumindest teilweise derart generiert, dass eine
oder mehrere auf dem semantischen Modell basierende Ausdrücke der
Anfrage auf der Basis der Definitionen der Ausdrücke im semantischen Modell
umgeschrieben und/oder aufgeteilt werden. Beispiele für eine entsprechende
Umschreibung bzw. Aufteilung finden sich in der speziellen Beschreibung
der vorliegenden Anmeldung.
-
In
einer weiteren Ausführungsform
des erfindungsgemäßen Verfahrens
werden Teilanfragen zumindest teilweise sequentiell erzeugt, indem
zumindest teilweise für
Reasoner, die Teilanfragen erhalten, aus den Teilanfragen eine oder
mehrere neue Teilanfragen erzeugt werden, welche an andere Reasoner
gerichtet werden. Bei der Erzeugung von neuen Teilanfragen können dabei
insbesondere auch Teilantworten von vorhergehenden Teilanfragen
berücksichtigt
werden.
-
In
einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird eine jeweilige
Teilantwort an den Reasoner, von dem die entsprechende Teilanfrage
stammt, zurückgegeben
und dort zu einer neuen Teilantwort verarbeitet. Die Effizienz des Verfahrens
kann gesteigert werden, wenn die Teilantworten, welche an einen
jeweiligen Reasoner zurückgegeben
werden, in dessen Modellinstanz zwischengespeichert werden.
-
Anstatt
bzw. zusätzlich
zu der sequentiellen Erzeugung von Teilanfragen besteht auch die
Möglichkeit,
dass Teilanfragen wenigstens teilweise parallel erzeugt und ausgesendet
werden.
-
In
einer bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
werden die Teilantworten derart in dem zumindest einen Reasoner
zusammengeführt,
dass die von dem zumindest einen Reasoner empfangenen Teilantworten
in der Modellinstanz des zumindest einen Reasoners gespeichert werden.
-
Gegebenenfalls
besteht auch die Möglichkeit,
dass Reasoner zumindest teilweise vorab, d.h. vor der Durchführung des Schritts
a) des erfindungsgemäßen Verfahrens,
Teilantworten ermitteln. Auf diese Weise kann das Verfahren beschleunigt
werden, da bei entsprechenden Teilanfragen gegebenenfalls bereits
die Teilantworten vorliegen und nicht nochmals separat ermittelt
werden müssen.
-
In
einer besonders bevorzugten Ausführungsform
wird das Verfahren in einem Logiksystem verwendet, in dem die Reasoner
hierarchisch auf Hierarchieebenen verteilt sind, so dass ein jeweiliger Reasoner
Teilanfragen nur von Reasonern einer höheren Hierarchieebene und Teilantworten
nur von Reasonern einer niedrigeren Hierarchieebene empfangen kann.
-
In
dem erfindungsgemäßen Verfahren
können
beliebige Beschreibungslogiken und Reasoner verwendet werden, beispielsweise
kann die Beschreibungslogik auf der hinlänglich bekannten Sprache OWL-DL
(OWL-DL = Web Ontology Language Description Language) basieren.
Als Reasoner können
beispielsweise die bekannten Reasoner RacerPro eingesetzt werden.
Ebenso können
der Reasoner Pellet und die Abfragesprache SPARQL verwendet werden.
-
Das
erfindungsgemäße Verfahren
wird vorzugsweise in einem rechnerbasierten Logiksystem verwendet,
welches ein technisches System beschreibt. Das Logiksystem ist dabei
insbesondere ein Bestandteil des technischen Systems. Hierbei enthalten
die Modellinstanzen der Reasoner zumindest teilweise Zustandsgröße von Komponenten
des technischen Systems, vorzugsweise Sensordaten, wobei insbesondere
hierarchisch angeordnete Reasoner verwendet werden und die Zustandsgrößen der
Komponenten des technischen Systems in Modellinstanzen von Reasonern
auf der untersten Hierarchieebene enthalten sind.
-
Das
technische System, welches mit dem rechnerbasierten Logiksystem
beschrieben wird, ist dabei vorzugsweise ein räumlich verteiltes technisches
System, insbesondere ein Verwaltungssystem in einem Krankenhaus
und/oder ein Schienenverkehrssteuersystem und/oder ein Automatisierungssystem.
-
Neben
dem oben beschriebenen Verfahren betrifft die Erfindung ferner eine
Vorrichtung zur Abfrage von Informationen in einem rechnerbasierten Logiksystem
mit einer Vielzahl von Reasonern, welche jeweils Schlussfolgerungen
in einer Beschreibungslogik auf der Basis eines semantischen Modells
und einer Modellinstanz des semantischen Modells bestimmen, wobei
alle Reasoner das gleiche semantische Modell und zumindest teilweise
verschiedenen Modellinstanzen des semantischen Modells verwenden.
Die Vorrichtung zeichnet sich durch folgende Mittel aus:
- – ein
Mittel zur Erzeugung einer Anfrage nach Informationen an zumindest
einen Reasoner;
- – ein
Mittel zur Generierung von Teilanfragen aus der Anfrage, wobei die
Teilanfragen an zumindest einen Teil der Reasoner gerichtet werden;
- – ein
Mittel zum Zusammenführen
von Teilantworten, wobei die jeweiligen Teilantworten durch die Reasoner,
an welche die Teilanfragen gerichtet werden, auf der Basis des semantischen
Modells und der Modellinstanz des semantischen Modells des jeweiligen
Reasoners ermittelt werden;
- – ein
Mittel zum Bestimmen und Ausgeben der Antwort auf die Anfrage auf
der Basis der zusammengeführten
Teilantworten.
-
In
einer bevorzugten Ausführungsform
der erfindungsgemäßen Vorrichtung
ist jedem Reasoner eine rechnergestützte Komponente zugeordnet,
wobei die rechnergestützten
Komponenten derart ausgestaltet sind und derart zusammenwirken,
dass das erfindungsgemäße Verfahren
durchführbar
ist. Auf diese Weise wird eine dezentrale Durchführung des erfindungsgemäßen Verfahrens
dadurch erreicht, dass jeder Reasoner separat mit Intelligenz zur
Generierung von Teilanfragen und Verarbeitung von Teilantworten
ausgestattet ist.
-
Die
Erfindung umfasst ferner ein Computerprogrammprodukt mit einem auf
einem maschinenlesbaren Träger
gespeicherten Pro grammcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn
das Programm auf einem Rechner abläuft.
-
Ausführungsbeispiele
der Erfindung werden nachfolgend anhand der beigefügten Figuren
detailliert beschrieben.
-
Es
zeigen:
-
1 eine
schematische Darstellung des Ablaufs einer Abfrage nach Informationen
in einer Ausführungsform
des erfindungsgemäßen Verfahrens;
-
2 eine
schematische Darstellung eines verteilten Logiksystems, auf dessen
Basis das erfindungsgemäße Verfahren
getestet wurde;
-
3 und 4 eine
Tabelle bzw. ein Diagramm, welche Ergebnisse des erfindungsgemäßen Verfahrens
mit einem Verfahren nach dem Stand der Technik vergleichen.
-
In
den nachfolgend beschriebenen Ausführungsformen wird ein verteiltes
Logiksystem aus einer Vielzahl von Beschreibungslogik-Reasonern
betrachtet, welche Knoten in dem verteilten Logiksystem bilden und
hierarchisch angeordnet sind. Das verteilte Logiksystem beruht auf
einer gemeinsamten TBox, welche das semantische Modell der Beschreibungslogik
darstellt. Die einzelnen Instanzen des Modells sind entsprechende
ABoxen, wobei die einzelnen Reasoner unterschiedliche ABoxen verwenden,
so dass das Wissen in dem Logiksystem auf die Reasoner verteilt
ist und nicht zentral in einer einzigen ABox gebündelt ist. Erfindungsgemäß wird bei der
Durchführung
von Abfragen auch immer separat auf die einzelnen ABoxen zugegriffen
und keine gemeinsame ABox erzeugt, wie es im Stand der Technik der
Fall ist. Das verteilte Reasoner-System in den nachfolgend beschriebenen
Ausführungsformen
ist wie folgt definiert:
Definition 1: Ein verteiltes Reasoner-System
D wird formalisiert als D = (R, L), wobei R ein Satz von Reasonern
mit spezifischen ABoxen Ar, r ∊ R
und einer gemeinsamen TBox T ist. L ⊆ R × R bezeichnet den Satz von
gerichteten Kommunikationsverbindungen zwischen diesen Reasonern.
Es gilt (r1, r2) ∊ L,
dann und nur dann, wenn r1 Anfragen an r2 richten kann.
-
Durch
die oben definierte Struktur wird eine hierarchische Anordnung der
einzelnen Reasoner festgelegt, wobei über die gerichteten Kommunikationsverbindungen
Anfragen von einer Hierarchieebene in tiefere Hierarchieebenen gerichtet
werden können.
-
Wenn
nunmehr ein Reasoner r ∊ R eine Anfrage empfängt, verwendet
er seine lokale ABox Ar zur Beantwortung der Anfrage, er kann jedoch
auch Teilanfragen an Reasoner Rn = {rn|(r, rn) ∊ L}
richten. Dieses Prinzip kann rekursiv angewendet werden. Um Zyklen
bei den Anfragen zu vermeiden, wird die obige hierarchische Baumstruktur
für die
Anfragen vorgegeben. Gegebenenfalls kann auch eine nicht hierarchische
Struktur verwendet werden, bei der Zyklen auf andere Weise erkannt
und vermieden werden.
-
Im
Folgenden werden als Anfragen Boolsche Anfragen mit Konjunktionen
(d.h. UND-Verknüpfungen)
angenommen, welche wie folgt definiert sind:
Definition 2:
Eine Boolsche konjunkte Anfrage weist die Form q1 Λ ... Λ qn auf, wobei q1,
..., qn Anfrageausdrücke der Form x: C oder <x, y>: R sind, wobei C ein Konzept
in der Form des betrachteten semantischen Modells ist, wobei R eine
Rolle innerhalb dieses Konzepts ist und wobei x, y entweder individuelle
Namen oder Variablen sind.
-
Eine
Möglichkeit,
Anfragen in dem verteilten Reasoner-System D zu verarbeiten, beruht
darauf, dass alle ABoxen Ai, i ∊ R
beim Reasoner r gesammelt werden und das Schlussfolgern auf der
Menge aller ABoxen durchgeführt
wird. Dieser Ansatz, der nicht gemäß der Erfindung verwendet wird,
gewährleistet
zwar einen fehlerfreien und kompletten Schlussfolgerungsprozess.
Er hat jedoch den Nachteil, dass die Menge der gesammelten ABoxen
sehr groß sein
kann, so dass ein einzelner Reasoner R die große Menge an ABox-Daten nicht
verarbeiten kann oder das Schlussfolgern sehr lange Zeit braucht.
Ferner führt
dieser Ansatz zu einer sehr hohen Netzlast, da große Datenmengen übertragen
werden müssen, was
wiederum zu großen
Zeitverzögerungen
beim Schlussfolgern führen
kann.
-
Der
in der Erfindung verwendete Ansatz zur Verarbeitung von Anfragen
beruht darauf, dass das Schlussfolgern immer nur für die einzelnen
ABoxen Ar getrennt durchgeführt
wird. In diesem Fall kann zwar die Vollständigkeit der Antwort nicht
garantiert werden, da relevante Information in der jeweiligen ABox
fehlen kann. Dennoch wird die Fehlerfreiheit der Antwort aufgrund
der „Open-World-Assumption", welche jeder Beschreibungslogik
zugrunde liegt, sichergestellt. Gemäß dieser Annahme wird ein Sachverhalt, über den
keine Aussage getroffen werden kann, als unbekannt und nicht als
falsch eingestuft.
-
Erfindungsgemäß kann somit
das Durchführen
des Schlussfolgerns nur auf getrennten ABoxen zwar zu einem unvollständigen Ergebnis
führen,
jedoch sind die aufgefundenen Ergebnisse immer fehlerfrei. Folgt
die ABox-Verteilung einem bestimmten Schema (partitioniert, d.h.
es gibt keine gemeinsamen Individuen) sind die Ergebnisse trotzdem
vollständig.
Für bestimmte
Anwendungen ist es oftmals wichtiger, dass überhaupt Schlussfolgerungen
in dem Logiksystem durchgeführt
werden, auch wenn diese nicht unbedingt immer vollständig sind.
Ferner werden durch das Schlussfolgern auf der Basis von getrennten
ABoxen weitere Vorteile erreicht, welche bei der Verwendung einer
gesammelten ABox nicht vorhanden sind. Insbesondere wird der Netzverkehr vermindert,
und es können
größere Mengen
an ABox- Daten verarbeitet
werden. Darüber
hinaus können
dynamische Daten verwendet werden, da das Schlussfolgern immer dort
ausgeführt
werden kann, wo die Daten erzeugt werden, und nicht die Übertragung
der Daten erfordert.
-
1 zeigt
schematisch eine Ausführungsform
des erfindungsgemäßen Verfahrens.
In 1 sind beispielhaft eine Mehrzahl von Systemkomponenten
eines Logiksystems als Quadrate wiedergegeben. Zur Verdeutlichung
wurden sechs der Komponenten mit dem Bezugszeichen S1, S2, ...,
S6 bezeichnet. Jede Komponente enthält einen Reasoner r1, r2, ...,
r6, wobei allen Reasonern ein gemeinsames semantisches Modell als
TBox zugrunde liegt. Im Unterschied zur TBox greifen die einzelnen
Reasoner jedoch separat auf unterschiedliche ABoxen ABox1, ABox2,
..., ABox6 zu, d.h. die Instanzen des semantischen Modells für jeden
Reasoner unterscheiden sich. Die einzelnen Systemkomponenten enthalten
erfindungsgemäß programmierte
Intelligenz, auf deren Basis Anfragen und Antworten verarbeitet
werden können,
wobei diese Intelligenz nicht innerhalb der Reasoner, sondern als
eigene, einem jeweiligen Reasoner zugeordnete Komponente realisiert
ist.
-
In
der Ausführungsform
der 1 sind beispielhaft Reasoner aus drei Hierarchieebenen
H1, H2 und Hn gezeigt, wobei ein jeweiliger Reasoner in einer Hierarchieebene
Anfragen nur an Reasoner von darunter liegenden Hierarchieebenen
richten kann und Antworten auch nur von Reasonern von darunter liegenden
Hierarchieebenen empfangen kann. Auf diese Weise werden Zyklen bei
der Behandlung von Anfragen vermieden. In dem Szenario der 1 wird
eine Gesamtanfrage q zunächst
an die Systemkomponente S1 und den Reasoner r1 in der höchsten Hierarchieebene
H1 gerichtet. In der hier beschriebenen Ausführungsform ist die ABox1 der
Systemkomponente S1 noch leer.
-
Anhand
der Anfrage wird nunmehr in der Systemkomponente S1 analysiert,
welches Wissen zur Beantwortung der Anfrage benötigt wird. Es werden auf der
Basis dieser Analyse entsprechende Teilanfragen erzeugt, von denen
in 1 einige als q1, q2, q3 bezeichnet
sind. Zunächst
werden entsprechende Teilanfragen für die Systemkomponenten in der
darunter liegenden Hierarchieebene H2 generiert und an diese Systemkomponenten
gerichtet. Anschließend
werden die Teilanfragen wiederum analysiert und hieraus entsprechende
weitere Teilanfragen für
darunter liegende Hierarchieebenen erzeugt und an die entsprechenden
Systemkomponenten gerichtet. Es erfolgt somit eine iterative Verteilung
der Teilanfragen in dem verteilten Logiksystem.
-
Nach
der Verteilung der Teilanfragen erfolgt die Beantwortung dieser
Anfragen in den jeweiligen Reasonern, welche Teilanfragen empfangen
haben, wobei die Antworten als Teilantworten wiederum in die darüber liegenden
Hierarchieebenen, d.h. an den Reasoner, der ursprünglich die
jeweilige Teilanfrage gestellt hat, übertragen werden. In 1 sind
beispielhaft einige solcher Teilantworten als a1,
a2, a3 bezeichnet.
-
Die
Teilantworten werden somit iterativ wieder an die Systemkomponenten
der höheren
Hierarchieebene zurückgegeben,
so dass schließlich
eine Gesamtantwort in der Hierarchieebene H1 erzeugt wird, wobei
die programmierte Intelligenz in der Systemkomponente S1 alle ankommenden
Teilantworten zu der Gesamtantwort verarbeitet. In einer bevorzugten
Variante des Verfahrens der 1 werden Teilantworten,
welche an mittlere Hierarchieebenen zwischen der untersten und der
obersten Hierarchieebene weitergeleitet werden, in den entsprechenden Systemkomponenten
zwischengespeichert, um eine Anfrage nicht jedes Mal bis zur untersten
Hierarchieebene weiterreichen zu müssen. Auf diese Weise wird
die Skalierbarkeit des Verfahrens sichergestellt. Darüber hinaus
können
Teilantworten nicht nur reaktiv, d.h. in Reaktion auf eine entsprechende
Anfrage, erzeugt werden, sondern solche Teilantworten können auch
proaktiv vorausschauend unabhängig
von einer Teilanfrage generiert werden, um spätere Anfragebeantwortungen
zu beschleunigen.
-
Das
erfindungsgemäße Verfahren
zur Abfrage von Informationen in einem Logiksystem kann in beliebigen
Bereichen der Technik eingesetzt werden, wobei ein bevorzugter Anwendungsbereich
verteilte Systeme sind, bei denen Daten an verschiedenen verteilten
Knoten in dem technischen System anfallen. An diesen einzelnen Knoten
wird dann eine entsprechende Systemkomponente mit einem Reasoner
und den entsprechenden ABoxen der dort anfallenden Daten implementiert.
-
In
einem Ausführungsbeispiel
kann das erfindungsgemäße Verfahren
beispielsweise in einem Krankenhaus eingesetzt werden, in dem an
vielen verschiedenen Stellen permanent große Mengen an Daten anfallen.
Anwendungen, die diese Informationen nutzen, sollen unabhängig davon
funktionieren, an welcher Stelle die Daten erzeugt wurden. Insbesondere
soll in integrierter Form auf die Daten zugegriffen werden können. Z.B.
soll der Zustand eines Patienten abgefragt werden, insbesondere
ob der Patient sich entsprechend einer Therapieempfehlung verhält. Dazu
werden entsprechende Systemkomponenten mit entsprechenden Reasonern
an Orten der Datenerfassung platziert. Z.B. können in den Patientenzimmern
Sensoren angeordnet werden, die messen, ob der Patient im Bett liegt
oder ob er sich bewegt und wie seine Vitalparameter sind. In den
Behandlungszimmern können
beispielsweise die Belegung der Zimmer und die Untersuchungsergebnisse der
einzelnen Patienten als entsprechende ABox-Daten gespeichert sein.
In den Schwesternzimmern können
die Verfügbarkeit
von Pflegepersonal, Diagnosen und Therapieempfehlungen erfasst werden. Ferner
existiert eine Pflegezentrale, welche der Systemkomponente S1 in
der höchsten
Hierarchieebene H1 gemäß 1 entspricht.
-
Wenn
nunmehr in der Pflegezentrale an die dortige Systemkomponente die
Anfrage gestellt wird, ob sich alle Patienten entsprechend ihrer
Therapieempfehlung verhalten, fordert die Pflegezentrale von den
Systemkomponenten der einzelnen Stationen, welche in darunter liegenden
Hierarchieebenen liegen, Teilwissen über die dortigen Patienten
an. Jede dieser Systemkomponenten fordert wiederum bei Systemkomponenten
der darunter liegenden Hierarchieebenen Wissen über die Diagnose und Therapieempfehlung
eines Patienten sowie den aktuellen Aufenthaltsort und die momentane
Beschäftigung
an. Auf jeder Hierarchieebene wenden die Systemkomponenten ihren
Beschreibungslogik-Reasoner auf die jeweils vorhandenen Daten in
der ABox an, um die Anfrage der darüber liegenden Hierarchieebene beantworten
zu können.
-
Ein
anderer Anwendungsfall des erfindungsgemäßen Verfahrens ist beispielsweise
die Steuerung eines Schienenverkehrssystems. Im Schienenverkehr
stellen Weichen, Gleise und Lokomotiven wichtige Elemente dar. Da
im Schienenverkehr diese Elemente geographisch an verschiedenen
Orten verteilt sind, müssen
bei der Ermittlung von Störungen, Schädigungen
und Fehlerfällen
verteilte Statusinformationen aus unterschiedlichen, weit auseinander liegenden
Domänen
zu diesen Elementen erfasst werden. Diese Statusinformationen sind
dabei nicht nur räumlich
weit verteilt, sondern fallen auch in großen Mengen an. Zur sinnvollen
Interpretation müssen
Statusinformationen jedoch integriert und logisch in Beziehung gesetzt
werden. Beispielsweise soll das Stellen von allgemeinen Fragen ermöglicht werden, wie
z.B. der Anfrage, in welchen Netzabschnitten es technische Einschränkungen
derart gibt, dass die erlaubte Höchstgeschwindigkeit
zwecks Optimierung heruntergesetzt werden muss.
-
Um
Statusinformationen von den verteilten Elementen in dem Schienenverkehrssystem
verarbeiten zu können,
werden die Elemente in dem Schienenverkehrssystem mit einer Systemkomponente
auf der untersten Hierarchieebene Hn gemäß der Ausführungsform der 1 ausgestattet.
In den ABoxen dieser Systemkomponenten wird Wissen zum aktuellen
Zustand des entsprechenden Elements gesammelt. Dieses Wissen stammt
z.B. von Sensoren unterschiedlichster Bereiche, wie z.B. Sensoren
der Weichen, welche die Funktionstüchtigkeit bzw. potentielle
Funktionseinschränkungen
feststellen. Weitere Sensoren können
Belastungssensoren am Gleis sein, welche die Kräfte auf das Gleis eines darüber fahrenden
Zuges und damit dessen Bela dungszustand erfassen. Weitere Beispiele
von Sensoren sind Sensoren auf Lokomotiven, die Auskunft über Ort,
Geschwindigkeit, Beschleunigung und dergleichen der Lokomotive geben.
Dieses Wissen wird mit den Mitteln der Beschreibungslogik durch
entsprechende ABoxen dargestellt und erfindungsgemäß mit Hilfe
von Teilanfragen und Teilantworten verarbeitet.
-
In
dem Schienenverkehrssystem befinden sich Systemkomponenten höherer Hierarchieebenen vorzugsweise
an wichtigen Gleisabschnitten, zentralen Knotenpunkten, Bahnhöfen und
regionalen Kontrollzentren. In den ABoxen solcher Systemkomponenten
werden ausgewählte
und aufbereitete bzw. abgeleitete Informationen von Systemkomponenten der
darunterliegenden Hierarchieebenen integriert. Aufgrund ihres einheitlichen,
logikbasierten Informationsformats können diese Statusinformationen
in derselben ABox gehalten werden. Ausgelöst durch eine Anfrage oder
andere Ereignisse fordert z.B. eine Systemkomponente im regionalen
Kontrollzentrum relevantes Wissen von den verteilten Systemkomponenten
der darunter liegenden Hierarchieebenen an. Diese fragen wiederum
das von ihnen benötigte
Wissen von den Systemkomponenten an weiteren Knotenpunkten, Lokomotiven
und Messeinrichtungen an wichtigen Gleisabschnitten ab. In den Systemkomponenten
auf den einzelnen Stufen arbeiten die einzelnen Beschreibungslogik-Reasoner
dabei unabhängig
voneinander auf dem ihnen verfügbaren
Wissen in den entsprechenden ABoxen, um die Anfragen der darüber liegenden
Hierarchieebenen zu beantworten.
-
Das
im Vorangegangenen beschriebene Verfahren kann generisch durch die
nachfolgenden sechs Schritte beschrieben werden:
-
Schritt 1: Empfang der Anfrage
-
Ein
Reasoner r1 empfängt die Anfrage q. r1 kann Teilanfragen an Reasoner Rn = {r|rl, r} ∊ L
richten.
-
Schritt 2: Auswahl von Reasonern
-
Eine
Funktion selectReasoners (q, Rn) analysiert
jeden Reasoner in dem Satz der Reasoner Rn im Hinblick
auf seine Relevanz zur Beantwortung der Anfrage q. Als Ergebnis
wird die Menge der relevanten Reasoner Rs aus
der Menge Rn zurück.
-
Schritt 3: Erzeugung von Teilanfragen
-
Durch
eine Funktion generateSubqueries (q, Rs)
wird für
jeden Reasoner r in der Menge Rs ein Tupel
(qr, r) mit einer Teilanfrage qr für jeden
ausgewählten
Reasoner zurückgegeben.
-
Schritt 4: Verteilung der Teilabfragen
-
Eine
Funktion ar = retrieve(r, qr)
richtet nunmehr die Teilanfrage qr an den
Reasoner r und gibt die Teilantwort ar zurück.
-
Schritt 5: Integration der Teilantworten
-
Eine
Funktion integrateAnswers (rl,{ar|r ∊ Rs}) setzt
die ABox des lokalen Reasoners r1 auf die
zusammengeführten
Teilantworten der entfernten Reasoner.
-
Schritt 6: Zurückgabe des Ergebnisses
-
Eine
Funktion a = retrieve(r1, q) verwendet den
lokalen Reasoner r1, der die ursprüngliche
Gesamtanfrage q erhalten hat, um das endgültige Ergebnis der verteilten
Schlussfolgerungen der einzelnen Reasoner für die Anfrage q zu erhalten.
-
Der
Grad der Vollständigkeit
der Antworten hängt
von den Charakteristika der verteilten ABoxen sowie der Eigenschaften
der ursprünglichen
Anfrage und der Strategie der Erzeugung der Teilanfragen ab. Es
können
hierbei verschiedene Strategien zur Erzeugung von Teilanfragen verwendet
werden. Beispiele solcher Strategien werden nachfolgend beschrieben.
-
In
der hier beschriebenen Ausführungsform werden
Teilanfragen immer unter Berücksichtigung der
ursprünglichen,
aus Konjunkten bestehende Anfrage q = q1 λ ... λ qn erzeugt. In Abhängigkeit von der ursprünglichen
Anfrage gibt es folgende Optionen für Teilanfragen:
-
a) Aufteilung von Konjunkten:
-
Eine
Anfrage q kann generalisiert werden, indem Untermengen von Konjunkten
als Teilanfragen ausgewählt
werden, z.B. die Untermengen q1 λ ... λ qi und qi λ ... λ qn, 1 < i < n. Diese Variante
kommt insbesondere in Betracht, wenn bestimmte Reasoner aufgrund
ihrer ABoxen nicht alle Konjunkte in der Gesamtanfrage beantworten
können.
-
b) Einführen von Disjunkten:
-
Eine
Anfrage q kann generalisiert werden, indem eine Konjunktion λ in eine
Disjunktion V umgewandelt wird, z.B. q1 V
... V qn. Eine derartige Konvertierung in
Disjunkte kommt beispielsweise bei partitionierten Daten in entsprechenden
ABoxen in Betracht. Wird beispielsweise eine Anfrage, ob eine bestimmte
Komponente sowohl in einer ersten ABox als auch in einer zweiten
ABox enthalten ist, an diese ABoxen gerichtet, wird die Anfrage,
welche ursprünglich
aus einer UND-Verknüpfung besteht,
in die Anfrage umgewandelt, ob die Komponente in der ersten ABox
oder in der zweiten ABox enthalten ist. Diese Anfrage wird sowohl
an die erste ABox als auch an die zweite ABox gesendet. Als Antworten
der jeweiligen ABoxen wird zurückgegeben,
ob die Komponente in der ersten bzw. in der zweiten ABox enthalten ist.
Aus dieser Information kann dann ermittelt werden, ob die Komponente
in beiden ABoxen vorliegt. Diese Information könnte nicht ermittelt werden, wenn
die ursprüngliche
Anfrage an beide ABoxen gesendet worden wäre, da jede ABox nur für sich feststellen
kann, ob sie die Komponente enthält
oder nicht. Das Ergebnis wäre
in diesem Fall „keine
Aussage" gemäß der Open-World-Assumption.
-
c) Generalisierung von Konjunkten:
-
Ein
Konjunkt qi kann beispielsweise dadurch generalisiert
werden, dass seine Spezifikation erweitert wird, um mehr potentiell
relevante Informationen zu extrahieren. Beispielsweise kann die
Definition einer Kategorie ersetzt werden durch eine Definition
einer Oberkategorie.
-
d) Umschreiben von Ausdrücken:
-
Ein
Konjunkt vom Typ x: C, beispielsweise in der Form „Liefere
alle Komponenten vom Typ x", kann
auf der Basis der Definition der Komponente in dem Konzept C umgeschrieben
werden. Beispielsweise kann die Komponente vom Typ x nicht durch ihren
Komponentennamen angesprochen werden, sondern durch eine nähere Definition
der Komponente. Diese Variante kommt insbesondere in Betracht, wenn
der Name der Komponente in der entsprechenden ABox nicht bekannt
ist.
-
e) Aufteilen von Konzeptausdrücken:
-
Bei
dieser Option wird ein Konjunkt vom Typ x: C in mehrere Konjunkte
entfaltet, indem Techniken angewendet werden, welche invers zu der
sog. „Rolling-up" Technik gemäß Druckschrift
[1] sind.
-
Die
oben beschriebenen Strategien zur Erzeugung von Teilanfragen können in
Kombination sowie rekursiv angewandt werden. Teilanfragen können sowohl
parallel als auch sequentiell ausgesendet werden. Im Falle, dass
die Teilanfragen sequentiell ausgesendet werden, können Teilantworten
von einer Teilanfrage in nachfolgenden Anfragen verwendet werden.
Somit kann auch die Reihenfolge von Teilanfragen von Relevanz sein.
-
Das
erfindungsgemäße Verfahren
wurde für die
in 2 gezeigte Architektur auf der Basis eines Testdatensatzes
und mit entsprechenden Testanfragen getestet. Die Anfragen werden
hierbei über
einen Web-Service WS erfasst und über die Web-Service-Schnittstelle WSI an das verteilte
Logiksystem übergeben.
Das verteilte Logiksystem umfasst in der Ausführungsform der 2 drei
Reasoner r1, r2 und r3, welche über Schnittstellen I1, I2 und
I3 mit entsprechenden Diensten DRS1, DRS2 und DRS3 (DRS = Distributed
Reasoning Service) verbunden sind, wobei die Dienste ferner untereinander über die Schnittstellen
I4 und I5 miteinander kommunizieren. Die Dienste stellen hierbei
entsprechende Verarbeitungseinheiten dar, mit denen erfindungsgemäß aus einer
ursprünglichen
Anfrage entsprechende Teilanfragen erzeugt werden und ferner die
entsprechenden Teilantworten empfangen und zusammengeführt werden.
-
In
der Architektur gemäß 2 wird
als Beschreibungslogik die Ontologiesprache OWL-DL (Web Ontology
Language Description Language) verwendet, wobei Anfragen in der
Form von OWL-QL-Queries
an das verteilte Logiksystem gerichtet werden. Sowohl die Ontologiesprache OWL-DL
als auch die Abfragesprache OWL-QL sind hinlänglich aus dem Stand der Technik
bekannt und werden deshalb nicht näher erläutert. Als Reasoner wurden
in der Architektur der 2 die ebenfalls hinlänglich aus
dem Stand der Technik bekannten RacerPro-Reasoner verwendet. Über die
Schnittstelle WSI werden OWL-QL-Anfragen über HTTP (HTTP = Hypertext
Transfer Protocol) übermittelt,
wohingegen über
die Schnittstellen I1 bis I5 die OWL-QL-Anfragen und die entsprechenden
Teilantworten über SOAP
(SOAP = Simple Object Access Protocol) übermittelt werden.
-
In
der Ausführungsform
der 2 wurde eine sehr einfache Strategie zur Erzeugung
von Teilanfragen verwendet. Insbesondere wurde die Funktion zur
Erzeugung der Teilanfragen wie folgt gewählt:
generateSubQueries(q,
Rs) = {(q, r)|r ∊ R}.
-
Hierbei
ist q die ursprüngliche
Anfrage und R ist die Menge der Reasoner r1 bis
r3. Dies bedeutet, dass die ursprüngliche
Anfrage in der hier beschriebenen Ausführungsform einfach ohne weitere
Veränderungen
an die Reasoner komplett weitergeleitet wird.
-
In
der Ausführungsform
der 2 basieren der verwendete Testdatensatz und die
Testanfragen auf dem hinlänglich
aus dem Stand der Technik bekannten LUBM-Test (LUBM = Lehigh University Benchmark),
der insbesondere in den Druckschriften [2] und [3] beschrieben ist.
Dabei wurden realistische ABox-Daten
für eine
Ontologie von mittlerer Größe im universitären Bereich
in Bezug auf einige Parameter erzeugt. Insbesondere wurden zwei
Testdatensätze
generiert, nämlich
ein kleiner Datensatz SD mit 2753 Instanzen (eine Universität und zwei
Abteilungen) und ein großer
Datensatz LD mit 17174 Instanzen (eine Universität und 14 Abteilungen). Für die Ausführungsform
der 2 wurden die ABox-Daten in zwei Untermengen unterteilt.
Die eine Untermenge enthält
Instanzen betreffend die Abteilung 0 und die andere Untermenge enthält Instanzen
betreffend die Abteilung 1 für
den kleinen Datensatz. Für
den großen
Datensatz enthält
die eine Untermenge Instanzen betreffend die Abteilungen 0 bis 7
und die andere Untermenge Instanzen betreffend die Abteilungen 8 bis
14.
-
Als
Testanfragen wurden OWL-QL-Repräsentationen
von 14 Testanfragen aus dem LUBM-Test gewählt. Diese Testanfragen werden
im Folgenden als Q1 bis Q14 bezeichnet. Bei den Testanfragen wurden
lediglich die Anfragen Q4 und Q8 verändert, um OWL-Datentyp-Eigenschaften
aus diesen Anfragen herauszulassen, da die Schnittstellen zu den
RacerPro-Reasonern diese Datentyp-Eigenschaften noch nicht unterstützen.
-
3 und 4 zeigen
Ergebnisse des gemäß der Architektur
der 2 durchgeführten
Verfahrens im Vergleich zu einem Verfahren nach dem Stand der Technik,
bei dem nur ein einzelner Reasoner verwendet wurde, der auf die
Gesamtmenge der A-Box-Daten
zugreift.
-
3 zeigt
hierbei eine Tabelle, welche die Antwortzeiten QRS von Anfragen
sowohl für
den kleinen Datensatz SD als auch für den großen Datensatz LD zeigt. Die
erste Spalte D in der Tabelle der 3 zeigt
den verwendeten Datensatz an, die zweite Spalte Q die betrachteten
Testanfragen, die dritte und vierte Spalte geben die jeweiligen
Antwortzeiten für die
Verwendung eines einzelnen Reasoners (als SR bezeichnet) und für die Verwendung
der verteilten Reasoner gemäß 2 (als
DR bezeichnet) wieder. Ferner wird in der fünften Spalte das Verhältnis RT zwischen
der Antwortzeit für
das erfindungsgemäße verteilte
Reasoning und das Reasoning mit einem einzelnen Reasoner gemäß dem Stand
der Technik wiedergegeben. Man erkennt, dass eine deutliche Beschleunigung
der Antwortzeiten für
das erfindungsgemäße Reasoning
erreicht wird. Besonders gut sind hierbei die Verbesserungen für den großen Datensatz
LD.
-
4 zeigt
die Auswirkung des verteilten Reasonings gemäß 2 auf den
verursachten Netzverkehr. Hierbei wurde das Datenvolumen ermittelt,
welches zwischen Reasonern übertragen
wurde, um eine Anfrage zu beantworten. Für das Reasoning mit einem einzelnen
Reasoner wurde vorausgesetzt, dass die gesamten ABox-Daten vor der
Durchführung
des Reasonings an den Reasoner übertragen werden
müssen.
Gemäß 4 wird
die Datenmenge des erfindungsgemäßen verteilten
Reasonings mit der Datenmenge gemäß der Verwendung eines einzelnen
Reasoners verglichen, wobei das Verhältnis des Datenvolumens des
verteilten Reasonings zum Datenvolumen bei der Verwendung eines
einzelnen Reasoners entlang der Ordinate P im Diagramm der 4 aufgetragen
ist. Entlang der Abszisse sind wiederum die einzelnen Anfragen Q1
bis Q14 gemäß dem LUBM-Test
wiedergegeben. Man erkennt aus 4, dass
bis auf die Anfragen Q6 und Q8 das verteilte Reasoning weniger als
5% des Datenverkehrs erfordert als das Reasoning mit einem einzelnen
Reasoner. Viele der Anfragen brauchen sogar weniger als 1% des Netzverkehrs.
Nur die Anfrage Q8 erfordert ungefähr 10% und die Anfrage Q6 ungefähr 28% des
Datenvolumens im Vergleich zur Verwendung eines einzelnen Reasoners.
Nichtsdestotrotz zeigen die Ergebnisse gemäß 4, dass
das verteilte Reasoning eine wesentlich geringere Menge an Netzverkehr
im Vergleich zu der Verwendung eines einzelnen Reasoners nach dem
Stand der Technik verursacht. Mit dem erfindungsgemäßen Verfahren
können
somit deutliche Verbesserungen im Hinblick auf die Antwortzeiten
und die verursachte Netzlast erreicht werden.
-
Wie
sich aus dem Vorangegangenen ergibt, weist das erfindungsgemäße Verfahren
eine Reihe von Vorteilen gegenüber
bekannten Verfahren auf. Das Verfahren ermöglicht insbesondere einen Kompromiss
zwischen Ausdrucksstärke
auf der einen Seite und Skalierbarkeit auf der anderen Seite. Das verarbeitete
Wissen wird mit den ausdruckstarken Mitteln der Beschreibungslogik
modelliert, wobei es jedoch nicht in einem einzelnen Beschreibungslogik-Reasoner
verarbeitet wird. Dies hätte
zwar den Vorteil, die volle Ausdruckstärke der Beschreibungslogiken
nutzen zu können,
wäre aber
auch nur begrenzt skalierbar, da der Ressourcenbedarf des Beschreibungslogik-Reasoners mit der
Menge des Wissens stark ansteigt. Stattdessen werden gemäß der Erfindung
viele verteilte Beschreibungs logik-Reasoner immer auf Teilmengen
des Gesamtwissens angewandt. Dadurch können zwar nicht alle impliziten,
im Gesamtwissen modellierten Informationen ausgenutzt werden, dennoch
sind alle Ergebnisse, die der Beschreibungslogik-Reasoner zurückliefert,
aufgrund der Open-World-Assumption der Beschreibungslogiken korrekt.
-
Das
erfindungsgemäße Verfahren
ermöglicht
die Verarbeitung größerer Mengen
an beschreibungslogisch modelliertem Wissen, insbesondere wird der
Speicherplatzbedarf für
die Information über mehrere
Systemkomponenten verteilt. Auch der Rechenaufwand für die Anfragebeantwortung
verteilt sich auf mehrere Systemkomponenten.
-
Das
erfindungsgemäße Verfahren
ermöglicht
die Integration von beschreibungslogisch modelliertem Wissen aus
unterschiedlichen Quellen, da Systemkomponenten Teilanfragen an
mehrere Systemkomponenten richten können und Teilantworten in ihrer
ABox sammeln können.
-
Zusammenhänge, die
erst durch die Kombination von Wissen aus unterschiedlichen Quellen
erkannt werden können,
sind mit dem erfindungsgemäßen Verfahren
ableitbar und erlauben so die Integration von unterschiedlichen
Bereichen. Die logische Konsistenz von Teilwissen aus unterschiedlichen Quellen
kann getestet werden und Widersprüche können erkannt werden.
-
Das
erfindungsgemäße Verfahren
erlaubt das Arbeiten auf unvollständigem Wissen. Eine Gesamtanfrage
wird hierbei insbesondere iterativ in Teilanfragen aufgeteilt und
auf die Systemkomponenten verteilt. Es wird hierbei auch dann ein
Ergebnis zurückgeliefert,
wenn nicht alle Systemkomponenten Teilergebnisse liefern, z.B. weil
das Wissen nicht vorliegt oder die Systemkomponenten ausgefallen
sind. Dennoch kann auch mit diesem unvollständigen Wissen die Gesamtanfrage
bearbeitet werden. Sie liefert zwar dann nicht unbedingt ein vollständiges,
jedoch ein korrektes Ergebnis.
-
Das
erfindungsgemäße Verfahren
zeichnet sich ferner durch Modularität und leichter Erweiterbarkeit
aus. Insbesondere kommunizieren die einzelnen Systemkomponenten über logisch
integrierbare Schnittstellen und sind nur lose miteinander gekoppelt.
Aus diesem Grund können
sie leicht ausgetauscht werden, ohne die Funktionalität des Gesamtsystems
zu beeinträchtigen.
Insbesondere können unterschiedliche
Systemkomponenten unterschiedliche Beschreibungslogik-Reasoner einsetzen
und somit Optimierungen bezüglich
bestimmter Arten von Informationen vornehmen. Bei der hierarchischen Anordnung
von Reasonern können
insbesondere Wissensdetails, welche beispielsweise durch Sensoren
auf der untersten Hierarchieebene erfasst werden, vor den Systemkomponenten
in höheren
Hierarchieebenen verschattet werden. Es wird hierbei eine Skalierbarkeit
der Granularität
des verteilten Reasoning-Verfahrens erreicht.
-
Bei
der Verwendung des erfindungsgemäßen Verfahrens
können
auf einfache Weise neue Systemkomponenten, z.B. bezüglich neuer
und erweiterter Sensoren, in die verteilte Logikstruktur integriert
werden. Es wird hiermit eine leichte Erweiterbarkeit, auch bezüglich inhaltlichen
Erweiterungen, auf Beschreibungslogik-Ebene gewährleistet.
-
Das
erfindungsgemäße Verfahren
ermöglicht
darüber
hinaus eine räumliche
und inhaltliche Skalierbarkeit der zu integrierenden Wissensableitung.
Auch in räumlich
weit verteilten Strukturen, wie beispielsweise dem Schienenverkehr
in einem großen
regionalen Gebiet, besteht somit das Potential, Wissen zu integrieren
und verteilte logische Schlussfolgerungen abzuleiten, um Optimierungsmöglichkeiten
zu ermitteln. Gleichzeitig kann die inhaltliche Ausweitung des Wissenspotentials
auf der logisch fundierten Basis in verteilter Weise erfolgen.
-
Literaturverzeichnis
-
- [1] I. Horrocks and S. Tessaris. A conjunctive query language
for description logic aboxes. In Proc. of AAAI, pages 399-404, 2000.
- [2] Y. Guo, Z. Pan, and J. Heflin. An evaluation of knowledge
base systems for large owl datasets. In Proc. Of Third International
Semantic Web Conference (ISWC), 2004.
- [3] Y. Guo, Z. Pan, and J. Heflin. Lubm: A benchmark for
owl knowledge base systems. Journal of Web Semantics, 3(2), 2005.