Simplifying OWL Class Expressions
Nehmen wir einen Klassenausdruck (CE): $\text{Animal} ⊓ \text{Cat}$. Um alle Individuen zu finden, die den Klassenausdruck erfüllen, würde ein Reasoner zunächst alle Tiere und dann alle Katzen betrachten und den Cut berechnen. Einem menschlichen Leser mit seinem Hintergrundwissen ist klar, dass es ausreicht, alle Tiere zu betrachten $\text{Cat}$ s only (because $\text{Cat}⊏\text{Animal}$ ). Eine Maschine kann diese Schlussfolgerung jedoch nur ziehen, wenn sie Informationen über die hierarchische Beziehung zwischen $\text{cat}$ and $\text{animal}$. Ihre Aufgabe in dieser Arbeit wird es sein, alle notwendigen Informationen zu extrahieren und Vereinfachungen auf Klassenausdrücke für eine gegebene Wissensbasis anzuwenden.
Sie werden an einem bestehenden OWL-Wissensbasissystem auf der Basis von Tentris arbeiten, das Reasoning-Dienste wie die Suche nach Individuen über Klassenausdrücke unterstützt. Das System, tentris-cwr, unterstützt Closed World Reasoning mit einer vor-materialisierten Datenbank. Materialisierung ist hier der Prozess, der alle Aussagen explizit macht, z.B. $\text{Cat}(\text{miezi})$ also $\text{Animal}(\text{miezi})$. Sie werden die notwendigen Teile implementieren, um Klassenausdrücke so zu optimieren, dass sie schneller ausgewertet werden können. Ihre Implementierung sollte Folgendes unterstützen $\mathcal{ALC\ HR}$ (https://en.wikipedia.org/wiki/Description_logic#Naming_convention)
Die Bachelorarbeit umfasst:
- Einarbeitung in RDF und OWL.
- Implementieren Sie eine Materialisierungsmaschine für $\mathcal{ALC\ HR}$
- Überprüfen Sie Ihre Ergebnisse, indem Sie sie mit dem Reasoner Hermit vergleichen
- Extrahieren von Klassen- und Eigenschaftshierarchien für $\mathcal{ALC\ HR}$
- Implementieren Sie einen Optimierer für Klassenausdrücke auf der Grundlage der Materialisierung und der Hierarchien
- Benchmarking optimierter Klassenausdrücke gegen nicht optimierte Klassenausdrücke
- Benchmarking mit anderen Closed World Reasonern (DLLearner/Ontolearn)
Was Sie wissen müssen:
- Gute Kenntnisse in moderner C++-Programmierung (C++17 oder höher)
- Vorkenntnisse über RDF und OWL sind hilfreich, aber nicht notwendig
- Informieren Sie sich über Beschreibungslogiken, RDF, OWL und Tentris:
en.wikipedia.org/wiki/Description_logic
www.w3.org/TR/2012/REC-owl2-primer-20121211/
papers.dice-research.org/2020/ISWC_Tentris/iswc2020_tentris_public.pdf (Sie können sich auf die Abschnitte 1, 2, 3, 4 und 6.1 konzentrieren)