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
Save as ... TurtleSave as ...
Turtle code
Pagina 12
Volle URI
Namespace & prefix
Name
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
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
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
Subclass infer
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
Export inferred
Select axioms
Include asserted
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
Object Property annotate
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
Cardinatiteit
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
Disjoint conflict
Disjoint reasoner
Disjoint conflict bericht
Cardinatiteit
Rule inference
Meer informatie
• http://is.cs.ou.nl/OWF/index.php5/TouW-dag_juni_2013_workshop
• http://is.cs.ou.nl/OWF/
• http://protege.stanford.edu/plugins/owl/download.html
• http://ebiquity.umbc.edu/resource/html/id/97/
– (Semantic Web Reference Card)
• http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_3.pdf
• http://www.ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness-abstract.html
Pagina 74