Upload
christoph-stollwerk
View
29
Download
0
Embed Size (px)
Citation preview
– Semantic Technologies –
Dozent: Christoph Stollwerk
OWL 1 & Protegé
Übung, Wintersemester 2017/18
11. Dezember 2017
ZusammenfassungRDFS
• Klassenhierachien
• Eigenschaftshierarchien
• domain und range
Eingeschränkte Ausdruckskraft
Introducing: OWL
htt
ps:
//w
ww
.youtu
be.c
om
/watc
h?v
=0
Ne3
0G
I2B
uk
OWL
Web Ontology Language
• Reichhaltige Ontologiesprache
• erweitert RDF-Schema
OWL
Web Ontology Language
• Verschiedene Varianten mit unterschiedlicher Ausdruckskraft:
• OWL Full
• OWL DL
• OWL Lite
Subset
Informell: RDFS-Plus (RDFS + ein bisschen OWL)
OWL
Web Ontology Language
Klassen und Properties
owl:Class<owl:Class rdf:about="http://example.org/uni-vokabular#Dozent"/>
owl:DatatypeProperty <owl:DatatypeProperty rdf:about="&uni;name"> <rdfs:domain rdf:resource="&uni;Dozent"/> <rdfs:range rdf:resource="&xsd;string"/></owl:DatatypeProperty>
owl:ObjectProperty <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon">
<rdfs:domain rdf:resource="&uni;Veranstaltung"/>
<rdfs:range rdf:resource="&uni;Dozent"/></owl:ObjectProperty>
Umkehrung
• owl:inverseOf
• Eigenschaft einer Property
• Gibt eine andere Property an, die die gleiche Bedeutung hat, bei der aber Subjekt und Objekt vertauscht sind.
<owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"/>
<owl:ObjectProperty rdf:about="&uni;haelt"> <owl:inverseOf rdf:resource="&uni;wirdGehaltenVon"/></owl:ObjectProperty>
Umkehrung
• Regel: IF ?x ?P ?yAND ?Q owl:inverseOf ?PTHEN ?y ?Q ?x.
@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix uni:<http://example.org/uni-vokabular#>.@prefix hki: <http://hki.uni-koeln.de/stundenplan/>.
hki:5 uni:wirdGehaltenVon staff:thaller.
uni:haelt owl:inverseOf uni:wirdGehaltenVon.
# abgeleitete Tripelhki:thaller uni:haelt hki:5.
Symmetrische Eigenschaften• owl:SymmetricProperty
• Klasse von Properties
• Gibt an, dass bei der gleichen Eigenschaft Subjekt und Objekt vertauscht werden können.
<owl:ObjectProperty rdf:about="&ex;worksWith"> <rdf:type rdf:resource="&owl;SymmetricProperty"/></owl:ObjectProperty>
• Regel: IF ?P rdf:type owl:SymmetricPropertyTHEN ?P owl:inverseOf ?P.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix ex: <http://example.org/work-relations#>.@prefix staff: <http://hki.uni-koeln.de/staff/>.
staff:stollwerk ex:worksWith staff:wieners.
ex:worksWith a owl:SymmetricProperty.
# abgeleitete Tripelex:worksWith owl:inverseOf ex:worksWith.staff:wieners ex:worksWith staff:stollwerk.
Symmetrische Eigenschaften
Transitivität
• owl:TransitiveProperty
• Klasse von Properties
• Mathematisches Konzept der Transitivität:
• wenn R(a,b) und R(b,c), dann R(a,c)
<owl:ObjectProperty rdf:about="&uni;vorfahreVon"> <rdf:type rdf:resource="&owl;TransitiveProperty"/></owl:ObjectProperty>
Transitivität
• Regel:IF ?x ?P ?yAND ?y ?P ?zAND ?P rdf:type owl:TransitivePropertyTHEN ?x ?P ?z.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix ex: <http://example.org/family-relations#>.@prefix sw: <http://example.org/star-wars/>.
sw:shmi.skywalker ex:vorfahreVon sw:anakin.skywalker.sw:anakin.skywalker ex:vorfahreVon sw:luke.skywalker.
ex:vorfahreVon a owl:TransitiveProperty.
# abgeleitete Tripel
sw:shmi.skywalker ex:vorfahreVon sw:luke.skywalker.
Äquivalenz
• owl:equivalentClass
• owl:equivalentProperty
Besonders nützlich beim Zusammenführen unterschiedlicher Vokabulare (Mapping).
<owl:Class rdf:about="&klips;Veranstaltung"> <owl:equivalentClass rdf:resource="&hki;Kurs"/></owl:Class>
<owl:ObjectProperty rdf:about="&klips;wirdGehaltenVon"> <owl:equivalentProperty rdf:resource="&hki;unterrichtetVon"/></owl:ObjectProperty>
ÄquivalenzRegeln:IF ?A owl:equivalentClass ?BAND ?y rdf:type ?ATHEN ?y rdf:type ?B.
IF ?A owl:equivalentClass ?BAND ?y rdf:type ?BTHEN ?y rdf:type ?A.
owl:equivalentClass rdf:type owl:SymmetricProperty.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix klips: <http://klips.uni-koeln.de/vokabular#>.@prefix hki: <http://hki.uni-koeln.de/kursverwaltung#>.@prefix course: <http://hki.uni-koeln.de/courses/>.
course:261 a hki:Kurs.hki:unterrichtetVon rdfs:domain hki:Kurs.
klips:Veranstaltung owl:equivalentClass hki:Kurs.
# abgeleitete Tripelcourse:261 a klips:Veranstaltung.hki:unterrichtetVon rdfs:domain hki:Kurs.
Äquivalenz
• owl:sameAs
• Gibt an, dass zwei Individuen identisch sind.
<movie:Character rdf:about="&sw;anakin.skywalker"/>
<movie:Character rdf:about="&sw;darth.vader"> <owl:sameAs rdf:resource="&sw;anakin.skywalker"/></movie:Character>
ÄquivalenzRegeln:
@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix klips: <http://klips.uni-koeln.de/vokabular#>.@prefix kv: <http://klips.uni-koeln.de/veranstaltungen/>.@prefix hc: <http://hki.uni-koeln.de/courses/>.@prefix staff: <http://hki.uni-koeln.de/staff/>.
kv:23422 klips:titel "Semantic Technologies";a klips:Uebung.
staff:stollwerk klips:haelt hc:5.
hc:5 owl:sameAs kv:23422.
IF ?s ?P ?xAND ?x owl:sameAs ?yTHEN ?s ?P ?y.
IF ?x ?P ?oAND ?x owl:sameAs ?yTHEN ?y ?P ?o.
owl:sameAs rdf:type owl:SymmetricProperty.
# abgeleitete Tripelhc:5 klips:titel "Semantic Technologies";
a klips:Uebung.staff:stollwerk klips:haelt kv:23422.
Funktionale Eigenschaften• owl:FunctionalProperty
• Klasse von Properties
• Gibt an, dass eine Property für eine Instanz nur einen einzigen Wert annehmen kann.
<owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"> <rdf:type rdf:resource="&owl;FunctionalProperty"/></owl:ObjectProperty>
• Regel:IF ?x ?P ?aAND ?x ?P ?pAND ?P rdf:type owl:FunctionalPropertyTHEN ?a owl:sameAs ?b.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix owl: <http://www.w3.org/2002/07/owl#>.@prefix ex: <http://example.org/family-relations#>.@prefix sw: <http://example.org/star-wars/>.
sw:luke.skywalker ex:hatVater sw:anakin.skywalker.sw:luke.skywalker ex:hatVater sw:darth.vader.
ex:hatVater a owl:FunctionalProperty.
# abgeleitete Tripel
Funktionale Eigenschaften
sw:anakin.skywalker owl:sameAs sw:darth.vader.
Invers-funktionale Eigenschaften
• owl:InverseFunctionalProperty
• Klasse von Properties
• Gibt an, dass eine Property für jede Instanz einen anderen Wert annimmt.
<owl:ObjectProperty rdf:about="&uni;matrikelNr"> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/></owl:ObjectProperty>
Invers-funktionale Eigenschaften
• Regel:IF ?x ?P ?aAND ?y ?P ?aAND ?P rdf:type owl:InverseFunctionalPropertyTHEN ?x owl:sameAs ?y.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix ex: <http://example.org/family-relations#>. @prefix sw: <http://example.org/star-wars/>.
staff:stollwerk foaf:mbox <mailto:[email protected]>. person:523 foaf:mbox <mailto:[email protected]>.
foaf:mbox a owl:InverseFunctionalProperty.
# abgeleitete Tripel person:523 owl:sameAs staff:stollwerk.
ProtégéEin Ontologie-Editor
Protégé
• Open Source
• Cross-Plattform (Windows, Linux, Mac)
• http://protege.stanford.edu
Aufgaben
Aufgabe 1
1.Gegeben ist folgende Ontologie:
http://hki.uni-koeln.de/owl-protege/
1.Erweitern Sie diese Ontologie so, dass dadurch möglichst viele Schlüsse automatisch gezogen werden können.
Aufgabe 2
• Erstellen Sie mit Hilfe der Ihnen bekannten Klassen und Properties ein Mapping der Ontologie aus Aufgabe 1 auf FOAF.
Fragen?!Fragen?!??
?? ? ? ? ?? ?
Herzlichen Herzlichen Dank!Dank!