Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick

Ähnliche Präsentationen


Präsentation zum Thema: "XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick"—  Präsentation transkript:

0 Ontologiesprachen XML / RDF / OWL in Protegé
Ontologiesprachen XML / RDF / OWL in Protegé Wissensorganisation Seminar Prof. Dr. Spree Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09

1 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Übersicht Aufbau XML / RDF OWL Code Demo Ausblick

2 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Semantic Web Anwendungen Ontologiesprache (z.B. OWL) RDF-Schema RDF XML URIs und Namespaces Erweiterung des WWW um maschinenlesbare Daten, welche die Semantik der Inhalte formal festlegen Konzept von Tim Burners Lee (hat das heutige Internet ermöglicht mit HTML) Programme sollen auf den Informationen operieren können basiert auf RDF-Syntax(RDF/XML) und auf DAML+OIL􀂄 RDF = ResourceDescriptionFramework􀂄 formale Sprache zur Beschreibung von Metadaten im Web􀂄 nutzt URIszur Identifikation von Objekten􀂄 OWL stärkere Interpretationsmöglichkeiten von Web-Inhalten als RDF, RDFS, XML

3 XML XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick
XML / 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

4 XML XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick
XML / 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

5 RDF (System zur Beschreibung von Bezugsquellen)
XML / 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 => Tripel

6 XML / 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 Innerhalb von RDF-Dokumenten werden Tripel in einer einfachen Art und Weise dargestellt, so dass es sowohl für Computer als auch für Menschen möglich ist, diese zu lesen und zu verstehen. Allgemein dargestellt hat ein RDF-Tripel den folgenden Aufbau: subjekt, prädikat, objekt

7 RDF XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick
XML / 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

8 XML / 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

9 XML / 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) rdfs:class Definition von Klassen Unterstützt auch das Einschränken von Klassen und Eigenschaften Erweitert das Typenkonzept von RDF

10 XML / 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 Kardinalität beschreibt in der Datenbanktechnik die Komplexität oder den Grad einer Beziehung (engl. Relationship) zwischen zwei Entitätstypen in einem Entity-Relationship-Diagramm Inferẹnz [lateinisch] die, Logik und Sprachwissenschaft: Bezeichnung für Vorgänge des Schlussfolgerns auf eine explizit nicht gegebene Information aus bestimmten gegebenen Informationen innerhalb von Texten. Dazu gehören u. a. Schlüsse nach den logischen Regeln, wie z. B. »Alle Menschen haben zwei Beine. Max ist ein Mensch.«, woraus geschlussfolgert wird »Max hat zwei Beine.«.

11 OWL XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick
XML / 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 Web Ontology Language Menge von Axiomen, die Klassen und Eigenschaften (Properties) sowie die Beziehungen zwischen diesen beschreiben Als Software-Agent oder auch Agent bezeichnet man ein Computerprogramm, das zu gewissem eigenständigem Verhalten fähig ist. Agenten werden große Einsatzmöglichkeiten in den Bereichen E-Commerce, Informationsrecherche, Simulation, Erledigen von Routineaufgaben und in autonomen Systemen eingeräumt.

12 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Versionen OWL-Full OWL-DL OWL-Lite Lite DL Full OWL Lite: 􀂄v.a. Erstellung von Taxonomien 􀂄nur einfache Beschränkungsmöglichkeiten 􀂄OWL DL: 􀂄Einschränkung: Klasse darf nicht Instanz einer anderen Klassen sein 􀂄Entscheidbarkeit und Vollständigkeit für Inferenzsysteme 􀂄OWL Full: 􀂄maximale Ausdrucksstärke 􀂄syntaktische Freiheit von RDF 􀂄Verzicht auf Einschränkungen => unentscheidbar

13 XML / 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)

14 XML / 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

15 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Besonderheiten Fehlen von Informationen ist keine negative Information mag(PersonA, GetränkB) -> 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 OWL:sameAs OWL:differentFrom Übersetzung: Keine eindeutige Namensannahme OWL: sameAs ist die OWL-Eigenschaft, die besagt, dass zwei gegebene Individuen die gleiche Identität haben. OWL: differentFrom ist die OWL-Eigenschaft, die besagt, dass zwei benannte Individuen unterschiedliche Identitäten haben. 15

