SMART Systems (Vorlesung: KI & XPS)
Beim vorigen Mal: ALCQHIR+ , Syntax, Semantik, Anwendung (Pragmatik)
Inhalt heute: RDFS, Vertiefung der Anwendung der DL ALCQHIR+ Schließen mit Bezug auf algebraische Theorien
am Beispiel der reellen Zahlen: konkrete Domänen Lineare Constraints über reellen Zahlen
Lernziele: Verstehen der Modellierung mit DLs
Ralf Möller, Univ. of Applied Sciences, FH-Wedel
Wiederholung:
ALC + Qualifizierende Anzahlrestriktionen + RollenHierarchien + Inverse Rollen + Transitive Rollen
= ALCQHIR+
Beispiele
Betrachtung von DLs aus praktischer Sicht
Sitzen die DL-Leute im Elfenbeinturm?Was wird in der Praxis diskutiert?
RDF, RDFS, UML, EER, XML, XML-SchemaWie stehen Beschreibungslogiken hierzu?
Wir können DLs verwenden, um die Repräsentationssprachen zu verstehen undin Beziehung zu setzen!
Wir können DLs verwenden, um über Strukturen unter Ausnutzung von ontologischen Informationen zu schließen
5
RDF – Resource Description Framework
RDF
Model Schema+Metadaten +
= automatische Verarbeitung
(Syntax) (Semantik)
Anwendung: Metadaten zur Annotation im Web
7
Darstellung durch gerichtete GraphenRessources: Subjekte (URI)Properties: Prädikate
Literals: Objekte
RDF-Modell
8
http://... Mustermann
Subjekt Objekt
Creator
Prädikat
Einfache Aussage (S – P – O):
http://... has the creator Mustermann.
Aussagen
Property
9
http://... Mustermann
Subjekt Objekt
Creator
Prädikat
<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/"> <rdf:Description about="http://…"> <s:Creator>Mustermann</s:Creator> </rdf:Description></rdf:RDF>
Beispiel in RDF-Syntax (1)
10
http://... Mustermann
Subjekt Objekt
Creator
Prädikat
Oder in verkürzter Syntax:
<rdf:Description about="http://…"s:Creator="Mustermann"/>
Beispiel in RDF-Syntax (2)
11
http://...
Mustermann
Name E-Mail
Creator
Prädikat007
"http://... has creator 007and 007 has name Mustermannand e-mail [email protected]"
Strukturierte Werte
12
<rdf:Description about="http://..."> <s:Creator> <rdf:Description about=“007"> <rdf:type resource="http://description.org/schema/Person"/> <v:Name>Mustermann</v:Name> <v:E-mail>[email protected]</v:E-mail> </rdf:Description> </s:Creator></rdf:Description>
Strukturierte Werte
v sei anderesSchema
13
Container (von Ressourcen und Literalen)
Bag: ungeordnete Liste
Sequence: geordnete Liste
Alternative: Liste mit Alternativen
14
Beispiel (1)
http://.../1.zip rdf:Alt
ftp://ftp.xyz.de
ftp://ftp.zyx.nl
DistributionSite
rdf:type
rdf:_1
rdf:_2
“The source code for 1.zip may be found at ftp.xyz.de or ftp.zyx.nl.”
15
Beispiel (2)<rdf:RDF>
<rdf:Description about="http://…">
<s:DistributionSite>
<rdf:Alt>
<rdf:li resource="ftp://ftp.xyz.de"/>
<rdf:li resource="ftp://ftp.xyz.nl"/>
</rdf:Alt>
</s:DistributionSite>
</rdf:Description>
</rdf:RDF>
16
Problem: Eigenschaften von Listenelementen<rdf:Bag ID="pages"> <rdf:li resource="http://foo.org/foo.htm" />
<rdf:li resource="http://foo.org/bar.htm" /></rdf:Bag>
<rdf:Description about="#pages"><s:Creator>Mustermann</s:Creator>
</rdf:Description>
17
Lösung: Zusicherung aboutEach
<rdf:Description aboutEach="#pages"> <s:Creator>Mustermann</s:Creator></rdf:Description>
<rdf:Description aboutEachPrefix="http://foo.org/"> <s:Creator>Mustermann</s:Creator></rdf:Description>
18
RDF-Schema
Idee: Definition des „gültigen Vokabulars“ in RDF -> RDFS (RDF-Schema) Ein Schema wird als Ressource verstanden, die
wiederum in RDF beschrieben wird (Selbstbezüglichkeit)
„Property-Types“ charakt. durch domain,rangeBsp.: Property-Type „Preis“
domain: alle Katalogeinträgerange: Geldbetrag
zusätzlich: Definition von Klassen und Klassenhierarchien, ...
RDF-Schema: Beispiel (graphisch)
RDF-Schema: Klassen (textuell)
RDF-Schema: Eigenschaften (textuell)
(Vergleiche OO-Klassen)
22
Wer modelliert? (www.dmoz.org)
RDF aus theoretischer (logischer) Sicht:RDF-Modell = AboxRDF-Schema = Tbox Sprache trivial: nur Axiome der Form A1 A2
inklusive Domain- und Range-RestriktionenAber: Über Domain- und Range-Restriktionen
kommen Zyklen ins Spiel (Warum?)Mengentheoretische Semantik für RDF“There is nothing interesting in what we are doing. The onlyinteresting thing is the scale upon which we are attemptingto do it.”
R. V. Guha, E- pinions
Zyklen in Konzeptdefinitionen
Mensch hat-Vater MenschIst
Mensch = hat-Vater Menscheine Konzeptdefinition?
GegebenPferd = hat-vater PferdIst Pferd ein Synonym zu Mensch (d.h. liegt eine wechselseitige Subsumption vor?)(Warum nicht? -> Deskriptive Semantik)
Und andere Formalismen?
Einführung einer Semantik für UML
Constraints in UML: Klassen
Überlappung, DisjunktheitÜberdeckung
Constraints in UML: Assoziationen
Subset...
Einiges, was man (zur Zeit) in Racer nicht kann Nicht alle Eigenschaften von Partonomierelationen
lassen sich ausdrücken: z.B. Irreflexivität kann nicht erzwungen werden
(d.h. etwas kann Teil von sich selbst sein) Retrieval-Sprache ist noch zu wenig
ausdrucksmächtig: retrieve( R (X R ) R (Y R )) -> {a1, a2 } Z.Z. keine Anfrage spezifizierbar, die nur {a2 } liefert
a1
B1:X
C1:Y
d1
d2
a2
b2 :X
c2 :Y
dR
R
RR
R
R
R
R
Abox:
Weitere Anforderungen Wie kann das Alter eines Menschen repräsentiert
werden? Wie kann repräsentiert werden, daß ein Mensch
nicht älter als sein Vater ist? -> Prädikate z.B. über ganze oder reelle Zahlen Im Web-Kontext kann die Temperatur eines Objektes
in Europa mit einem Celsius-Wert und in USA mit einem Fahrenheit-Wert gekennzeichnet sein. Wie geht man damit um?
-> Lineare Ungleichungen sind obligatorisch
Konkrete Domänen: Idee
Unterscheidung:Individuum vs.konkretes Objekt
Neuer KonzeptoperatorKlammern sind optional
Konkrete Objekte werden auf weitere Domäne abgebildet (Domäne disjunkt zur Domäne der Interpretation, d.h. dem Universum)
f1 f2(f1)(f2) . P
x yP(x,y)
(f1) (f2) ... (fn) . P
Konkrete Domänen: Definition Genereller Ansatz [Baader, Hanschke 91]
Beispiele (N, {<, <=, >, >=}) (R, <Prädikate basierend auf linearen Ungleichungen> )
Racer-Logik:
Racer-Logik
In Racer: Lineare Ungleichungen über R Min-Max-Schlüsse über Integer
Konkrete Domänen: Beispiel (1)
Teenager subsumiert old_teenager
Seriously_ill_human wird von human_with_fever subsumiert
Was ist mit human_with_high_fever?
Konkrete Domänen: Beispiel (2)
Human_with_high_fever wird von human_with_fever subsumiert
Konkrete Domänen: Beispiel (3)
Gegeben: Abox und obige Tbox
Direct-types(doris) -> { human_with_fever }Direct-types(eve) -> { human_with_fever }
Konkrete Domänen: Beispiel (4)
Gegeben: Abox
Frage: Abox konsistent? -> Nein! (Warum?)Was ist „konkret“ an konkreten Domänen?
Konkrete Domänen mit Attributketten
ALC(D) [Baader, Hanschke 91]
f1 f2f1f3, f2 . P
y
P(x,y)f3
x
Konkrete Domänen mit Attributketten
Nicht mit Axiomen bzw.transitiven Rollen und Rollenhierarchienkombinierbar!
Daher in Racer nur einfache AttributeRacer mit Attributketten:
Syntaxeinschränkungen notwendigOffenes Forschungsgebiet
Zusammenfassung, Kernpunkte
Was kann und was kann nicht modelliert werden?
DLs und praxisorientierte Repräsentationssprachen
Konkrete Domänen
Was kommt beim nächsten Mal?
XML-Schema und DAML+OIL