DE102007029122A1 - Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem - Google Patents

Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem Download PDF

Info

Publication number
DE102007029122A1
DE102007029122A1 DE102007029122A DE102007029122A DE102007029122A1 DE 102007029122 A1 DE102007029122 A1 DE 102007029122A1 DE 102007029122 A DE102007029122 A DE 102007029122A DE 102007029122 A DE102007029122 A DE 102007029122A DE 102007029122 A1 DE102007029122 A1 DE 102007029122A1
Authority
DE
Germany
Prior art keywords
reasoners
partial
reasoner
subqueries
tbox
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102007029122A
Other languages
English (en)
Inventor
Florian Fuchs
Gerhard Langer
Michael Pirker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102007029122A priority Critical patent/DE102007029122A1/de
Publication of DE102007029122A1 publication Critical patent/DE102007029122A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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. Die Erfindung zeichnet sich dadurch aus, dass eine Anfrage nach Informationen in dem Logiksystem in Teilanfragen aufgeteilt wird und an entsprechende Reasoner gerichtet wird, wobei die Reasoner basierend auf ihrer Modellinstanz entsprechende Teilantworten erzeugen, welche schließlich zu einer Antwort auf die Anfrage zusammengeführt werden. Das erfindungsgemäße Verfahren kann insbesondere in einem verteilten Logiksystem mit einer Vielzahl von herkömmlichen Beschreibungslogik-Reasonern eingesetzt werden. Das erfindungsgemäße Verfahren ermöglicht die Verarbeitung größerer Mengen an beschreibungslogisch modelliertem Wissen. Insbesondere wird der Speicherplatzbedarf und der Rechenaufwand für die Information auf mehrere Reasoner im Logiksystem aufgeteilt. Das erfindungsgemäße Verfahren wird vorzugsweise in einem Logiksystem eingesetzt, welches ein räumlich verteiltes technisches System beschreibt, beispielsweise ein Verwaltungssystem in einem Krankenhaus und/oder ein Schienenverkehrssteuersystem und/oder ein Automatisierungssystem.

Description

  • 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.

