Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013

Post on 18-Dec-2014

356 views 2 download

description

 

Transcript of Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013

Protégé-OWL workshopEen tool voor het Semantic Web

Lloyd RutledgeTouW-dag juni 2013

OU-INF Semantic Web activiteiten

• T64311 cursus Semantic Web– Bachelors vrije ruimte en Certified Professional Course

– Onderzoek betreft tools ervoor

• Afstudeer Bachelors Informatica (ABI)– 2010: Semantic Friendly Forms wiki extension

– 2013-09 (?): MDD Protégé-OWL datamodel- en stijleditor

– 2013-09 (?): Agile Semantic Wiki

• Capita Selecta Thema (2009)– Semantic Web op wiki’s als opdrachten

• Master afstudeer onderzoek: 7 studenten

• Facultair onderzoek– Genereer semantic wiki van datamodel en stijl specificaties

– Process management via semantic wiki’s

Semantic web in een notendop

• Triples

– Subject – (predicate) –> object

– Elke heeft URI (soms is object data)

• Inferencing

– X36 – (sofi#) -> 123

– Sofi# - (rdfs:domain) -> mens

– Dus: X36 – (rdf:type) -> mens

• Open World Assumption

– Je hebt alleen een deel van de feiten

Semantic Web eenheid: de triple

v ra:cre ato rr ijks:arte factSK-C-5 u lan :500011051

De Nachtw ach t Remb ran dtis gesch ilderd door

Semantic Web netwerk

r ijks:arte factSK-C-5

u lan :500011051

Remb ran dt

tg n :7006809

v ra:mate r ia l aat:300015050

v ra:re latio n.de p icts

n ach twach t.jp g

v ra:title "De Nach twacht"

u lan :b irth p lace

v ra:cre ato r

u lan :stud e nt_o fu lan :500032894

rd f:typ eu lan :Pe rso n

ATT, ULAN en TGN namespaces van http://e-culture.multimedian.nl

Linked Data Cloud

Structuur van workshop, & Semantic Web

Begrip Format/Taal Functionaliteit / Protégé-OWL

Data RDF (Resource Description Format)

• Namespaces & URI’s• Export (in teksteditor)

Query’s SPARQL• SPARQL query tab• Fuseki (endpoint)

Data-modelering

RDFS(RDF Schema)

• Labels, comments• Domain, range• Subclass/property

Propertyproperties

RDFS-plus• Inverse/symmetric/transitive• Equivalent resource/class/property• Functional/key

RestrictionsOWL(Web Ontology Language)

• Cardinaliteit• Value-based• Union, intersection, complement

Rules SWRL (Semantic Web Rule Language)

• Horn clauses

RDF voor data

• Protégé-OWL saves as RDF

• RDF kan zijn:– XML-normalization van RDF

– Turtle: korter dan XML, ook meer leesbaar

• IRI’s (URI’s)

– Componenten: domain, namespace, prefix, name

– Wordt web woordenschat dus kies elke voorzichtig

• SPARQL query language

– Een manier (naast Protégé) om RDF data terug te zien

Pagina 8

Algemeen voorbeeld van Protégé-OWL

Protégé ontology at startup

Pagina 10

Save as ... TurtleSave as ...

Turtle code

Pagina 12

Volle URI

Namespace & prefix

Name

Ontology IRI: set

Pagina 13

1

2

Ontology IRI: RDF

Pagina 14

Opdracht: maak jezelf

• Je bent een “individual” – dus naar de Individuals tab

• In Protégé moet alle individuals en class hebben

– In OWL is owl:Thing de superclass van alle individuals.

• Kijk naar je naam in de veld en je IRI eronder

Pagina 15

Individual: set

Pagina 16

1

2

3

4

Individual: weergave

Pagina 17

Render by qualified name: set

Pagina 19

1) Pulldown de "File" menu helemaal boven en rechts

2) Kies "Preferences" (net voor de laatste)3) Kies de "Renderer" tab 4) "Entity rendering" is "Render by name (rdf:id)"5) Vervang met "Render by qualified name"6) Klik "OK"

Render by qualified name: in weergave

Pagina 20

Ontology prefix: set

Pagina 21

Ontology prefix: weergave

Pagina 22

Ontology prefix: RDF

Pagina 23

http://media.liveauctiongroup.net/i/5736/8632582_2.jpg

