Überblick
SPARQL ist eine mächtige Anfragesprache für RDF-Daten.
Sie können mit dieser Sprache Abfragen in useren Daten durchführen; dazu stellen wir Ihnen den
B3Kat SPARQL-Endpoint zur Verfügung.
Wir möchten Ihnen hier einige Beispiel-Queries vorstellen, wie Sie nach bestimmten Informationen suchen können.
Unsere Beispiele richten sich vor allem an User, die schon etwas technisches und bibliothekarisches Wissen mitbringen.
Um SPARQL zu lernen empfehlen wir Ihnen Tutorials wie das des Jena-Projektes:
http://jena.sourceforge.net/ARQ/Tutorial/.
Hmm... und hat jemand Vorschläge wo man ein kurzes Tutorial für bibliothekarisches Wissen findet? (z.B. Normdateien und wie man sich
die Identifier/URIs zusammensucht)
Das bleiben wir hier mal bis auf weiteres schuldig - Vorschläge sind herzlich willkommen.
Suche nach Titeln zu einer SWD/GND-Nummer
Selbstverständlich finden Sie auch bei uns Literatur zum Thema SPARQL:
SELECT * WHERE {
?titleUri <http://purl.org/dc/elements/1.1/subject> <http://d-nb.info/gnd/7693644-2>
} LIMIT 50
(Query-Ergebnis als Html anzeigen)
Hier wird nach allen Titeln im B3Kat gesucht haben, die das Thema (Schlagwort) "SPARQL" (http://d-nb.info/gnd/7693644-2) haben. So können Sie auch nach jedem anderen Schlagwort aus der Gemeinsamen Normdatei suchen.
Und hier etwas Literatur zum Thema "Schlagwortnormdatei", die diesen Recherchen zugrunde liegt:
SELECT * WHERE {
?titleUri <http://purl.org/dc/elements/1.1/subject> <http://d-nb.info/gnd/4236472-3>
} LIMIT 50
(Query-Ergebnis als Html anzeigen)
Suche nach Bibliotheken im B3Kat, die ein bestimmtes Medium besitzen
Wenn Sie eine bestimmte Katalognummer haben (die BV-Nummer mit der die Titel-URIs gebildet werden), und herausfinden möchten welche Bibliotheken diesen Titel besitzen:
SELECT ?bibUri WHERE {
<http://lod.b3kat.de/title/BV000023771> frbr:exemplar ?ExUri.
?ExUri frbr:owner ?bibUri.
} LIMIT 50
(Query-Ergebnis als Html anzeigen)
Sie können natürlich das erste und zweite Beispiel kombinieren; also alle Bibliotheken suchen, die Titel zum Thema 'SPARQL' anbieten:
SELECT ?bibUri WHERE {
?titleUri dc:subject <http://d-nb.info/gnd/7693644-2> .
?titleUri frbr:exemplar ?exemplarUri .
?exemplarUri frbr:owner ?bibUri
} LIMIT 50
(Query-Ergebnis als Html anzeigen)
Schließlich können Sie sich auch alle 'Zwischenergebnisse' anzeigen lassen; also alle gefundenen Werte für die in der Query verwendeten Variablen. Dazu fragen Sie im 'SELECT'-Teil der Query nicht nach einer bestimmten Variable, sondern nach dem Stern (*):
SELECT DISTINCT ?bibUri,?bibName WHERE {
?titleUri dc:subject <http://d-nb.info/gnd/7693644-2> .
?titleUri frbr:exemplar ?exemplarUri .
?exemplarUri frbr:owner ?bibUri
OPTIONAL {
?bibUri foaf:name ?bibName
}
} LIMIT 200
(Query-Ergebnis als Html anzeigen)
Beachten Sie bei dieser Query bitte auch, dass hier die maximale Zahl der zurückgegebenen Zeilen hochgesetzt werden muß, damit die Trefferliste nicht bei 50
Treffern abgeschnitten wird: LIMIT 200.
Das Kleingedruckte: Maximal 5000 Zeilen
Der SPARQL-Endpoint liefert maximal 5000 Zeilen zurück. Damit nicht unnötig große (und meist nicht nötige) Treffermengen zurückgegeben werden,
empfehlen wir Ihnen, das ResultSet immer mit LIMIT zu begrenzen wie in den Beispielen zu sehen.