Claims (23)

  1. Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem mit einer Vielzahl von Reasonern (r1, r2, ..., r6), welche jeweils Schlussfolgerungen in einer Beschreibungslogik auf der Basis eines semantischen Modells (TBox) und einer Modellinstanz (ABox1, ABox2, ..., ABox6) des semantischen Modells (TBox) bestimmen, wobei alle Reasoner (r1, r2, ..., r6) das gleiche semantische Modell (TBox) und zumindest teilweise verschiedene Modellinstanzen (ABox1, ABox2, ABox6) des semantischen Modells (TBox) verwenden, bei dem: a) eine Anfrage (q) nach Informationen an zumindest einen Reasoner (r1) gerichtet wird; b) aus der Anfrage (q) Teilanfragen (q1, q2, q3) generiert werden, welche an zumindest einen Teil der Reasoner (r1, r2, ..., r6) gerichtet werden; c) die Reasoner (r1, r2, ..., r6), an welche die Teilanfragen (q1, q2, q3) gerichtet werden, jeweilige Teilantworten (a1, a2, a3) auf der Basis des semantischen Modells (Tbox) und der Modellinstanz (ABox1, ABox2, ..., ABox6) des semantischen Modells (TBox) des jeweiligen Reasoners (r1, r2, ..., r6) ermitteln; d) die Teilantworten (a1, a2, a3) in zumindest einem Reasoner (r1) zusammengeführt werden; e) auf der Basis der zusammengeführten Teilantworten (a1, a2, a3) die Antwort (a) auf die Anfrage (q) bestimmt und ausgegeben wird.
  2. Verfahren nach Anspruch 1, bei dem eine jeweilige Teilanfrage (q1, q2, q3) an einen oder mehrere solcher Reasoner (r1, r2, ..., r6) gerichtet wird, welche basierend auf ihrer jeweiligen Modellinstanz (ABox1, ABox2, ..., ABox6) die jeweilige Teilanfrage (q1, q2, q3) beantworten können.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die generierten Teilanfragen (q1, q2, q3) zumindest teilweise der Anfrage (q) entsprechen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Anfrage (q) eine Mehrzahl von konjunkten Unteranfragen umfasst.
  5. Verfahren nach Anspruch 4, bei dem Teilanfragen (q1, q2, q3) zumindest teilweise derart generiert werden, dass die Mehrzahl von konjunkten Unteranfragen in Untermengen aufgeteilt wird, wobei eine jeweilige Untermenge eine Teilanfrage (q1, q2, q3) bildet.
  6. Verfahren nach Anspruch 4 oder 5, bei dem Teilanfragen (q1, q2, q3) zumindest teilweise derart generiert werden, dass die konjunkten Unteranfragen zumindest teilweise in disjunkte Unteranfragen konvertiert werden, wobei die disjunkten Unteranfragen und/oder Untermengen der disjunkten Unteranfragen Teilanfragen (q1, q2, ..., qn) bilden.
  7. Verfahren nach einem Ansprüche 4 bis 6, bei dem Teilanfragen (q1, q2, ..., qn) zumindest teilweise derart generiert werden, dass die konjunkten Unteranfragen zumindest teilweise verallgemeinert werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem Teilanfragen (q1, q2, q3) zumindest teilweise derart generiert werden, dass ein oder mehrere auf dem semantischen Modell (Tbox) basierende Ausdrücke der Anfrage (q) auf der Basis der Definitionen der Ausdrücke im semantischen Modell (TBox) umgeschrieben und/oder aufgeteilt werden.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Teilanfragen (q1, q2, q3) zumindest teilweise sequentiell erzeugt werden, indem zumindest teilweise für Reasoner (r1, r2, r6), die Teilanfragen (q1, q2, q3) erhalten, aus den Teilanfragen (q1, q2, q3) eine oder mehrere neue Teilanfragen erzeugt werden, welche an andere Reasoner (r1, r2, r6) gerichtet werden.
  10. Verfahren nach Anspruch 9, bei dem bei der Erzeugung von neuen Teilanfragen (q1, q2, q3) zumindest teilweise Teilantworten (a1, a2, ..., an) von vorhergehenden Teilanfragen (q1, q2, q3) berücksichtigt werden.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine jeweilige Teilantwort (a1, a2, a3) an den Reasoner (r1, r2, ..., r6), von dem die zugeordnete Teilanfrage (q1, q2, q3) stammt, zurückgegeben wird und dort zu einer neuen Teilantwort verarbeitet wird.
  12. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Teilantworten (a1, a2, a3), welche an einen Reasoner zurückgegeben werden, in dessen Modellinstanz (ABox1, ABox2, ABox6) zwischengespeichert werden.
  13. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Teilanfragen (q1, q2, q3) zumindest teilweise parallel erzeugt werden.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Teilantworten (a1, a2, a3) derart in dem zumindest einem Reasoner (r1) zusammengeführt werden, dass die von dem zumindest einen Reasoner (r1) empfangenen Teilantworten (a1, a2, a3) in der Modellinstanz (ABox1, ABox2, ..., ABox6) des zumindest einen Reasoners (rl) gespeichert werden.
  15. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Reasoner (r1, r2, ..., r6) zumindest teilweise vor der Durchführung des Schritts a) des Anspruchs 1 Teilantworten (a1, a2, a3) ermitteln.
  16. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Reasoner (r1, r2, ..., r6) hierarchisch auf Hierarchieebenen (H1, H2, ..., Hn) verteilt sind, so dass ein jeweiliger Reasoner (r1, r2, ..., r6) Teilanfragen (q1, q2, q3) nur von Reasonern (r1, r2, ..., r6) einer höheren Hierarchieebene (H1, H2, ..., Hn) und Teilantworten (a1, a2, a6) nur von Reasonern (r1, r2, ..., r6) einer niedrigeren Hierarchieebene (H1, H2, ..., Hn) empfangen kann.
  17. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Beschreibungslogik des Logiksystems auf OWL-DL beruht.
  18. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Reasoner (r1, r2, ..., r6) RacerPro-Reasoner umfassen.
  19. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das rechnerbasierte Logiksystem ein technisches System beschreibt und die Modellinstanzen (ABox1, ABox2, ..., ABox6) der Reasoner (r1, r2, ..., r6) zumindest teilweise Zustandsgrößen von Komponenten des technischen Systems, vorzugsweise Sensordaten, umfassen, wobei insbesondere hierarchisch angeordnete Reasoner (r1, r2, ..., r6) verwendet werden und die Zustandsgrößen der Komponenten in Modellinstanzen (ABox1, ABox2, ..., ABox6) von Reasonern (r1, r2, ..., r6) auf der untersten Hierarchieebene enthalten sind.
  20. Verfahren nach einem der vorhergehende Ansprüche, bei dem das technische System ein räumlich verteiltes technisches System ist, insbesondere ein Verwaltungssystem in einem Krankenhaus und/oder ein Schienenverkehrssteuersystem und/oder ein Automatisierungssystem.
  21. Vorrichtung zur Abfrage von Informationen in einem rechnerbasierten Logiksystem mit einer Vielzahl von Reasonern, (r1, r2, ..., r6) welche jeweils Schlussfolgerungen in einer Beschreibungslogik auf der Basis eines semantischen Modells (TBox) und einer Modellinstanz (ABox1, ABox2, ..., ABox6) des semantischen Modells (TBox) bestimmen, wobei alle Reasoner (r1, r2, r6) das gleiche semantische Modell (TBox) und zumindest teilweise verschiedene Modellinstanzen (ABox1, ABox2, ..., ABox6) des semantischen Modells (TBox) verwenden, umfassend: – ein Mittel zur Erzeugung einer Anfrage (q) nach Informationen an zumindest einen Reasoner (r1); – ein Mittel zur Generierung von Teilanfragen (q1, q2, q3) aus der Anfrage (q), wobei die Teilanfragen (q1, q2, q3) an zumindest einen Teil der Reasoner (r1, r2, ..., r6) gerichtet werden; – ein Mittel zum Zusammenführen von Teilantworten (a1, a2, a3), wobei die jeweiligen Teilantworten (a1, a2, a3) durch die Reasoner (r1, r2, ..., r6), an welche die Teilanfragen gerichtet werden, auf der Basis des semantischen Modells (TBox) und der Modellinstanz des semantischen Modells (TBox) des jeweiligen Reasoners (r1, r2, r6) ermittelt werden; – ein Mittel zum Bestimmen und Ausgeben der Antwort (a) auf die Anfrage (q) auf der Basis der zusammengeführten Teilantworten (a1, a2, a3).
  22. Vorrichtung nach Anspruch 21, wobei jedem Reasoner (r1, r2, ..., r6) eine rechnergestützte Komponente zugeordnet ist, wobei die rechnergestützten Komponenten derart ausgestaltet sind und derart zusammenwirken, dass ein Verfahren nach einem der Ansprüche 1 bis 20 durchführbar ist.
  23. Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 20, wenn das Programm auf einem Rechner abläuft.