The Trouble with Triples: Scaling

http://media.liveauctiongroup.net/i/5736/8632582_2.jpg

The Trouble with Triples: Scaling

• Veel beweerde triples• Van veel bronnen

– Zie Linked Data Cloud chart

• Veel afgeleide triples– Welke soort inferencing heb je gebruikt?

• Hoe traag is je ... ?– Protégé-OWL upload?– Querying?– Inferencing?

• Hot tool requirement en onderzoek onderwerp

RDFS voor datamodeleren

• Labels en comments– Niet verwerkt door de machines

– Vergelijkbaar met comments in programmacode

– Ook nuttig voor gebruikersinterface

• Domain en range– Herkenbaar van database modeleren (maar anders)

– Inferencing!

• Subclass en subproperty

Pagina 28

Opdracht: beschrijf jezelf

• Je bent meer dan een IRI

• Geef jezelf een naam voor mensen te lezen

– Dus niet voor machines

– rdfs:label

• Geef jezelf een beschrijving voor mensen

– rdfs:comment

– Comments kunnen in verschillende talen zijn, natuurlijk

Pagina 29

Extrapolation

Pagina 32htt

p:/

/ww

w.z

azz

le.n

l/ext

rap

ole

er_

dit_

t_sh

irts-

23

56

79

02

51

57

79

79

34

Opdracht: je bent geen Thing maar een ...

• Persoon?

• Student?

• Allebei?

• (Nog) iets anders?

Class3

1

2

4

Subclass add3

1

2

4

Protégé inferencing tips

• 1: Kies reasoner?

• 2: Start reasoner?

• 3: Show inferences?

• 4: Synchronize reasoner?

• 5: Kies “None” reasoner dan opnieuw

– Voor mij soms nodig met Pellet

• 6: Protégé uit dan opnieuw

– Voor mij nooit zover

• 7: Explain inference: voor foute afleidingen

Object vs. data properties

• Wanneer data property?

– Als waarde een duidelijke datatype heeft

– Als waarde voor mens ogen is bedoeld

• en niet machine triples

– Voorbeeld: publicatie titel

• Wanneer object property?

– Als “waarde” geannoteerd zouden kunnen

– Voorbeeld: auteur

• Niet erg om veel objecten te hebben

URI inferred

Dezelfde URI als asserted (?)

Inference export RDF

Pagina 48

Object Property add3

1

2

4

Object Property annotate

3

1

2

4

RDFS-plus voor property properties

• Property directionality: en bijhorende inferencing– owl:SymmetricProperty, owl:inverseOf ,

owl:TransitiveProperty

• Equivalency– owl:sameAs , owl:equivalentClass ,

owl:equivalentProperty

• Functional/key

Pagina 52

FOAF Equivalent Class

Pagina 54

Gevorderde OWL voor restrictions

• Cardinaliteit– Hoeveel aparte objecten voor één property

leden van een class hebben

• Value-based– Class lidmaatschap als property waard

• Union, intersection, complement– Set theory

Pagina 55

Cardinality Cat

Pagina 56htt

p:/

/me

me

ge

ne

rato

r.n

et/

inst

an

ce/3

37

09

34

9

Opdracht: elke cursus heeft één examinator

• Vragen– Staat het begrip “cursus” in je ontologie?

– Hoe doe je “heeft examinator”

– Wie zijn de examinators?

– Hoe do je één?

• Theorie– Een restriction bepaalt een class

– Maak cursus een subclass van ...

– Bepaal de class van dingen met één examinator

Restruction in Turtle

Pagina 59

http://www.youtube.com/watch?v=wlMegqgGORY 1:13

Logical inconsistency

http://www.youtube.com/watch?v=wlMegqgGORY 1:13

Logical inconsistency

• Niet scaling – kan met zeer weinig triples• Na RDFS-plus wordt inconsistency mogelijk(er)

– Advies van sommigen: beperk je tot RDFS-plus– Of wees er heel voorzichtig mee

• Systeemgedrag niet gegarandeerd voorspelbaar– Protégé-OWL geeft soms waarschuwing– Hoeft geen showstopper te zijn– Soms erg– Kan tonen in de onwaarschijnlijkste plekken

• Openheid maakt het lastiger

SWRL voor regels

• Horn Clauses

Pagina 67