16 OWL-Ontologie Dokument
OWL-Ontologie Dokument Header XML Deklaration und RDF Start Tag <?xml version="1.0"?> <rdf:RDF > Namespacedeklarationen Ontologie-Element Informationen über die Version Importierte Elemente Body Aussagen über Klassen, Eigenschaften und Individuen Footer RDF-Endtag </rdf:RDF>

17 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Header Informationen zu Namensräumen Versionierung Annotationen Annotationen: Kein direkter Einfluss auf den Wissensgehalt der Ontologie

18 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Exemplarischer Header mit Namespace-Deklaration <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.owl-ontologies.com/travel.owl#" xml:base="http://www.owl-ontologies.com/travel.owl"> 18

19 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Exemplarischer Header mit allgemeinen Informationen zur gesamten Ontologie <owl:Ontology rdf:about=""> <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 1.0 </owl:versionInfo> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> An example ontology for tutorial purposes. </rdfs:comment> </owl:Ontology> Von RDFS geerbt: Rdfs:comment Rdfs:label Rdfs:seeAlso Rdfs:isDefinedBy Versionierung: Owl:versionInfo (üblicherweise Zeichenkette/String als Objekt) Owl:priorVersion Owl:backwardCampatibleWith Owl:incompatibleWith Owl:DeprecatedClass Owl:DeprecatedProperty Außerdem Owl:imports stellt einen Mechanismus zum Inkludieren zur Verfügung. owl:imports nimmt ein einzelnes Argument entgegen, welches durch das rdf:resource Attribut identifiziert wird. 19

20 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | Benennung <owl:Class rdf:ID="Relaxation"> Referenzierung auf diese Klasse innerhalb eines Dokuments <rdf:resource="#Relaxation“> Alternativ: <rdf:resource=“http://www.owl-ontologies.com/travel.owl#Relaxation”> Erweiterung einer importierten Klassendefinition <owl:Class rdf:about="#Relaxation"> Rdf:ID: Fügt einer Klasse eine Benennung hinzu Eine weitere Form der Referenz verwendet die Syntax rdf:about="#Region" um die Definition einer Resource zu erweitern. Sie erlaubt die Erweiterung der importierten Definition von x ohne das ursprüngliche Dokument zu modifizieren und unterstützt den inkrementellen Aufbau einer größeren Ontologie.

21 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | Referenzierung auf Klasse via ENTITY Im Header: <!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#" > ]> Referenzierung: <owl:Class rdf:about="&owl;Thing"/> Owl:Thing: allgemeinste Klasse, die alles enthält Owl:Nothing: leer 21

22 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | equivalentClass <owl:Class rdf:about="#US_President"> <equivalentClass rdf:resource="#PrincipalResidentOfWhiteHouse"/> </owl:Class> Zwei Klassen besitzen exakt dieselben Instanzen. And while the classes exist, they may have no members. For all we know at the moment, these classes might as well have been called Thing1, Thing2, and Thing3. Within this document, the Region class can now be referred to using #Region rdf:about="#Region" to extend the definition It permits the extension of the imported definition of x without modifying the original document and supports the incremental construction of a larger ontology 22

23 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | subClassOf <owl:Class rdf:ID="Relaxation"> <owl:Class rdf:ID="Sunbathing"> <rdfs:subClassOf> <owl:Class rdf:about="#Relaxation"/> </rdfs:subClassOf> </owl:Class> Sunbathing ist subClassOf Relaxation. 23

24 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | disjointWith <owl:Class rdf:about="#Relaxation"> <rdfs:subClassOf rdf:resource="#Activity"/> <owl:disjointWith rdf:resource="#Sightseeing"/> <owl:disjointWith rdf:resource="#Sports"/> </owl:Class> Relaxation ist disjunkt mit Sightseeing und Sports 24