DE102007029122A 2006-08-25 2007-06-25 Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem Ceased DE102007029122A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102007029122A DE102007029122A1 (de) 2006-08-25 2007-06-25 Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102006039880.7 2006-08-25
DE102006039880 2006-08-25
DE102007029122A DE102007029122A1 (de) 2006-08-25 2007-06-25 Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem

Publications (1)

Publication Number Publication Date
DE102007029122A1 true DE102007029122A1 (de) 2008-02-28

Family

ID=38973417

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007029122A Ceased DE102007029122A1 (de) 2006-08-25 2007-06-25 Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem

Country Status (1)

Country Link
DE (1) DE102007029122A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010112264A1 (de) * 2009-03-30 2010-10-07 Siemens Aktiengesellschaft Vorrichtung und verfahren zur erstellung eines prozessmodells
DE102010040641A1 (de) 2010-09-13 2012-03-15 Siemens Aktiengesellschaft Vorrichtung zur Verarbeitung von Daten in einem rechnergestützten Logiksystem sowie entsprechendes Verfahren

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010112264A1 (de) * 2009-03-30 2010-10-07 Siemens Aktiengesellschaft Vorrichtung und verfahren zur erstellung eines prozessmodells
DE102010040641A1 (de) 2010-09-13 2012-03-15 Siemens Aktiengesellschaft Vorrichtung zur Verarbeitung von Daten in einem rechnergestützten Logiksystem sowie entsprechendes Verfahren
WO2012034805A1 (de) 2010-09-13 2012-03-22 Siemens Aktiengesellschaft Vorrichtung zur verarbeitung von daten in einem rechnergestützten logiksystem sowie entsprechendes verfahren
RU2583720C2 (ru) * 2010-09-13 2016-05-10 Сименс Акциенгезелльшафт Устройство для обработки данных в логической системе с компьютерной поддержкой и соответствующий способ

