semantic web begrippen, definities en taxonomieën logica...
TRANSCRIPT
• Semantic Web
• RDF en OWL
• Begrippen, definities en taxonomieën
• Logica als hulpstuk voor ontologie
• Protégé gebruiken
Visie
• A web of data that can be processed directly and indirectly by machines.
• The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.
• I have a dream for the Web in which computers become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. [..] The day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines.
Kritiek
• Twee formaten voor dezelfde data: voor mensen en voor machines
• Mensen zullen spurieuze informatie produceren om Semantic Web technologie om de tuin te leiden
• Semantic Web technologie faciliteert censuur en inbreuk op privacy
Ontologie
Communicatie
Gesitueerde kennis
eXtensible Markup Language: XML datastructuren
Resource Description Framework: RDF abstracte datastructuren
Web Ontology Language: OWL terminologische axioma’s of beschrijvingen (descriptions)
Semantic Web Rule Language: SWRL regels, alternatief RIF
SPARQL Protocol and RDF Query Language: SPARQL queries, alternatief SWQRL
Vertrouwen en herkomst (Trust en provenance)
RDF RDF
RDF
SPARQL
SPARQL
SPARQL
SPARQL
reasoner
reasoner
RDF
RDF RDF
RDF
SPARQL
SPARQL
SPARQL
SPARQL
reasoner
reasoner
RDF
signature
RDF RDF
RDF
SPARQL
SPARQL
SPARQL
SPARQL
reasoner
reasoner
RDF
signature
encryptie
Belastingdienst
Vendor lockin in kennismanagement
Netwerk arrangementen
Organisatieverandering en overheidsbeleid
Open standaarden
Linked open data delen
Trust en provenance: informatierechten en –plichten, belangen bij fraude, persoonsgegevens
RDF
• Bestaat uit triplets: subject predicaat object
• Een triple is een description van het subject
• Subject is altijd een resource (vgl. database key)
• Predicaat is altijd een resource, en een eigenschap (property)
• Object is een resource of een literal (data)
• Alle resources worden geïdentificeerd met een URI
• Uniform, globaal uniek, geleasde namespaces
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
• Een URI = een resource
• Twee URI’s = een of twee resources
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
• Een URI = een resource
• Twee URI’s = een of twee resources
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
Subject = resource
• Een URI = een resource
• Twee URI’s = een of twee resources
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
Subject = resource
Owl:sameAs
• Een URI = een resource
• Twee URI’s = een of twee resources
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
Subject = resource
Owl:differentFrom
• URI, bijv. http://www.belastingdienst.nl/keys/test.rdf#belastingplichtige of urn:bd:test:belastingplichtige
• In een namespace, bijv. bd:belastingplichtige in bd = “http://www.belastingdienst.nl/keys/test.rdf”
Subject = resource
Object = literal
Object = resource
Predicaat = resource
Predicaat = resource
Subject = resource
Subject Ns:Naam Ns:HeeftKind Ns:Property3
Ns:subject “Alexander Boer” Ns:object
Subject Ns:Naam Ns:HeeftKind Ns:Property3
Ns:subject “Alexander Boer” Ns:object
Ns:subject
Alexander Boer
Ns:object
Ns:naam
Ns:HeeftKind
Subject Ns:Naam Ns:HeeftKind Ns:HeeftOuder
Ns:subject “Alexander Boer” Ns:object
Ns:object Ns:subject
Ns:subject
Alexander Boer
Ns:object
Ns:naam
Ns:HeeftKind
Subject Ns:Naam Ns:HeeftKind Ns:HeeftOuder
Ns:subject “Alexander Boer” Ns:object
Ns:object Ns:subject
Ns:subject
Alexander Boer
Ns:object
Ns:naam
Ns:HeeftKind
Ns:HeeftOuder
Subject Ns:Naam Ns:HeeftKind Ns:HeeftOuder
Ns:subject “Alexander Boer” Ns:object
Ns:object Ns:subject
Ns:subject
Alexander Boer
Ns:object
Ns:naam
Ns:HeeftKind
Ns:HeeftOuder
Xs:String
Verschillen
Geen normalisatietechnieken nodig; zeer flexibele datastructuren
Optimalisatie voor afleiding van ge-impliceerde triplets
Meerdere keys voor dezelfde entiteit mag
Redeneren op basis van open world assumption
Geen integrity constraints; cellen mogen altijd leeg zijn
Semantisch…
Onderscheid tussen OWA en CWA redeneren
Als condities dan conclusie
Als condities [in de database] dan conclusie
Als [aannames houdbaar zijn] dan conclusie
Geen integrity constraints op datastructuren
als condities [in de database] dan falsum
Dit is een kwestie van evidentie, niet logica
Semantisch…
Onderscheid tussen OWA en CWA redeneren
Als condities dan conclusie
Als condities [in de database] dan conclusie
Als [aannames houdbaar zijn] dan conclusie
Geen integrity constraints op datastructuren
als condities [in de database] dan falsum
Dit is een kwestie van evidentie, niet logica
Hier is BD goed in
De periode eigen woning hoofdverblijf (begin) van een voorkomen van Spec inkomsten uit eigen woning hoofdverblijf van een IB belastingplichtige moet eerder of gelijk zijn aan de periode eigen woning hoofdverblijf (eind) van het voorkomen van zijn Spec inkomsten uit eigen woning hoofdverblijf indien het voorkomen van zijn Spec inkomsten uit eigen woning hoofdverblijf aan alle volgende voorwaarden voldoet: zijn periode eigen woning hoofdverblijf (begin) is gevuld
zijn periode eigen woning hoofdverblijf (eind) is gevuld
• RDF kan gebruikt worden voor alle data
• OWL wordt gebruikt om terminologische restricties op RDF data te leggen
• OWL wordt vaak als taal voor taxonomieën gebruikt
• Veel taxonomieën zijn echter niet ontologisch van aard (personal construct psychology: taxonomieën als beslisboom)
Dingen
Dingen die pijn doen
Vuur Lava Shampoo
Dingen die iedereen
lekker vindt
Snoep
Lastig
Een taxonomie is geen beslisboom
Alleen stricte subsumptie en logische monotonie
Ontologische stratificatie wordt niet gefaciliteerd
Een taxonomie is geen beslisboom:
Gesubsumeerd door meerdere concepten?
Sluiten subconcepten elkaar uit?
Partitioneren subconcepten het superconcept?
Restconcepten (niet-concepten) en differentiatie
Stricte subsumptie: een auto kan niet meestal een motorvoertuig zijn
Monotonie: terminologische kennis blijft altijd waar, in de tijd en in alle contexten van gebruik
Dus isoleerbaar en kopieerbaar
Ontologische stratificatie: een rijbaan kan niet een lijn, een vlak en een volume zijn
OWL
Resources zijn individuën, begrippen, of eigenschappen
Beschrijvingen zijn terminologische axioma’s: – A subClassOf B betekent dat A een voldoende
voorwaarde is om B te concluderen, en B een noodzakelijke voorwaarde om A te concluderen
– A equivalentTo B is A subClassOf B en vice versa
– A disjointWith B betekent dat niet A een noodzakelijke voorwaarde is om B te concluderen, en niet B een noodzakelijke voorwaarde om A te concluderen
• Ieder terminologisch axioma verbindt twee begrippen
• Een begrip hoeft niet aan een enkele term/naam gekoppeld te zijn
• We hoeven niet van alle beschrijvingen te weten of ze waar zijn om tot beslissingen te komen
• i = j betekent dat i en j keys voor dezelfde entiteit zijn
Syntax
XML/RDF
OWL/XML
Functional syntax
Manchester syntax
Turtle/n3/ntriples
DLML logica
Plan
Execute
Monitor
Diagnose
Model
Design
Implement
Monitor
Diagnose
Model
Wat doe je ermee?
• Classificeren: naarmate meer bekend wordt van een resource, zal deze omlaag schuiven in de taxonomie
• Subsumeren: de reasoner zal zelf een taxonomie aanleggen op basis van de beschrijvingen van begrippen
• Uitvragen van de RDF store met queries, en dan begint het werk pas echt (redeneren, handelen, monitoren, diagnose, …)
Logica’s
RDF schema
OWL Lite
DL
Full
OWL2 EL
QL
RL
Tableau calculus
OWL versus regels
• SWRL, RIF
• Met regels meer controle op toepassing van de regel
• Vrijere variabele-binding (???)
• Evt. CWA, Negation as failure, non-standaard manieren van redeneren
Bottom line
• Het abstracte datamodel van RDF is veel belangrijker dan concrete datastructuren
• De operationele semantiek van OWL in al zijn dialecten is moeilijk te doorgronden voor niet-experts
• Goed, gestructureerd modelleren blijft een probleem van de gebruiker: de taal geeft nauwelijks nuttige clues
Protégé gebruiken
Eerst Graphviz installeren
Versie 4.1
Het reasoner menu
Syntax in de applicatie is niet officieel! Jawel, nog een syntax…
Ontologiebestand maken
Kies XML/RDF syntax
Kies een URI voor het bestand
Let op: Protégé is niet erg gebruiksvriendelijk en stabiel
Focus…
Protégé is niet tekstgeörienteerd
De Pizza tutorial
http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/
Of “pizza tutorial owl” in een zoekmachine
De handleiding is een goede intro in de taal en de applicatie
Geen voorbeeld van een goede taxonomie!
De opdracht
• Motorrijtuigenbelasting
• Een complete taxonomie, met disjointness, partitie, en restricties op eigenschappen
• Keuzes voor ontologische stratificatie
• Hoe ga je om met uitzonderingen?
• Welk stukje tekst wordt gemodelleerd?
• Wordt alle tekst gemodelleerd?
• We werken dit later uit…