Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
24. november 2018 SPARQL
2
Sparql Protocol And RDF Query Language
Basert på RDF-tripler: subjekt – predikat – objekt Kim – liker – blåbær < < "Bob Dylan" . Wikidata URI (Person) rdfs:label Navn
3
nobel:WinnerLiterature
schema:CreativeWork Wikidata URI (Dokument type) schema:additionalType nobel:WinnerLiterature rdfs:type Wikidata URI (Bok) schema:datePublished Publiseringsår rdfs:label Wikidata URI (Nasjon) Navn nasjon rdfs:type dct:title schema:nationality dct:creator Tittel rdfs:label Wikidata URI (Kjønn: "mann") "Male" schema:gender Wikidata URI (Person) dct:date År for pris schema:gender rdfs:label Wikidata URI (Kjønn: "kvinne") rdfs:label "Female" Navn schema:birthDate owl:sameAs schema:deathDate År født VIAF URI År død
4
URI – Uniform Resource Identifier
I SPARQL-syntaks må URIer stå i vinkelklammer (<>) < < "Bob Dylan" . < < < .
5
Navnerom - prefixer prefix rdfs: < prefix owl: < < rdfs:label "Bob Dylan " . < owl:sameAs < . < < "Bob Dylan" . < < < .
6
Typer/klasser – noe er en type ting
prefix rdfs: < prefix owl: < prefix wikidata: < prefix nobel: < <wikidata:Q392> rdfs:label "Bob Dylan " . <wikidata:Q392> owl:sameAs < . <wikidata:Q392> a nobel:WinnerLiterature . ("a" forstolkes som rdf:type) < < "Bob Dylan" . < < < . < < <
7
Forenklinger med Turtle syntaks
prefix rdfs: < prefix owl: < prefix wikidata: < prefix nobel: < <wikidata:Q392> rdfs:label "Bob Dylan " . <wikidata:Q392> owl:sameAs < . <wikidata:Q392> a nobel:WinnerLiterature . <wikidata:Q392> rdfs:label "Bob Dylan " ; owl:sameAs < ; a nobel:WinnerLiterature .
8
SPARQL SELECT [det vi vil vite] WHERE { [det vi vet] . }
[det vi vil vite] uttrykkes som variabler vi ønsker i retur [det vi vet] uttrykkes som tripler Variabler markeres med ? List alle subjekter i alle tripler (subjekt := ?s, predikat := ?p, objekt := ?o): SELECT ?s WHERE { ?s ?p ?o . }
9
BNB: https://data.bl.uk/lodbnb/bnb1.html
BNB:
10
List URIene til alle nobelprisvinnere i litteratur:
prefix nobel: < SELECT ?prisvinnerURI WHERE { ?prisvinnerURI a nobel:WinnerLiterature . } [det vi vil vite] [det vi vet]
11
prefix schema: <http://schema.org/> SELECT ?s WHERE {
Hva får vi nå? prefix schema: < SELECT ?s WHERE { ?s schema:nationality ?o . } Løsning: SELECT DISTINCT ?s WHERE {
12
Finn Wikidata URIen til Sigrid Undset: SELECT * WHERE {
?s rdfs:label "Sigrid Undset" . }
13
Hvor gammel ble Sigrid Undset? (Differensen mellom ?født og ?død):
prefix wikidata: < prefix schema: < SELECT ?født ?død WHERE { wikidata:Q80889 schema:birthDate ?født ; schema:deathDate ?død . }
14
Hvilket land kommer Sigrid Undset fra?:
prefix wikidata: < prefix schema: < SELECT ?land WHERE { wikidata:Q80889 schema:nationality ?landURI . ?landURI rdfs:label ?land . }
15
Hvor mange bøker av Undset er beskrevet i denne samlingen?:
prefix wikidata: < prefix dct: < SELECT (count(?bok) AS ?antall) WHERE { ?bok dct:creator wikidata:Q }
16
Fra hvor mange ulike land kommer vinnerne av prisen?:
prefix wikidata: < prefix dct: < SELECT (COUNT(?o) AS ?antall) WHERE { ?s schema:nationality ?o . } Løsning: SELECT (COUNT(DISTINCT ?o) AS ?antall) WHERE {
17
Hvor mange nobelprisvinnere kommer fra hvilke land?:
prefix schema: < prefix nobel: < SELECT ?nasjon_navn (COUNT(?prisvinner) AS ?antall) WHERE { ?prisvinner a nobel:WinnerLiterature ; schema:nationality ?nasjon . ?nasjon rdfs:label ?nasjon_navn .} GROUP BY ?nasjon_navn ORDER BY DESC(?antall)
18
Hvem er de norsk forfatterne som har vunnet prisen?:
prefix schema: < prefix nobel: < SELECT ?navn WHERE { ?prisvinner a nobel:WinnerLiterature ; rdfs:label ?navn ; schema:nationality ?nasjon . ?nasjon rdfs:label "Norway" .}
19
Når ble de ulike prisvinnerene født og når døde de (eventuelt)?:
prefix schema: < prefix nobel: < SELECT ?navn ?født ?død WHERE { ?prisvinner a nobel:WinnerLiterature ; rdfs:label ?navn ; schema:birthDate ?født ; schema:deathDate ?død.} Løsning for å få med alle: schema:birthDate ?født . OPTIONAL {?prisvinner schema:deathDate ?død .}}
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.