Similar Documents

Publication Publication Date Title
DE10051021A1 (de) System, Verfahren und Computerprogramm zur Veröffentlichung interaktiver Web-Inhalte in einer statisch verknüpften Web-Hierarchie
WO2002007495A1 (de) System zur unterstützung einer fehlerursachenanalyse
DE102007027915B3 (de) Verfahren, Computerprogrammprodukt und System zum Referenzieren von patientenbezogenen Informationen in einem verteilten medizinischen System
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE102007029122A1 (de) Verfahren zur Abfrage von Informationen in einem rechnerbasierten Logiksystem
DE102018132623A1 (de) System und Verfahren zur Informationsübermittlung von Gesundheitsinformationen
CH701481B1 (de) Prozessmanagement.
WO2012034805A1 (de) Vorrichtung zur verarbeitung von daten in einem rechnergestützten logiksystem sowie entsprechendes verfahren
DE60203117T2 (de) Signalisierung von ereignissen in arbeitsfluss-verwaltungssystemen
EP3709188A1 (de) Rechnerarchitektur für eine schnittstelle zur aggregation von datenobjekten in einem verteilten system
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb
Wahedi et al. Healthcare provision for asylum seekers in reception centres: Qualitative survey from the perspective of healthcare providers
Hüppe et al. The Anaesthesiological Questionnaire for patients in cardiac anaesthesia: Results of a multicenter survey by the scientific working group for cardiac anaesthesia of the German Society for Anaesthesiology and Intensive Care Medicine
Fietkau et al. Advantages of digital vehicle powertrain development in planning of reliability demonstration tests
Grütter Software-Agenten im Semantic Web
Fiedler et al. A mathematical model to estimate the number of unreported SARS-CoV-2 infections in the early phase of the pandemic using Germany and Italy as examples
EP2154639A1 (de) Publikations-Abonnementsystem und Verfahren dazu
Kunze et al. Repräsentation und Verknüpfung allgemeinsprachlicher und terminologischer Wortnetze in OWL
DE10157996B4 (de) Verfahren zur adaptiven Anfrageevaluierung von auf XML basierenden Katalogen
DE102010035540B4 (de) Verfahren und System zur Übermittlung und Verteilung von DICOM-Daten
Heinrich et al. SEMPA–A Semantic Business Process Management Approach for the Planning of Process Models
Wagner et al. Differences in teachers’ test preparation methods depending on their functional perception and acceptance of low-stakes performance testing
Marheine et al. Innovation Through the Use of Enterprise IoT Solutions: A Model to Determine Innovation Potential
EP0990213B1 (de) Verfahren eines deduktiven kataloges zur allgemeinen constraintsbehandlung im erweiterten relationalen datenbankkonzept

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R011 All appeals rejected, refused or otherwise settled
R003 Refusal decision now final

Effective date: 20140325