Veröffentlicht am :

Lokaler SPARQL-Integrationstest mit SAS-SPARQLwrapper

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Konfiguration der Log-Optionen für Makros und beinhaltet die Definition der Makros aus 'sparqlquery.sas©'. Anschließend wird das Makro `%sparqlupdate` verwendet, um eine Menge von sieben Buchtiteln in ein spezifisches SPARQL-Graph (`http://example/bookStore`) auf einem lokalen Server (`localhost:8890`) einzufügen. Nach der Insertion wird das Makro `%sparqlquery` aufgerufen, um eine `SELECT *`-Abfrage auszuführen und alle zuvor hinzugefügten Titel abzurufen. Die Ergebnisse dieser Abfrage werden in einer SAS©-Tabelle namens 'query' gespeichert. Schließlich wird `PROC PRINT` verwendet, um den Inhalt dieser 'query'-Tabelle anzuzeigen, um zu überprüfen, ob die Dateninsertion und -abfrage erfolgreich waren.
Datenanalyse

Type : EXTERNE


Die Daten werden direkt in einem externen SPARQL-Endpunkt verwaltet, der über `http://localhost:8890/sparql/` zugänglich ist. Das Skript 'erstellt' diese Daten über eine `INSERT DATA` SPARQL-Anweisung und ruft sie über eine `SELECT *` SPARQL-Anweisung ab. Obwohl das Skript die Datenerstellung initiiert, liegen diese in einer Drittanbieterdatenbank, was sie aus Sicht von SAS zu einer externen Quelle macht.

1 Codeblock
Konfiguration und Makro-Inklusion
Erklärung :
Dieser Block konfiguriert die SAS-Optionen, um die Log-Ausgaben der Makroausführungen (`mprint`, `mlogic`) anzuzeigen, und bindet die Datei 'sparqlquery.sas' ein, die die Definitionen der Makros `%sparqlupdate` und `%sparqlquery` enthält, die für die Interaktion mit einem SPARQL-Endpunkt erforderlich sind.
Kopiert!
1options mprint mlogic nocenter;
2%include "sparqlquery.sas";
3 
2 Codeblock
Makro %sparqlupdate Data
Erklärung :
Aufruf des Makros `%sparqlupdate`, um eine SPARQL `INSERT DATA`-Anweisung an den angegebenen Endpunkt zu senden. Diese Anweisung fügt sieben Triplets (die Bücher mit ihren Titeln repräsentieren) in das `<http://example/bookStore>`-Graph der SPARQL-Datenbank ein. Der Parameter `debug=Y` aktiviert die detaillierte Protokollierung der Ausführung.
Kopiert!
1%sparqlupdate(
2endpoint=http://localhost:8890/sparql/update,
3update=%str(
4PREFIX dc: 1.1/>
5INSERT DATA
6{
7GRAPH {
8 dc:title "A new book 1" .
9 dc:title "A new book 2" .
10 dc:title "A new book 3" .
11 dc:title "A new book 4" .
12 dc:title "A new book 5" .
13 dc:title "A new book 6" .
14 dc:title "A new book 7" .
15}
16}
17),
18resultdsn=updateresult,
19debug=Y
20);
3 Codeblock
Makro %sparqlquery
Erklärung :
Ausführung einer SPARQL `SELECT *`-Abfrage über das Makro `%sparqlquery`. Diese Abfrage zielt darauf ab, alle Subjekte (`?s`) und ihre Titel (`?o`) aus dem Graphen abzurufen, die den zuvor eingefügten Daten entsprechen. Die Ergebnisse werden in der SAS-Tabelle `query` für die spätere Verwendung in SAS gespeichert.
Kopiert!
1%sparqlquery(
2endpoint=http://localhost:8890/sparql/query,
3query=%str(
4PREFIX dc: 1.1/>
5SELECT *
6{
7 ?s dc:title ?o .
8}
9 ),
10querymethod=queryGET,
11resultdsn=query,
12sparqlquerysxlemap=%str(sparqlquery-sxlemap.map),
13debug=Y
14);
4 Codeblock
PROC PRINT
Erklärung :
Die Prozedur `PROC PRINT` wird verwendet, um den Inhalt der SAS-Tabelle `query` anzuzeigen. Dies ermöglicht die Visualisierung der Ergebnisse der SPARQL-Abfrage und die Bestätigung, dass die Daten korrekt vom externen Endpunkt abgerufen wurden.
Kopiert!
1PROC PRINT DATA=query width=min;
2RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Program : example-localhost-virtuoso-01.sas Purpose : Basic test of SAS-SPARQLwrapper using a query and local server