25 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | disjointWith <owl:Class rdf:about="#Relaxation"> <rdfs:subClassOf rdf:resource="#Activity"/> <owl:disjointWith rdf:resource="#Sightseeing"/> <owl:disjointWith rdf:resource="#Sports"/> </owl:Class> Relaxation ist disjunkt mit Sightseeing und Sports 25

26 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | Inferenz <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#Fakultaetsmitglied"/> </owl:Class> <owl:Class rdf:ID="Buch"> <rdfs:subClassOf rdf:resource="#Publikation"/> <owl:Class rdf:about="#Fakultaetsmitglied"> <owl:disjointWith rdf:resource="#Publikation"/> Fakultätsmitglied ist disjunkt mit Publikation. Es folgt durch Inferenz, dass ein Professor kein Buch ist (Professor ist auch disjunkt mit Buch). 26

27 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | Inferenz <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#Fakultaetsmitglied"/> </owl:Class> <owl:Class rdf:ID=„Fakultätsmitglied"> <rdfs:subClassOf rdf:resource=„Person"/> Es folgt durch Inferenz, dass ein Professor eine Person ist. „subClassOf“ ist transitiv. Einfach ausgedrückt: Aus xRy und yRz folgt: xRz 27

28 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Individuals <Capital rdf:about="#Sydney„/> Identisch mit <owl:Thing rdf:about="#Sydney"> <rdf:type rdf:resource=„#Capital„> </rdf:type> </owl:Thing> 28

29 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Properties von Individuals <owl:DatatypeProperty rdf:about="#hasZipCode"> <rdf:type rdf:resource="&owl;FunctionalProperty"/> <rdfs:domain rdf:resource="#Contact"/> <rdfs:range rdf:resource="&xsd;int"/> </owl:DatatypeProperty> <Capital rdf:about="#Sydney"> <hasZipCode>33587</hasZipCode> <hasPart rdf:resource="#BondiBeach"/> <hasPart rdf:resource="#CurrawongBeach"/> <hasAccommodation rdf:resource="#FourSeasons"/> </Capital> 29

30 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Individuals <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#Fakultaetsmitglied"/> </owl:Class> <owl:Class rdf:ID="Fakultaetsmitglied"> <rdfs:subClassOf rdf:resource="#Person"/> Es folgt durch Inferenz, dass Professor eine Subklasse von Person ist. 30

31 XML / 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 rdf:Property Object-Properties (abstrakte Rollen): Individuals mit Individuals unterschiedlicher Klassen. Bsp.: <owl:ObjectProperty rdf:about="#hasAccommodation"> <Capital rdf:about="#Sydney"> <hasAccommodation rdf:resource="#FourSeasons"/> Datatype-Properties (konkrete Rollen): Individuals mit Datenwerten. Bsp.: <owl:DatatypeProperty rdf:about="#hasZipCode"> <hasZipCode>33587</hasZipCode> rdfs:domain Damit lassen sich Restriktionen bezüglich jener Klassen, auf welche Eigenschaften angewendet werden können, spezifizieren. (Grundmenge) rdfs:range gibt an, welchen Klassen Objekte angehören oder welche Datentypen verwendet werden müssen, damit sie als Werte für Beschreibungen mit einer bestimmten Eigenschaft verwendet werden können. (Wertebereich) rdf:type Gibt an, dass eine Ressource Mitglied einer Klasse ist. Mögliche Wertebereiche von rdf:type sind Instanzen von rdfs:Class Bsp ObjectProperty: Rdfs:range / Nur natürliche Personen können Väter sein. Bsp DatatypeProperty: Rdfs:range / Nur Werte mit dem Datentyp Integer (ganzzahlig) können ZipCodes sein. Rdfs:domain / Nur Cities können ZipCodes haben. Binäre Relationen Definition: Eine binäre Relation R Í A ×A auf A heißt reflexiv falls (a,a) Î R für jedes a Î A gilt. irreflexiv falls für kein a Î A gilt (a,a) Î R. symmetrisch falls aus (a,b) Î R immer auch (b,a) Î R folgt. antisymmetrisch falls aus (a,b), (b,a) Î R folgt a= b. transitiv falls aus (a,b) Î R und (b,c) Î R immer auch (a,c) Î R folgt. <owl:ObjectProperty rdf:ID="hasContact"> <rdfs:range rdf:resource="#Contact"/> <rdfs:domain rdf:resource="#Activity"/> </owl:ObjectProperty>

