Post on 17-Aug-2020
Het Semantisch Webjoost.vennekens@kuleuven.be
Het web is een zootje• Personen
• Overheden
• Bedrijven
Het web is een zootje• Manueel terugvinden?
• Verwerken met automatische tools?
Mooie droom (?)
Query
Realiseren met XML?• Voordelen:
• Gestructureerd
• Zelf geen parsers meer schrijven
• Ecosysteem van tools
• Nadelen:
• Veel flexibiliteit in voorstelling
• Dus veel manueel werk nodig voor integratie
Bijvoorbeeld
In welke staat werd acteur die Sheldon speelt in The Big Bang Theory geboren?
Problemen
• Ongestructureerde data
• Behalve opmaakelementen
• Keyword search
• Elke website bestaat apart
• Behalve links
In welke staat werd de acteur die Sheldon speelt in The Big Bang Theory geboren?
Texas
Bv: trip planner
booking.com Google Maps
UiT in Vlaanderen realtime.be
TripAdvisor resto.be…
Semantisch web
Semantisch web• Uniek kunnen refereren naar ``resources’’
• Echte wereld
• Virtueel
Uniform Resource Id
• Elke URI moet verwijzen naar unieke resource
• Wie heeft recht om bepaalde URI te verzinnen?
• Herbruik URL infrastructuur http://www.cs.kuleuven.be/~joost/resource#Kaley_Cuoco
• Niet nodig (wel handig) dat URI uniek is http://dbpedia.org/resource/Kaley_Cuoco
URI
• http://www.cs.kuleuven.be/~joost/resource#Kaley_Cuoco
• http://dbpedia.org/resource/Kaley_Cuoco
Naamruimte
Naamruimte
Hash
Slash
Lokale naam
Lokale naam
Linked Data• Afspraak:
• bij verzinnen van URI, zet op de corresponderende URL informatie erover
• http://dbpedia.org/resource/Kaley_Cuoco
Semantisch web• Formaat voor info over resources
(dmv URIs)
Semantisch web• Hoe info in XML gieten?
• Gemakkelijk te combineren
RDF• Resource Description Framework
• Vaste structuur van XML
• Verzameling feiten, kunnen samengevoegd worden
FeitFeitFeit
FeitFeitFeit
+ =Feit Feit
FeitFeit
FeitFeit
Feiten• Drietal
• Onderwerp (subject)
• Relatie (predikaat)
• Voorwerp (object)
• Alledrie met URI
http://dbpedia.org/resource/Kaley_Cuoco http://dbpedia.org/property/portrayer http://dbpedia.org/resource/Penny_(The_Big_Bang_Theory)
Kaley speelt de rol van Penny
Prefix
http://dbpedia.org/resource/Kaley_Cuoco http://dbpedia.org/property/portrayer http://dbpedia.org/resource/Penny_(The_Big_Bang_Theory)
dbpedia:Kaley_Cuoco dbprop:portrayer dbpedia:Penny_(The_Big_Bang_Theory)
@prefix dbpedia: http://dbpedia.org/resource/ @prefix dbprop: http://dbpedia.org/property/
Datamodel: grafe
dbpedia:Kaley_Cuoco dbpedia:Penny_(The_Big_Bang_Theory)dbprop:portrayer
dbpedia:Kaley_Cuoco dbprop:portrayer dbpedia:Penny_(The_Big_Bang_Theory)
Drietallen ➭ grafe
dbpedia:Kaley_Cuoco dbprop:portrayer dbpedia:Penny_(The_Big_Bang_Theory)
jve:Joost_Vennekens jve:fan dbpedia:Kaley_Cuoco
dbpedia:Kaley_Cuoco dbpedia:Penny_(The_Big_Bang_Theory)dbprop:portrayer
jve:Joost_Vennekens
jve:fan
Letterlijke waardes• ~ Attribuut
• Alleen maar als voorwerp
• Eigenschap met waarde
dbpedia:Penny_(The_Big_Bang_Theory) dbpprop:nickname "Bestie"
dbpedia:Kaley_Cuoco dbpedia:Penny_(The_Big_Bang_Theory)dbprop:portrayer
dbpprop:nickname
Bestie
• Annotatie met taal
• "industriele ingenieurswetenschappen"@nl
• Annotatie met datatype
• "1985"^^<http://www.w3.org/2001/XMLSchema#integer>
• "01985"^^<http://www.w3.org/2001/XMLSchema#integer>
Letterlijke waardes
Binaire relaties
dbpedia:Kaley_Cuoco dbpedia:Penny_(The_Big_Bang_Theory)dbprop:portrayer
Penny
dbprop:name dbpedia-owl:series
dbpedia:The_Big_Bang_Theory
Acteur Serie
Personage
Speelt
Binaire relaties
dbpedia:Kaley_Cuoco dbprop:portrayer
Penny
dbprop:name dbpedia-owl:series
dbpedia:The_Big_Bang_Theory
Acteur Serie
Personage
Speelt
_:anon
Formaten
• Computer leesbaar: RDF/XML
• Mens leesbaar: N3
• En nog andere ...
@prefix dbpedia: <http://dbpedia.org/resource/>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>.
dbpedia:Howard_Wolowitz rdf:type foaf:Person. dbpedia:Howard_Wolowitz dbpprop:religion dbpedia:Judaism. dbpedia:Howard_Wolowitz dbpprop:occupation dbpedia:Aerospace_Engineer. dbpedia:Howard_Wolowitz dbpprop:nickname "Froot Loops"@en. dbpedia:Howard_Wolowitz dbpprop:nickname "Wolowizard"@en.
Afkortingen• ; voor verschillende relaties
• , voor verschillende voorwerpen
dbpedia:Howard_Wolowitz rdf:type foaf:Person; dbpprop:religion dbpedia:Judaism; dbpprop:occupation dbpedia:Aerospace_Engineer; dbpprop:nickname "Froot Loops"@en, "Wolowizard"@en.
RDF/XML
<?xml version="1.0" encoding="utf-8" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> «drietallen» </rdf:RDF>
<rdf:Description rdf:about="onderwerp"> <relatie rdf:resource="voorwerp" /> </rdf:Description>
Literal
<?xml version="1.0" encoding="utf-8" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> «drietallen» </rdf:RDF>
<rdf:Description rdf:about="onderwerp"> <relatie>string</relatie> </rdf:Description>
xml:lang rdf:datatype
<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:religion rdf:resource="http://dbpedia.org/resource/Judaism" /> </rdf:Description> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> </rdf:Description> </rdf:RDF>
Zelfde onderwerp<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:religion rdf:resource="http://dbpedia.org/resource/Judaism" /> </rdf:Description> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> </rdf:Description> </rdf:RDF>
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Simon_Helberg"> <dbpprop:portrayer> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> ... </rdf:Description> </dbpprop:portrayer> </rdf:Description> </rdf:RDF>
Simon_Helberg Howard_Wolowitzdbprop:portrayer
Aerospace_Engineerdbprop:occupation
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Simon_Helberg"> <dbpprop:portrayer> <rdf:Description rdf:about="http://dbpedia.org/resource/Howard_Wolowitz"> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> ... </rdf:Description> </dbpprop:portrayer> </rdf:Description> </rdf:RDF>
Simon_Helberg Howard_Wolowitzdbprop:portrayer
Aerospace_Engineerdbprop:occupation
Gestreepte notation
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Simon_Helberg"> <dbpprop:portrayer> <rdf:Description> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> ... </rdf:Description> </dbpprop:portrayer> </rdf:Description> </rdf:RDF>
Simon_Helberg _:anondbprop:portrayer Aerospace_Engineedbprop:occupation
Anonieme knoop (zonder naam)
<rdf:RDF xmlns:rdf="..." xmlns:foaf="..." xmlns:dbpprop="..."> <rdf:Description rdf:about="http://dbpedia.org/resource/Simon_Helberg"> <dbpprop:portrayer> <rdf:Description rdf:nodeID=”anon”> <dbpprop:occupation rdf:resource="http://dbpedia.org/resource/Aerospace_Engineer" /> ... </rdf:Description> </dbpprop:portrayer> </rdf:Description> </rdf:RDF>
Simon_Helberg _:anondbprop:portrayer Aerospace_Engineedbprop:occupation
Anonieme knoop (met lokale naam)
Serialiserenrelatie1 relatie2 relatie3
relatie4
<Description> <relatie2> <Description> <relatie4> <Description> <relatie1> <Description /> </relatie1> </Description> </relatie4> </Description> <relatie2> </Description>
<Description> <relatie3> <Description /> </relatie3> </Description>
Pad2
Pad1
Waar komt data vandaan?
4.58 million things
1,445,000 persons, 735,000 places, 411,000 creative works, …
English
Waar komt data vandaan?• Linked data: toegankelijk via URI
• http://dbpedia.org/fct/
• Browsing: http://en.lodlive.it/
• Facts
• text/html
• text/n3
• application/rdf+xml
Library of Congress
http://id.loc.gov/authorities/subjects.html
LOD Laundromat
http://lodlaundromat.org/visualizations/
• Gebruik: http://lotus.lodlaundromat.org & frank
RDFa
• In plaats van aparte RDF servers
• Integreren met HTML
• RDF in attributes
• Webbrowser negeert onbekende attributen
• (Alternatieven: Microdata, …)
<body> <h1>Welkom</h1> <p> Op de homepage van Joost Vennekens is informatie te vinden over volgende vakken:</p> <ul> <li> <a href="#XML">XML</a></li> <li> <a href="#KIS">Kennis- en informatiestructuren</a> </li> <li> <a href="#WT">Webtechnologie</a> </li> <li> <a href="#OO1">Objectgericht Programmeren 1</a></li> <li> <a href="#OO">Objectgericht Programmeren 2</a></li> <li> <a href="#PP">Parallel Programmeren</a></li> </ul> … </body>
Voorbeeld
Voorbeeld + RDF<body about=“http://www.kuleuven.be/wieiswie/nl/person/00041285”> <h1>Welkom</h1> <p> Op de homepage van <span property=“rdfs:label”>Joost Vennekens</span> is informatie te vinden over volgende vakken:</p> <ul> <li> <a href=“#XML" rel=“dbr:Teaches”>XML</a></li> <li> <a href="#KIS">Kennis- en informatiestructuren</a> </li> <li> a href="#WT">Webtechnologie</a> </li> <li> <a href="#OO1">Objectgericht Programmeren 1</a></li> <li> <a href="#OO">Objectgericht Programmeren 2</a></li> <li> <a href="#PP">Parallel Programmeren</a></li> </ul>
In het echt
• Facebook Like button (bv. hln.be)
• imdb
• amazon
SituatieN3
Turtle
XML/RDF
RDF grafe
Apache Jena
Resource
URI:String
getProperty(Property p): Statement
listProperties(Property p): Iterator‹Statement›
Property
RDFNode
Literal
type: RDFDataType
Language:StringModel
read(String filename)
*
Statement
*
subject
object
predicate
Voorbeeld: Test & Test2
object