2016-07-04 27 views
3

Ich lese meine Explorationen von RDF-Daten durch Ausführung von SPARQL-Abfragen in einem Jupyter-Notebook (Web-basierte REPL-Umgebung).Kann eine SPARQL-Abfrage eine Reihe von PREFIX-Definitionen (Namespace-Bindungen) importieren oder wiederverwenden?

Sehr oft erstelle ich eine Abfrage, indem ich die vorherige Abfrage zum Optimieren kopiert habe. Das Notizbuch füllt sich mit SPARQL-Abfragen, die alle mit denselben acht PREFIX-Definitionen beginnen (z. B. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>).

Ich halte die PREFIX-Liste kurz, um Unordnung zu reduzieren, aber das bedeutet, dass ich häufig Fenster wechseln muss, um ein anderes Präfix zu suchen, das hinzugefügt werden muss (z. B. PREFIX eurovoc: ...).

Gibt es eine Möglichkeit, PREFIX-Definitionen in einer Datei zu speichern und diese Definitionen dann einfach in eine Abfrage zu importieren?

Alternativ, da ich derzeit die Abfragen in Jupyter Notebook mit dem Apache JENA Befehlszeilenprogramm arq ausführen, würde ich mich für jedes Befehlszeilenprogramm freuen, das eine SPARQL-Abfrage in mehrere Dateien oder andere aufgeteilt werden kann solche Problemumgehungen.

Ich suchte nach einer Antwort auf die Frage auf stackoverflow.com und im Internet durch Ausprobieren viele Wörter mit den Worten SPARQL, PREFIX, Deklaration, Definition, Redundanz, Import, Wiederverwendung, Wiederverwendung, Namespace, Bindung, separate Datei und multiple, die ich hier vervielfältige, um diese Frage leichter für andere auffindbar zu machen, die vielleicht die gleiche Frage stellen.

+0

Nicht für arq - obwohl es nur eine Frage der Präfixe mit der Abfrage verketten und die Ausgabe an den sparql Befehl in welchem ​​O oder Umgebung Fütterung Sie sind – AndyS

+1

Die folgenden Werke: '%% Skript bash QUERY = $ (cat prefixes.sparql query.sparql) arq --data agro.n3 "$ query" ' (wobei' %% Skript bash' sagt, dass alles, was in der Jupyter Notebook Zelle folgt durch 'interpretiert Bash'). Nicht schön, und ich müsste die Abfragen separat in das Notebook einfügen, aber machbar. Vielen Dank! –

Antwort

0

Ich bin gerade auf diese Frage gestoßen, auf der Suche nach etwas Ähnlichem. AFAIK, SPARQL hat keine Import-Direktive, aber es gibt Tools wie rdf.sh, die alle Präfixe betrachten können, die Sie in einer Datei verwenden und die erforderlichen Definitionen erstellen (sie basieren normalerweise auf prefix.cc).

Außerdem habe ich Endpunkte (z. B. Fuseki) gesehen, die vordefinierte Präfixdefinitionen haben und Ihre SPARQL automatisch vervollständigen, aber wenn Sie sich darauf verlassen, werden Abfragen weniger portabel. .