32 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Properties Einschränkung durch Domain (RDFS) Range (RDFS) 2 Unterklassen von rdf:Property: Object-Properties (abstrakte Rollen):Individuals mit Individuals unterschiedlicher Klassen Bsp.: <owl:ObjectProperty rdf:about="#hasAccommodation"> Datatype-Properties (konkrete Rollen): Individuals mit Datenwerten Bsp.: <owl:DatatypeProperty rdf:about="#hasZipCode"> 32

33 XML / 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 rdfs:Literal Alle OWL-Reasoner müssen xsd:integer und xsd:string-Datentypen unterstützten. xsd:string xsd:normalizedString xsd:boolean xsd:decimal xsd:float xsd:double xsd:integer xsd:nonNegativeInteger xsd:positiveInteger xsd:nonPositiveInteger xsd:negativeInteger xsd:long xsd:int xsd:short xsd:byte xsd:unsignedLong xsd:unsignedInt xsd:unsignedShort xsd:unsignedByte xsd:hexBinary xsd:base64Binary xsd:dateTime xsd:time xsd:date xsd:gYearMonth xsd:gYear xsd:gMonthDay xsd:gDay xsd:gMonth xsd:anyURI xsd:token xsd:language xsd:NMTOKEN xsd:Name xsd:NCName rdfs:Literal die Klasse aller String-Literale (beliebige Zeichen in doppelten Hochkommata) bezeichnet in Programmiersprachen Zeichenfolgen, die zur Darstellung der Werte von Basistypen (z. B. Ganzzahlen, Fließkommazahlen, Strings, etc.) definiert bzw. zulässig sind. OWL-Reasoner: Programme, die die OWL-Logik prüfen. Beispiele: Racer OWL FaCT Pellet KAON2 OWL 33

34 XML / 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 TransitiveProperty (if and only if) Bsp. angrenzend (adjacent) Gegenbsp. (asymmetrisch) in (locatedIn) <owl:ObjectProperty rdf:ID="adjacentRegion"> <rdf:type rdf:resource="&owl;SymmetricProperty" /> FunctionalProperty <owl:Class rdf:ID="VintageYear" /> <owl:ObjectProperty rdf:ID="hasVintageYear"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> <rdfs:domain rdf:resource="#Vintage" /> <rdfs:range rdf:resource="#VintageYear" /> </owl:ObjectProperty> Daher kann ein gegebenes Individual Vintage durch den Gebrauch der hasVintageYear-Property nur mit einem einzigen Jahr in Verbindung gebracht werden InverseOf Properties haben eine Richtung von Domain nach Range, aber manchmals brauchen wir beide Richtungen. owl:inverseOf hat eine ObjectProperty als Domain und Range. <owl:ObjectProperty rdf:ID="hasChild"> <owl:inverseOf rdf:resource="#hasParent"/> </owl:ObjectProperty> InverseFunctionalProperty (Subjekt / Objekt) hasUSSocialSecurityNumber ist FunctionalProperty und isTheSocialSecurityNumberFor ist seine InverseFunctionalProperty 34

35 XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Property Restrictions value constraints (Quantifizierer) schränkt die Range der Property ein - owl:allValuesFrom (alle) - owl:someValuesFrom (mindestens eine) - owl:hasValue (genauer Wert) cardinality constraints (Kardinalität) schränkt die Anzahl von Values ein, die eine Property haben kann. - owl:maxCardinality (obere Grenze der Anzahl) - owl:minCardinality (untere Grenze der Anzahl) - owl:Cardinality (exakte Anzahl) 35

36 XML / 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 Prozedural: verfahrensmäßig, den äußeren Ablauf einer Sache betreffend Ontology Mapping und Complex Classes folgen noch….

37 Vielen Dank für Eure Aufmerksamkeit!
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Vielen Dank für Eure Aufmerksamkeit!


Herunterladen ppt "XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick"

Ähnliche Präsentationen


Google-Anzeigen