27
Krzysztof Juszczyszyn [email protected] www.ii.pwr.wroc.pl/~juszczyszyn Inteligent ne Systemy Informacyj ne

Krzysztof Juszczyszyn [email protected] ii.pwr.wroc.pl/~juszczyszyn

  • Upload
    dudley

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

Inteligentne Systemy Informacyjne. Krzysztof Juszczyszyn [email protected] www.ii.pwr.wroc.pl/~juszczyszyn. OWL i ontologie. Por. World Wide Web Consortium (www.w3c.org). Semantic Web – architektura. OWL. Ontology Web Language = OWL - PowerPoint PPT Presentation

Citation preview

Page 1: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

Krzysztof [email protected]/~juszczyszyn

Inteligentne Systemy

Informacyjne

Page 2: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL i ontologie

Por. World Wide Web Consortium (www.w3c.org)

Page 3: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

Semantic Web – architektura

Page 4: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Ontology Web Language = OWLOntologia: w sztucznej inteligencji (def.) – jawna, formalna specyfikacja konceptualizacji wybranej domeny. Dział SI poświęcony nie „jak?” ale „co?”...a potocznie: (poszerzony) słownik, zawierający koncepty (klasy), relacje między nimi, ich instancje, aksjomaty logiczne oraz reguły wnioskowania. Opisy zasobów, usług, podmiotów zdefiniowane w OWL i możliwe do przetwarzania przez autonomicznie działające oprogramowanie.

Page 5: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Projekt nr SPORZL-2.3A-2-12-030/0047, współfinansowany ze środków Europejskiego Funduszu Społecznego Unii Europejskiej

Web Ontology Language = OWLOntologia: w sztucznej inteligencji (def.) – jawna, formalna specyfikacja konceptualizacji wybranej domeny. ...a potocznie: (poszerzony) słownik, zawierający koncepty (klasy), relacje między nimi, ich instancje, aksjomaty logiczne oraz reguły wnioskowania. Wszystko zdefiniowane w OWL i możliwe do przetwarzania przez autonomicznie działające oprogramowanie.

... jawna, formalna specyfikacja konceptualizacji wybranej domeny.

Page 6: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Przy projektowaniu ontologii wykorzystywane są metody kategoryzacji i hierarchizacji. Pewnym pojęciom abstrakcyjnym i grupom obiektów posiadającym wspólne cechy przyporządkowywane są nazwy, tworzone są więc klasy obiektów (kategoryzacja). Tak utworzone klasy są następnie umieszczane w strukturze hierarchicznej.

• Przy tworzeniu ontologii można użyć różnych języków modelowania. Najczęściej wykorzystywany jest RDF/RDFS lub bardziej wyrafinowane języki wykorzystujące tą technologię np. OWL.

Page 7: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Podstawową jednostką języka OWL jest klasa wraz z jej właściwościami.

• Może zawierać: instancje klas, instancje właściwości, właściwości danych, właściwości atrybutów.

• Na podstawie danych zapisanych w języku OWL tworzy się bazę wiedzy, z której można następnie dodatkowo wywnioskować fakty pochodne.

Page 8: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• W OWL opisujemy rzeczywistośd za pomocą kategorii

Mary is female

• lub opisu relacji między obiektami

John and Mary as married

• Składniki tych wypowiedzi nazywamy encjami:

objects (oznaczamy jako „individuals”) np.: John, Mary

categories (oznaczamy jako „classes”) np.: female

relations (oznaczamy jako „properties”) np.: married

Page 9: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Główną cechą OWL jest to, że nazwy encji mogą być łączone w wyrażenia za pomocą tzw. konstruktorów.

• Przykładem mogą być klasy „female” i „professor” mogą zostać połączone w celu opisania klasy kobiet-profesorów.

• W OWL, konstruktory dla każdego typu jednostki znacznie się różnią.

• Język wyrażeń dla klas jest bardzo bogaty i wyrafinowany w przeciwieństwie do języka wyrażeń dla właściwości.

• Różnice te wynikają zarówno z przyczyn historycznych, jak również przyczyn technicznych.

Page 10: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Zaczynamy od wprowadzenia klas, o których mówimy. Można to zrobić w następujący sposób:

<ClassAssertion>

<Class IRI="Person"/>

<NamedIndividual IRI="Mary"/>

</ClassAssertion>

IRI = Internationalized Resource Identifier

Page 11: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Tworzenie hierarchii klas:

<SubClassOf> <Class IRI="Woman"/> <Class IRI="Person"/> </ SubClassOf>

Page 12: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• klasa Osoba jest równoznaczna klasie Human.

<EquivalentClasses>

<Class IRI="Person"/>

<Class IRI="Human"/>

</EquivalentClasses>

Stwierdzenie, że klasy Osoba i Człowiek są równoznaczne oznacza to samo, co stwierdzenie, że Osoba jest podklasą klasy Człowiek, a Człowiek jest podklasą klasy Osoba.

Page 13: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Informacja, że dwie klasy są rozłączne

<DisjointClasses>

<Class IRI="Woman"/>

<Class IRI="Man"/>

</DisjointClasses>

<owl:Class rdf:about="associateProfessor">

<owl:disjointWith rdf:resource="#professor"/>

<owl:disjointWith rdf:resource="#assistantProfessor"/>

</owl:Class>

Page 14: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

• Ontologia może również służyć do specyfikacji jak poszczególne osoby odnoszą się do innych osób ( relacje)

<ObjectPropertyAssertion>

<ObjectProperty IRI="hasWife"/>

<NamedIndividual IRI="John"/>

<NamedIndividual IRI="Mary"/>

</ObjectPropertyAssertion>

<NegativeObjectPropertyAssertion> <ObjectProperty IRI="hasWife"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Mary"/> </NegativeObjectPropertyAssertion>

Page 15: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Rozróżnianie obiektów:

<DifferentIndividuals>

<NamedIndividual IRI="John"/>

<NamedIndividual IRI="Bill"/>

</DifferentIndividuals>

<SameIndividual>

<NamedIndividual IRI="James"/>

<NamedIndividual IRI="Jim"/>

</SameIndividual>

Page 16: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Przykład właściwości typów danych. Stwierdza on, że John ma 51 lat.

<DataPropertyAssertion>

<DataProperty IRI="hasAge"/>

<NamedIndividual IRI="John"/>

<Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">

51

</Literal>

</DataPropertyAssertion>

Page 17: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Dziedzina i zakres mogą być również ustalane dla właściwości typów danych tak jak ma to miejsce dla właściwości obiektów. W tym przypadku jednak, zakres będzie typem danych zamiast klasą.

<DataPropertyDomain>

<DataProperty IRI="hasAge"/>

<Class IRI="Person"/>

</DataPropertyDomain>

<DataPropertyRange>

<DataProperty IRI="hasAge"/>

<Datatype IRI="http://www.w3.org/2001/XMLSchema#nonNe gativeInteger"/>

</DataPropertyRange>

Page 18: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Zastrzeżenia zakresu relacji:

<owl:Class rdf:about="#firstYearCourse">

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#isTaughtBy"/>

<owl:allValuesFrom rdf:resource="#Professor"/> //someValues, hasValue

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

Page 19: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Własności kardynalne:

<owl:Class rdf:about="#course">

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#isTaughtBy"/>

<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">

1

</owl:minCardinality>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

Page 20: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Unia klas:

<owl:Class rdf:ID="peopleAtUni">

<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#staffMember"/>

<owl:Class rdf:about="#student"/>

</owl:unionOf>

</owl:Class>

Page 21: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Przecięcie klas (+ anonimowa definicja klasy):

<owl:Class rdf:ID="facultyCS">

<owl:intersectionOf rdf:parseType="owl:collection">

<owl:Class rdf:about="#faculty"/>

<Restriction>

<owl:onProperty rdf:resource="#belongsTo"/>

<owl:hasValue rdf:resource="#CSDepartment"/>

</Restriction>

</owl:intersectionOf>

</owl:Class>

Page 22: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Klasa jako tryb wyliczeniowy:

<owl:oneOf rdf:parseType="Collection">

<owl:Thing rdf:about="#Monday"/>

<owl:Thing rdf:about="#Tuesday"/>

<owl:Thing rdf:about="#Wednesday"/>

<owl:Thing rdf:about="#Thursday"/>

<owl:Thing rdf:about="#Friday"/>

<owl:Thing rdf:about="#Saturday"/>

<owl:Thing rdf:about="#Sunday"/>

</owl:oneOf>

Page 23: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL

Ontologia jako graf / zbiór częściowo uporządkowany:

Page 24: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL-S

Page 25: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL-S

Page 26: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL-S

Page 27: Krzysztof Juszczyszyn krzysztof@pwr.wroc.pl ii.pwr.wroc.pl/~juszczyszyn

OWL-S