Title: Ontologiesprachen XML / RDF / OWL in Proteg
1OntologiesprachenXML / RDF / OWL in Protegé
WissensorganisationSeminar Prof. Dr. Spree
Joachim Köpf - Claudia Irle
Wissensorganisation HAW-Hamburg WS 08/09
2XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
Übersicht
- Aufbau XML / RDF
- OWL
- Code
- Demo
- Ausblick
3XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
Semantic Web
Anwendungen
Ontologiesprache (z.B. OWL)
RDF-Schema
RDF
XML
URIs und Namespaces
4XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
XML
- Extensible Markup Language
- Tagbasierte Metasprache
- Wird für die Nutzung von OWL genommen
- da Webstandard
- der Datenaustausch wird unterstützt
- einfach zu parsen und plattformunabhängig
5XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
XML
- Nachteile von XML
- XML definiert Syntax, aber keine Semantik
- XML-Beschreibungen können für Computer mehrdeutig
sein - Relationen können nicht definiert werden
- Noch nicht ausreichend für den Einsatz von OWL
6XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF (System zur Beschreibung von Bezugsquellen)
- Resource Description Framework
- Datenmodell zu Bereitstellung von Metadaten
- Aussagen beschreiben Ressourcen und deren
Attribute - gt Tripel
7XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF-Tripel
- Beschreiben Ressourcen und deren Attribute
- Bestehen aus Ressource, Eigenschaft, Literal oder
Ressource
Subjekt Prädikat Objekt
Literalbewertete Aussage Spaghetti Carbonara Preis 12,90 EUR
Ressourcen-bewertete Aussage Erika Mustermann Lieblingsessen Spaghetti Carbonara
8XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF
- RDF reicht leider auch noch nicht aus
- Modell fehlt, um Daten aus dem RDF-Datenmodell
auszutauschen - Semantik reicht noch nicht für die Beschreibung
von Ontologien aus
9XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF/XML
- Auch noch nicht ausreichend
- Keine Beschreibung von Klassen möglich
- Kein Konzept für Aufzählung von Datentypen und
Aufzählungen
10XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF-Schema
- Neutrale Schema-Sprache
- Enthält Basisstrukturen für Klassen und
Properties - RDFS-Klassen enthalten Instanzen (Assoziierte
Ressourcen) rdfsclass Definition von Klassen
11XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
RDF-Schema
- RDF-Schema auch noch nicht ausreichend
- Aussage über Kardinalitäten nicht möglich
- Keine Aussage über Eigenschaften von
Eigenschaften - Zu wenige Deskriptoren, um Inferenzierung zu
unterstützen
12XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
OWL
- Web Ontology Language
- Standardsprache zur Erstellung von Ontologien um
im Semantic Web Informationen zu repräsentieren - W3C Recommendation seit 2004
- Code soll von Software-Agenten verstanden werden
13XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
OWL Versionen
14XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
OWL-Aufbau
- Die drei Bausteine von OWL-Ontologien
- Klassen
- Individuen (Objekte in RDF)
- Rollen (Properties in RDFS)
15XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
OWL Besonderheiten
- OWL kann Klassen logisch kombinieren
- Vereinigung
- Durchschnitt
- Komplement (Gegenteil)
- OWL kann Eigenschaften definieren als
- Transitiv (schlussfolgernd)
- Symmetrisch
- Funktional
- Als inverses einer anderen Eigenschaft
16XML / RDF / OWL in Protégé Aufbau OWL Code
Demo Ausblick
OWL Besonderheiten
- Fehlen von Informationen ist keine negative
Information - mag(PersonA, GetränkB) -gt Person kann auch andere
Getränke mögen - Keine Unique Name Assumption
- Verschiedenheit muss explizit ausgedrückt werden
- Person A kann nicht die selbe Instanz bezeichnen
wie Person B - OWLsameAs
- OWLdifferentFrom
17OWL-Ontologie Dokument
Header
XML Deklaration und RDF Start Tag
lt?xml version"1.0"?gtltrdfRDF gt
Namespacedeklarationen
Ontologie-Element
Informationen über die Version
Importierte Elemente
Body
Aussagen über Klassen,Eigenschaften und
Individuen
Footer
RDF-Endtag lt/rdfRDFgt
18XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Header
- Informationen zu
- Namensräumen
- Versionierung
- Annotationen
19XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Exemplarischer Header mit Namespace-Deklaration
- ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" - xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema"
- xmlnsowl"http//www.w3.org/2002/07/owl"
- xmlnsdaml"http//www.daml.org/2001/03/damloil"
- xmlnsdc"http//purl.org/dc/elements/1.1/"
- xmlns"http//www.owl-ontologies.com/travel.owl"
- xmlbase"http//www.owl-ontologies.com/travel.owl
"gt
20XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Exemplarischer Header mit allgemeinen
- Informationen zur gesamten Ontologie
- ltowlOntology rdfabout""gt
- ltowlversionInfo
- rdfdatatype"http//www.w3.org/2001/XMLSchemastr
ing"gt - 1.0
- lt/owlversionInfogt
- ltrdfscomment rdfdatatype"http//www.w3.org/2001
/XMLSchemastring"gt - An example ontology for tutorial purposes.
- lt/rdfscommentgt
- lt/owlOntologygt
21XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Einfache Klassen Benennung
- ltowlClass rdfID"Relaxation"gt
- Referenzierung auf diese Klasse innerhalb eines
- Dokuments
- ltrdfresource"Relaxationgt
- Alternativ
- ltrdfresourcehttp//www.owl-ontologies.com/trave
l.owlRelaxationgt - Erweiterung einer importierten Klassendefinition
- ltowlClass rdfabout"Relaxation"gt
22XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Einfache Klassen Referenzierung auf Klasse via
- ENTITY
- Im Header
- lt!DOCTYPE rdfRDF
- lt!ENTITY owl "http//www.w3.org/2002/07/owl" gt
- gt
- Referenzierung
- ltowlClass rdfabout"owlThing"/gt
23XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassen equivalentClass
ltowlClass rdfabout"US_President"gt
ltequivalentClass rdfresource"PrincipalReside
ntOfWhiteHouse"/gt lt/owlClassgt Zwei Klassen
besitzen exakt dieselben Instanzen.
24XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassenbeziehungen subClassOf
ltowlClass rdfID"Relaxation"gt ltowlClass
rdfID"Sunbathing"gt ltrdfssubClassOfgt
ltowlClass rdfabout"Relaxation"/gt
lt/rdfssubClassOfgt lt/owlClassgt Sunbathing ist
subClassOf Relaxation.
25XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassenbeziehungen disjointWith
ltowlClass rdfabout"Relaxation"gt ltrdfssubCla
ssOf rdfresource"Activity"/gt
ltowldisjointWith rdfresource"Sightseeing"/gt
ltowldisjointWith rdfresource"Sports"/gt
lt/owlClassgt Relaxation ist disjunkt mit
Sightseeing und Sports
26XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassenbeziehungen disjointWith
ltowlClass rdfabout"Relaxation"gt ltrdfssubCla
ssOf rdfresource"Activity"/gt
ltowldisjointWith rdfresource"Sightseeing"/gt
ltowldisjointWith rdfresource"Sports"/gt
lt/owlClassgt Relaxation ist disjunkt mit
Sightseeing und Sports
27XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassenbeziehungen Inferenz
ltowlClass rdfID"Professor"gt ltrdfssubClassOf
rdfresource"Fakultaetsmitglied"/gt lt/owlClassgt
ltowlClass rdfID"Buch"gt ltrdfssubClassOf
rdfresource"Publikation"/gt lt/owlClassgt ltowlC
lass rdfabout"Fakultaetsmitglied"gt ltowldisjoin
tWith rdfresource"Publikation"/gt lt/owlClassgt
Fakultätsmitglied ist disjunkt mit
Publikation. Es folgt durch Inferenz, dass ein
Professor kein Buch ist (Professor ist auch
disjunkt mit Buch).
28XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Einfache Klassenbeziehungen Inferenz
- ltowlClass rdfID"Professor"gt
- ltrdfssubClassOf
- rdfresource"Fakultaetsmitglied"/gt
- lt/owlClassgt
- ltowlClass rdfIDFakultätsmitglied"gt
- ltrdfssubClassOf rdfresourcePerson"/gt
- lt/owlClassgt
- Es folgt durch Inferenz, dass ein Professor eine
Person - ist.
- subClassOf ist transitiv. Einfach ausgedrückt
- Aus xRy und yRz folgt xRz
29XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Individuals
ltCapital rdfabout"Sydney/gt Identisch
mit ltowlThing rdfabout"Sydney"gt ltrdftype
rdfresourceCapitalgt lt/rdftypegt
lt/owlThinggt
30XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Properties von Individuals ltowlDatatypeProperty
rdfabout"hasZipCode"gt ltrdftype
rdfresource"owlFunctionalProperty"/gt
ltrdfsdomain rdfresource"Contact"/gt
ltrdfsrange rdfresource"xsdint"/gt
lt/owlDatatypePropertygt ltCapital
rdfabout"Sydney"gt lthasZipCodegt33587lt/h
asZipCodegt lthasPart rdfresource"BondiB
each"/gt lthasPart rdfresource"Currawong
Beach"/gt lthasAccommodation
rdfresource"FourSeasons"/gt lt/Capitalgt
31XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
Individuals
ltowlClass rdfID"Professor"gt ltrdfssubClassOf rd
fresource"Fakultaetsmitglied"/gt lt/owlClassgt lto
wlClass rdfID"Fakultaetsmitglied"gt ltrdfssubCla
ssOf rdfresource"Person"/gt lt/owlClassgt Es
folgt durch Inferenz, dass Professor
eine Subklasse von Person ist.
32XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Properties definieren
- Einschränkung durch
- Domain (RDFS)
- Range (RDFS)
- Type (RDF)
- 2 Unterklassen von rdfProperty
- Object-Properties (abstrakte Rollen)
Individuals mit - Individuals unterschiedlicher Klassen.
- Bsp. ltowlObjectProperty rdfabout"hasAccommo
dation"gt - ltCapital rdfabout"Sydney"gt
- lthasAccommodation rdfresource"FourSeasons"/
gt -
- Datatype-Properties (konkrete Rollen)
Individuals mit Datenwerten. Bsp.
ltowlDatatypeProperty rdfabout"hasZipCode"gt - ltCapital rdfabout"Sydney"gt
- lthasZipCodegt33587lt/hasZipCodegt
33XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Properties
- Einschränkung durch
- Domain (RDFS)
- Range (RDFS)
- 2 Unterklassen von rdfProperty
- Object-Properties (abstrakte Rollen)Individuals
mit Individuals unterschiedlicher Klassen - Bsp. ltowlObjectProperty rdfabout"hasAccommod
ation"gt - Datatype-Properties (konkrete Rollen)
Individuals mit Datenwerten - Bsp. ltowlDatatypeProperty rdfabout"hasZipCod
e"gt
34XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Property Datatypes
- Datatype-Properties können RDF-Literale
darstellen oder auch simple Datentypen, gemäß den
XML-Schema Datentypen Vereinbarungen. - OWL unterstützt die meisten der in XML-Schema
enthaltenen Datentypen plus rdfsLiteral - Alle OWL-Reasoner müssen xsdinteger und
xsdstring-Datentypen unterstützten.
35XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Property Characteristics
- TransitiveProperty
- P(x,y) and P(y,z) implies P(x,z)
- SymmetricProperty
- P(x,y) gdw P(y,x)
- gdw (genau dann wenn)
- x Property von y genau dann wenn y Property von x
- FunctionalProperty
- P(x,y) and P(x,z) implies y z
- InverseOf
- P1(x,y) gdw P2(y,x)
- InverseFunctionalProperty
- P(y,x) and P(z,x) implies y z
36XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Code
- Property Restrictions
- value constraints (Quantifizierer)
- schränkt die Range der Property ein
- - owlallValuesFrom (alle)
- - owlsomeValuesFrom
(mindestens eine) - - owlhasValue (genauer Wert)
- cardinality constraints (Kardinalität)
- schränkt die Anzahl von Values ein, die eine
Property - haben kann.
- - owlmaxCardinality (obere
Grenze der Anzahl) - - owlminCardinality (untere
Grenze der Anzahl) - - owlCardinality (exakte Anzahl)
37XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
OWL Ausblick
- Dient aktuell nur zur Repräsentation von Wissen
- Erfüllt noch keine alltäglichen Zweck
- Viel Arbeit, um alles Wissen in Ontologien zu
transportieren - Schwer zu erweitern
38XML / RDF / OWL in ProtégéAufbau OWL Code
Demo Ausblick
- Vielen Dank für Eure Aufmerksamkeit!